JP2001193544A - エンジンの燃料性状判別方法及び燃料噴射制御方法 - Google Patents
エンジンの燃料性状判別方法及び燃料噴射制御方法Info
- Publication number
- JP2001193544A JP2001193544A JP2000309298A JP2000309298A JP2001193544A JP 2001193544 A JP2001193544 A JP 2001193544A JP 2000309298 A JP2000309298 A JP 2000309298A JP 2000309298 A JP2000309298 A JP 2000309298A JP 2001193544 A JP2001193544 A JP 2001193544A
- Authority
- JP
- Japan
- Prior art keywords
- fuel
- amount
- air
- engine
- fuel injection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
(57)【要約】
【課題】エンジンの燃料性状を判別する。
【解決手段】実走行における、単調増加するある燃料噴
射量GFの応答に対して、この基準モデルを活用して、
基準気筒流入燃料量GFEBの応答を計算する。同時
に、排気空燃比の計測値AFと気筒流入空気量推定値Q
APから実際の気筒流入燃料量の応答GFEMを計算す
る。GFEB、GFEMの2変数の差分(GFEM−G
FEB)の時間積分が正か負のどちらの値を取るかで、
どちらの応答が速いかを判別する。もし、実際の気筒流
入燃料量の応答の方が速ければ使用中の燃料を軽質、実
際の気筒流入燃料量の応答が遅ければ重質と判別する。
射量GFの応答に対して、この基準モデルを活用して、
基準気筒流入燃料量GFEBの応答を計算する。同時
に、排気空燃比の計測値AFと気筒流入空気量推定値Q
APから実際の気筒流入燃料量の応答GFEMを計算す
る。GFEB、GFEMの2変数の差分(GFEM−G
FEB)の時間積分が正か負のどちらの値を取るかで、
どちらの応答が速いかを判別する。もし、実際の気筒流
入燃料量の応答の方が速ければ使用中の燃料を軽質、実
際の気筒流入燃料量の応答が遅ければ重質と判別する。
Description
【0001】
【発明の属する技術分野】本発明は、エンジンの燃料性
状判別方法に係り、特に、空燃比センサを活用して燃料
応答に基づいて燃料性状の重質、軽質を判別するのに好
適なエンジンの燃料性状判別方法に関する。また、本発
明は、エンジンの燃料噴射制御方法に係り、特に、燃料
性状変化に適応して空燃比制御精度を維持するのに好適
なエンジンの燃料噴射制御方法に関する。
状判別方法に係り、特に、空燃比センサを活用して燃料
応答に基づいて燃料性状の重質、軽質を判別するのに好
適なエンジンの燃料性状判別方法に関する。また、本発
明は、エンジンの燃料噴射制御方法に係り、特に、燃料
性状変化に適応して空燃比制御精度を維持するのに好適
なエンジンの燃料噴射制御方法に関する。
【0002】
【従来の技術】線形回帰モデルを活用してエンジンの燃
料性状を検出する技術として、特開平10−25255
0号公報記載の方法がある。この方法では、現在と過去
の燃料噴射時間、水温、回転数、吸気管内絶対圧、現在
と過去の当量比など、燃料性状による動特性を表現でき
るパラメータから多層ニューラルネットに基づいて燃料
性状パラメータ(燃料の50%分留温度)を計算してい
る。
料性状を検出する技術として、特開平10−25255
0号公報記載の方法がある。この方法では、現在と過去
の燃料噴射時間、水温、回転数、吸気管内絶対圧、現在
と過去の当量比など、燃料性状による動特性を表現でき
るパラメータから多層ニューラルネットに基づいて燃料
性状パラメータ(燃料の50%分留温度)を計算してい
る。
【0003】一方、特開平7−119515号公報に
は、制御則のパラメータを内燃機関の状態に応じて動的
に修正して、燃料噴射量を適正な状態に保ち、空燃比制
御精度を維持する方法が記載されている。上記従来技術
では、いわゆる、逐次型の最小二乗法を活用して、内燃
機関の運転状態に対応するパラメータをその都度、推定
するものである。
は、制御則のパラメータを内燃機関の状態に応じて動的
に修正して、燃料噴射量を適正な状態に保ち、空燃比制
御精度を維持する方法が記載されている。上記従来技術
では、いわゆる、逐次型の最小二乗法を活用して、内燃
機関の運転状態に対応するパラメータをその都度、推定
するものである。
【0004】
【発明が解決しようとする課題】上記第1の従来技術を
活用して、燃料性状を検出することは可能であるが、多
層ニューラルネットという、いわゆるブラックボックス
モデルを活用して燃料性状検出を行う場合、検出精度を
確保するためノードや層の数を数多く設けなければなら
ず、オンボードで燃料性状を計算する負荷が非現実的に
膨大になるという問題がある。また、ノードや層の数を
抑制し、ネットを簡素化した場合は、計算負荷は低減で
きるが、検出精度が劣化するという問題がある。
活用して、燃料性状を検出することは可能であるが、多
層ニューラルネットという、いわゆるブラックボックス
モデルを活用して燃料性状検出を行う場合、検出精度を
確保するためノードや層の数を数多く設けなければなら
ず、オンボードで燃料性状を計算する負荷が非現実的に
膨大になるという問題がある。また、ノードや層の数を
抑制し、ネットを簡素化した場合は、計算負荷は低減で
きるが、検出精度が劣化するという問題がある。
【0005】また、第2の従来技術を活用すれば、燃料
性状変化に適応して、制御パラメータを適正な方向に修
正できるので、燃料性状が変わっても空燃比制御精度を
ある程度維持可能と考えられる。しかしながら、パラメ
ータ推定に活用される最小二乗法は、推定パラメータが
動かないことを前提にした理論であるため、エンジンの
ようなパラメータが動的に変化する対象では、パラメー
タの推定遅れが生じ、その都度適正なパラメータは推定
されないという問題がある。これにより空燃比制御精度
は劣化することになる。
性状変化に適応して、制御パラメータを適正な方向に修
正できるので、燃料性状が変わっても空燃比制御精度を
ある程度維持可能と考えられる。しかしながら、パラメ
ータ推定に活用される最小二乗法は、推定パラメータが
動かないことを前提にした理論であるため、エンジンの
ようなパラメータが動的に変化する対象では、パラメー
タの推定遅れが生じ、その都度適正なパラメータは推定
されないという問題がある。これにより空燃比制御精度
は劣化することになる。
【0006】本発明の第1の目的は、比較的低負荷で精
度良く燃料性状が判別できるエンジンの燃料性状判別方
法を提供することにある。
度良く燃料性状が判別できるエンジンの燃料性状判別方
法を提供することにある。
【0007】本発明の第2の目的は、燃料性状によらず
空燃比制御精度を維持可能なエンジンの燃料噴射制御方
法を提供することにある。
空燃比制御精度を維持可能なエンジンの燃料噴射制御方
法を提供することにある。
【0008】
【課題を解決するための手段】本発明では、上記目的を
達成するため以下の方法を行う。
達成するため以下の方法を行う。
【0009】(方法1)吸入空気量に基づいて燃料噴射
量を制御するエンジンの燃料性状判別方法では、(1)
空気量、回転数、排気空燃比を計測し、(2)エンジン
が所定の運転状態にあるかどうかを判別し、(3)エン
ジンが所定の運転状態にあると判定された時、上記計測
値から第1の気筒流入燃料量を算出し、(4)エンジン
が所定の運転状態にあると判定された時、予め求めて記
憶している上記所定の運転状態に対応する燃料輸送特性
モデルと上記燃料噴射量から、第2の気筒流入燃料量を
計算し、(5)上記第1と第2の気筒流入燃料量から燃
料性状を判別する。
量を制御するエンジンの燃料性状判別方法では、(1)
空気量、回転数、排気空燃比を計測し、(2)エンジン
が所定の運転状態にあるかどうかを判別し、(3)エン
ジンが所定の運転状態にあると判定された時、上記計測
値から第1の気筒流入燃料量を算出し、(4)エンジン
が所定の運転状態にあると判定された時、予め求めて記
憶している上記所定の運転状態に対応する燃料輸送特性
モデルと上記燃料噴射量から、第2の気筒流入燃料量を
計算し、(5)上記第1と第2の気筒流入燃料量から燃
料性状を判別する。
【0010】本方法においては、燃料輸送特性を表す物
理モデルである燃料輸送モデルを活用し、基準の燃料応
答と実際の燃料応答を比較することで、燃料性状を判別
するもので、物理モデルを活用することで、判別法を簡
素にでき、かつ、高精度な判別が可能になる。
理モデルである燃料輸送モデルを活用し、基準の燃料応
答と実際の燃料応答を比較することで、燃料性状を判別
するもので、物理モデルを活用することで、判別法を簡
素にでき、かつ、高精度な判別が可能になる。
【0011】(方法2)エンジン運転状態に応じて所定
の制御パラメータを計算し、該計算値に基づいて燃料噴
射量を制御するエンジンの燃料噴射方法では、(1)排
気空燃比、空気量、回転数の計測値から第1の気筒流入
燃料量を計算し、(2)吸気管内での燃料輸送特性を表
す所定の数学モデルと燃料噴射量から第2の気筒流入燃
料量を計算し、(3)第1と第2の気筒流入燃料量の応
答を比較し、この比較結果に基づいて上記制御パラメー
タを計算し、燃料噴射量を制御する。
の制御パラメータを計算し、該計算値に基づいて燃料噴
射量を制御するエンジンの燃料噴射方法では、(1)排
気空燃比、空気量、回転数の計測値から第1の気筒流入
燃料量を計算し、(2)吸気管内での燃料輸送特性を表
す所定の数学モデルと燃料噴射量から第2の気筒流入燃
料量を計算し、(3)第1と第2の気筒流入燃料量の応
答を比較し、この比較結果に基づいて上記制御パラメー
タを計算し、燃料噴射量を制御する。
【0012】本方法では、気筒流入燃料量の応答比較に
より、燃料性状のレベルが判定し、これにより適切な制
御パラメータを計算し、燃料噴射制御ができるので、空
燃比制御精度を、常に良好な状態に維持できる。
より、燃料性状のレベルが判定し、これにより適切な制
御パラメータを計算し、燃料噴射制御ができるので、空
燃比制御精度を、常に良好な状態に維持できる。
【0013】
【発明の実施の形態】本発明の実施例を図1から図15
に基づいて説明する。
に基づいて説明する。
【0014】図1は、本発明のエンジンの燃料性状判別
方法、並びに、燃料噴射制御方法をデジタル式制御ユニ
ットで実現する時の制御系の全体構成図である。制御ユ
ニット10は、CPU20、RAM30、ROM40、
タイマ50、I/O LSI60、それらを電気的に接
続するバス70を備えている。I/O LSI60に
は、空気量センサ80、スロットル角センサ90、水温
センサ100、回転数を検出するクランク角センサ11
0、排気管集合部に設置された空燃比をリニアに検出可
能な空燃比センサ120からの信号が入力されるように
なっている。また、I/O LSI60からは、各気筒
に設けられた燃料噴射器への信号が出力されるようにな
っている。タイマ50は、CPU20に対して一定周期
で割り込み要求を発生し、CPU20はこれに応じてR
OM40に格納された所定のプログラムを実行するよう
になっている。
方法、並びに、燃料噴射制御方法をデジタル式制御ユニ
ットで実現する時の制御系の全体構成図である。制御ユ
ニット10は、CPU20、RAM30、ROM40、
タイマ50、I/O LSI60、それらを電気的に接
続するバス70を備えている。I/O LSI60に
は、空気量センサ80、スロットル角センサ90、水温
センサ100、回転数を検出するクランク角センサ11
0、排気管集合部に設置された空燃比をリニアに検出可
能な空燃比センサ120からの信号が入力されるように
なっている。また、I/O LSI60からは、各気筒
に設けられた燃料噴射器への信号が出力されるようにな
っている。タイマ50は、CPU20に対して一定周期
で割り込み要求を発生し、CPU20はこれに応じてR
OM40に格納された所定のプログラムを実行するよう
になっている。
【0015】次に、図2から図7、図15に基づいて本
発明の燃料性状を判別する処理の内容について説明す
る。まず、図15の制御ブロック図に基づいて燃料性状
判別処理の概要について説明する。制御系では、水温な
どの現在の運転状態に対して、その運転状態に対応する
燃料噴射量Gfと気筒流入燃料量Gfeの2変数間の数
学モデル201をデータベースから選択する。このモデ
ルは、予め、重質と軽質の中間的な性状の燃料に対する
GfとGfeの関係を運転領域ごとに、実験に基づいて
モデリングしたものである。
発明の燃料性状を判別する処理の内容について説明す
る。まず、図15の制御ブロック図に基づいて燃料性状
判別処理の概要について説明する。制御系では、水温な
どの現在の運転状態に対して、その運転状態に対応する
燃料噴射量Gfと気筒流入燃料量Gfeの2変数間の数
学モデル201をデータベースから選択する。このモデ
ルは、予め、重質と軽質の中間的な性状の燃料に対する
GfとGfeの関係を運転領域ごとに、実験に基づいて
モデリングしたものである。
【0016】実走行における、単調増加するある燃料噴
射量Gfの応答に対して、この基準モデルを活用して、
基準気筒流入燃料量Gfebの応答を計算する(20
1)。同時に、排気空燃比の計測値AFと気筒流入空気
量推定値Qapから実際の気筒流入燃料量の応答Gfe
mを計算する(203)。Gfem,Gfebの2変数
の差分(Gfem−Gfeb)の時間積分Jが正か負の
どちらの値を取るかで、どちらの応答が速いかを判別す
る(204)。もし、Jの値が正で、実際の気筒流入燃
料量の応答の方が速ければ使用中の燃料を軽質、Jの値
が負で、実際の気筒流入燃料量の応答が遅ければ重質と
判別する。以上の判定が合理的なことは、燃料噴射から
気筒流入までの燃料の応答遅れが、重質から軽質に向か
うほど小さくなることから明らかである。すなわち、実
燃料応答が、中間の燃料性状に対する燃料応答を規定す
る基準応答より速い場合は使用燃料の軽質、遅い場合は
重質ということになる。以上が燃料性状判別処理の概要
とその原理である。次に処理の詳細について説明する。
射量Gfの応答に対して、この基準モデルを活用して、
基準気筒流入燃料量Gfebの応答を計算する(20
1)。同時に、排気空燃比の計測値AFと気筒流入空気
量推定値Qapから実際の気筒流入燃料量の応答Gfe
mを計算する(203)。Gfem,Gfebの2変数
の差分(Gfem−Gfeb)の時間積分Jが正か負の
どちらの値を取るかで、どちらの応答が速いかを判別す
る(204)。もし、Jの値が正で、実際の気筒流入燃
料量の応答の方が速ければ使用中の燃料を軽質、Jの値
が負で、実際の気筒流入燃料量の応答が遅ければ重質と
判別する。以上の判定が合理的なことは、燃料噴射から
気筒流入までの燃料の応答遅れが、重質から軽質に向か
うほど小さくなることから明らかである。すなわち、実
燃料応答が、中間の燃料性状に対する燃料応答を規定す
る基準応答より速い場合は使用燃料の軽質、遅い場合は
重質ということになる。以上が燃料性状判別処理の概要
とその原理である。次に処理の詳細について説明する。
【0017】図2から図4は、燃料性状を判別するプロ
グラムのフローチャートであり、10msごとに実行さ
れるようになっている。本実施例では、アイドルからの
加速に限定し燃料性状を判別する処理を行う。
グラムのフローチャートであり、10msごとに実行さ
れるようになっている。本実施例では、アイドルからの
加速に限定し燃料性状を判別する処理を行う。
【0018】まず、ステップ800では、 A/Fセン
サが活性化したかどうかを判定する。活性化していれ
ば、ステップ900に進み、さもなければ処理をリター
ンする。
サが活性化したかどうかを判定する。活性化していれ
ば、ステップ900に進み、さもなければ処理をリター
ンする。
【0019】次に、気筒流入空気量推定値のデータの移
動、最新値の取り込みを行う。
動、最新値の取り込みを行う。
【0020】図5に示すように、燃料性状判別に利用す
る、a)気筒流入空気量推定値QAP、b)回転数検出
値N,c)燃料噴射量計算値GF、d)空燃比計算値A
F、e)スロットル開度の時系列データがRAMの所定
領域に記憶されている。ステップ900では、気筒流入
空気量推定値を記憶する各アドレスに記憶されたデータ
の移動を次のように行う。所定アドレス(M0からM0
+60)に、最新時刻から300ms前までの時系列デ
ータが、10msおきに、31個記憶されている。図5
a)で、QAPi(i=0から30)は、i×10ms
時刻前の気筒流入空気量推定値データを示しており、対
応するアドレスにそのデータが格納されている。まず、
290ms前の空気量QAP29を記憶するアドレス
(M0+58)のデータを、300ms前の空気量QA
P30を記憶するアドレス(M0+60)にコピーす
る。さらに、280ms前の空気量QAP28を記憶す
るアドレス(M0+56)のデータを、290ms前の
空気量QAP29を記憶するアドレス(M0+58)に
コピーする。この操作を、最新時刻の空気量QAP0を
記憶するアドレス(M0)のデータを、10ms前の空
気量QAP1を記憶するアドレス(M0+2)にコピー
するまで繰り返す。
る、a)気筒流入空気量推定値QAP、b)回転数検出
値N,c)燃料噴射量計算値GF、d)空燃比計算値A
F、e)スロットル開度の時系列データがRAMの所定
領域に記憶されている。ステップ900では、気筒流入
空気量推定値を記憶する各アドレスに記憶されたデータ
の移動を次のように行う。所定アドレス(M0からM0
+60)に、最新時刻から300ms前までの時系列デ
ータが、10msおきに、31個記憶されている。図5
a)で、QAPi(i=0から30)は、i×10ms
時刻前の気筒流入空気量推定値データを示しており、対
応するアドレスにそのデータが格納されている。まず、
290ms前の空気量QAP29を記憶するアドレス
(M0+58)のデータを、300ms前の空気量QA
P30を記憶するアドレス(M0+60)にコピーす
る。さらに、280ms前の空気量QAP28を記憶す
るアドレス(M0+56)のデータを、290ms前の
空気量QAP29を記憶するアドレス(M0+58)に
コピーする。この操作を、最新時刻の空気量QAP0を
記憶するアドレス(M0)のデータを、10ms前の空
気量QAP1を記憶するアドレス(M0+2)にコピー
するまで繰り返す。
【0021】最後に、最新の空気量推定値QAPを、最
新の気筒流入空気量推定値を記憶するアドレス(M0)
にコピーする。
新の気筒流入空気量推定値を記憶するアドレス(M0)
にコピーする。
【0022】なお、気筒流入空気量の推定演算は、別の
プログラムにより実行されている。具体的には、空気量
センサによる計測値QAをベースに次式により2msご
とに演算される。
プログラムにより実行されている。具体的には、空気量
センサによる計測値QAをベースに次式により2msご
とに演算される。
【0023】
【数1】 QAP=(1−1/T(N))・QAP(−1)+1/T(N)・QA (数1) ここに、QAP;現在の気筒流入空気量、QAP(−
1):2ms前の気筒流入空気量、T:時定数(回転数
の関数)、QA:最新空気量計測値である。
1):2ms前の気筒流入空気量、T:時定数(回転数
の関数)、QA:最新空気量計測値である。
【0024】次に、ステップ950では、300ms前
の空気量推定値QAP30が0でないかどうかをチェッ
クし、0でなければ、ステップ1000に進み、さもな
ければ、処理をリターンする。
の空気量推定値QAP30が0でないかどうかをチェッ
クし、0でなければ、ステップ1000に進み、さもな
ければ、処理をリターンする。
【0025】ステップ1000では、水温Twが60℃
未満がどうかを判定する。60℃未満ならステップ10
01の処理移り、さもなければ、ステップ1032に移
り、判別処理をリセットする。
未満がどうかを判定する。60℃未満ならステップ10
01の処理移り、さもなければ、ステップ1032に移
り、判別処理をリセットする。
【0026】ステップ1001では、アイドルスイッチ
がONかどうかを判定する。ONなら、ステップ100
21へ、ONでないなら、ステップ1004に進む。
がONかどうかを判定する。ONなら、ステップ100
21へ、ONでないなら、ステップ1004に進む。
【0027】ステップ10021では、空気量下降チェ
ックを行う。QAP0−QAP20<−0.25(g/
s)、あるいは、QAP10−QAP30<−0.25
(g/s)ならステップ1032に移り処理をリセット
する。さもなければ、ステップ10022に進む。但
し、QAP0:最新の空気量推定値(g/s)、QAP
10:100ms前の空気量推定値(g/s)、QAP
20:200ms前の空気量推定値(g/s)、QAP
30:300ms前の空気量推定値(g/s)である。
ックを行う。QAP0−QAP20<−0.25(g/
s)、あるいは、QAP10−QAP30<−0.25
(g/s)ならステップ1032に移り処理をリセット
する。さもなければ、ステップ10022に進む。但
し、QAP0:最新の空気量推定値(g/s)、QAP
10:100ms前の空気量推定値(g/s)、QAP
20:200ms前の空気量推定値(g/s)、QAP
30:300ms前の空気量推定値(g/s)である。
【0028】ステップ10022では、空気量上昇チェ
ックを行う。QAP0−QAP20>0.25(g/
s)、あるいは、QAP10−QAP30>0.25
(g/s)ならステップ10023に移る。さもなけれ
ば、ステップ1005に進む。ステップ10021と同
様、QAP0:最新の空気量推定値(g/s)、QAP
10:100ms前の空気量推定値(g/s)、QAP
20:200ms前の空気量推定値(g/s)、QAP
30:300ms前の空気量推定値(g/s)である。
ックを行う。QAP0−QAP20>0.25(g/
s)、あるいは、QAP10−QAP30>0.25
(g/s)ならステップ10023に移る。さもなけれ
ば、ステップ1005に進む。ステップ10021と同
様、QAP0:最新の空気量推定値(g/s)、QAP
10:100ms前の空気量推定値(g/s)、QAP
20:200ms前の空気量推定値(g/s)、QAP
30:300ms前の空気量推定値(g/s)である。
【0029】ステップ10023では、スロットル開度
変位チェックを行う。次の式が満足されたなら、ステッ
プ1024に進み、さもなければ、ステップ1032に
進み処理をリセットする。
変位チェックを行う。次の式が満足されたなら、ステッ
プ1024に進み、さもなければ、ステップ1032に
進み処理をリセットする。
【0030】
【数2】 TH0−TH10≧10mV (数2) 但し、TH0:最新スロットル開度(5mV)、TH1
0:100ms前のスロットル開度(5mV)である。
0:100ms前のスロットル開度(5mV)である。
【0031】ステップ10024では、記憶領域データ
チェックを行う。後述の方法で計算される140ms前
の気筒流入燃料量GFEM14の値が、0でないかをチ
ェックし、0でなければ、ステップ1005に進み、さ
もなければ、ステップ1032に進み処理をリセットす
る。
チェックを行う。後述の方法で計算される140ms前
の気筒流入燃料量GFEM14の値が、0でないかをチ
ェックし、0でなければ、ステップ1005に進み、さ
もなければ、ステップ1032に進み処理をリセットす
る。
【0032】ステップ1004では、空気量上昇チェッ
クを行う。QAP0−QAP10>−0.25(g/
s)ならステップ10041に移る。さもなければ、ス
テップ1032に進む。但し、QAP0:最新の空気量
推定値(g/s)、QAP10:100ms前の空気量
推定値(g/s)である。ステップ10041では、ス
テップ10024と同様、140ms前の気筒流入燃料
量GFEM14の値が、0でないかをチェックし、0で
なければ、ステップ1005に進み、さもなければ、ス
テップ1032に進み処理をリセットする。
クを行う。QAP0−QAP10>−0.25(g/
s)ならステップ10041に移る。さもなければ、ス
テップ1032に進む。但し、QAP0:最新の空気量
推定値(g/s)、QAP10:100ms前の空気量
推定値(g/s)である。ステップ10041では、ス
テップ10024と同様、140ms前の気筒流入燃料
量GFEM14の値が、0でないかをチェックし、0で
なければ、ステップ1005に進み、さもなければ、ス
テップ1032に進み処理をリセットする。
【0033】ステップ1005では、RAMの所定領域に
記憶されている回転数、燃料噴射量、空燃比、スロット
ル開度のデータシフト、及び、最新値取り込みを行う。
図5b)にそのアドレスを示す。気筒流入空気量のデー
タ移動、最新値取り込みを行ったのと同様の次の処理を
行う。
記憶されている回転数、燃料噴射量、空燃比、スロット
ル開度のデータシフト、及び、最新値取り込みを行う。
図5b)にそのアドレスを示す。気筒流入空気量のデー
タ移動、最新値取り込みを行ったのと同様の次の処理を
行う。
【0034】回転数を記憶する各アドレスに記憶された
データの移動は次のように行う。所定アドレス(M1か
らM1+40)に、最新時刻から200ms前までの時
系列データが、10msおきに、21個記憶されてい
る。図5b)で、Ni(i=0から20)は、i×10
ms時刻前の回転数検出値データを示しており、対応す
るアドレスにそのデータが格納されている。まず、19
0ms前の回転数N19を記憶するアドレス(M1+3
8)のデータを、200ms前の回転数N20を記憶す
るアドレス(M1+40)にコピーする。さらに、18
0ms前の回転数N18を記憶するアドレス(M1+3
6)のデータを、190ms前の回転数N19を記憶す
るアドレス(M1+38)にコピーする。この操作を、
最新時刻の回転数N0を記憶するアドレス(M1)のデ
ータを、10ms前の回転数N1を記憶するアドレス
(M1+2)にコピーするまで繰り返す。
データの移動は次のように行う。所定アドレス(M1か
らM1+40)に、最新時刻から200ms前までの時
系列データが、10msおきに、21個記憶されてい
る。図5b)で、Ni(i=0から20)は、i×10
ms時刻前の回転数検出値データを示しており、対応す
るアドレスにそのデータが格納されている。まず、19
0ms前の回転数N19を記憶するアドレス(M1+3
8)のデータを、200ms前の回転数N20を記憶す
るアドレス(M1+40)にコピーする。さらに、18
0ms前の回転数N18を記憶するアドレス(M1+3
6)のデータを、190ms前の回転数N19を記憶す
るアドレス(M1+38)にコピーする。この操作を、
最新時刻の回転数N0を記憶するアドレス(M1)のデ
ータを、10ms前の回転数N1を記憶するアドレス
(M1+2)にコピーするまで繰り返す。
【0035】最後に、最新の回転数検出値N0を、最新
の回転数検出値を記憶するアドレス(M1)にコピーす
る。
の回転数検出値を記憶するアドレス(M1)にコピーす
る。
【0036】以上は、回転数の場合であるが、燃料噴射
量、空燃比、スロットル開度に関しても同様の処理を行
う。なお、燃料噴射量GFiに関しては、現時刻から30
0ms前までの31個のデータ、計測空燃比AFに関し
ては、現時刻から40ms前までの5個のデータ、スロ
ットル開度に関しては、現時刻から100ms前までの
11個のデータを記憶、更新する。なお、GFi、Ni、
AFi、THiは、i×10ms前のデータを表す。こ
の処理は、最新から所定時刻前までの気筒流入空気量、
燃料噴射量、計測空燃比、スロットル開度のデータを予
め定められたRAMの所定アドレスに記憶する処理を意
味するものである。
量、空燃比、スロットル開度に関しても同様の処理を行
う。なお、燃料噴射量GFiに関しては、現時刻から30
0ms前までの31個のデータ、計測空燃比AFに関し
ては、現時刻から40ms前までの5個のデータ、スロ
ットル開度に関しては、現時刻から100ms前までの
11個のデータを記憶、更新する。なお、GFi、Ni、
AFi、THiは、i×10ms前のデータを表す。こ
の処理は、最新から所定時刻前までの気筒流入空気量、
燃料噴射量、計測空燃比、スロットル開度のデータを予
め定められたRAMの所定アドレスに記憶する処理を意
味するものである。
【0037】また、燃料噴射量の最新値GFCALの演
算は、次式に基づいて行う。
算は、次式に基づいて行う。
【0038】
【数3】 GFCAL= KT1・(Ti―TS) /TDATAF/(1+KLMTMA)/(1+KMR) (数3) ここに、KT1:定数、Ti:後述の方法で計算される
実行噴射パルス幅(μs)、TS:無効噴射時間(μ
s)、TDATAF:燃料噴射REF間時間(エンジン
が半回転する時間)(μs)、KLMTM:学習補正係
数、KMR:混合比補正係数である。
実行噴射パルス幅(μs)、TS:無効噴射時間(μ
s)、TDATAF:燃料噴射REF間時間(エンジン
が半回転する時間)(μs)、KLMTM:学習補正係
数、KMR:混合比補正係数である。
【0039】混合比補正係数、及び、学習補正係数の計
算方法について説明する。
算方法について説明する。
【0040】空燃比制御の活用されるインジェクタや空
気量センサは、様々な運転領域で高精度に動作するとは
限らない。例えば、ある運転領域で、空気量センサによ
る計測空気量は、数%の誤算を持つかもしれない。ま
た、インジェクタに関しても、ある噴射量指令値(目標
値)に対して実際に噴射される燃料量は、数%の誤差を
持つ可能性がある。初期のインジェクタや空気量センサ
の誤差を補正するために混合比補正係数が設けられてい
る。混合比補正係数は、図8に示すように、空気量QAと
空気量QAを回転数Nで割って得られる負荷L(=QA/N)の
2次元テーブルを検索して求められる。テーブルデータ
には、予め、エンジン試験を行ない、様々な運転領域
で、目標空燃比が実現されるような値が格納されてい
る。
気量センサは、様々な運転領域で高精度に動作するとは
限らない。例えば、ある運転領域で、空気量センサによ
る計測空気量は、数%の誤算を持つかもしれない。ま
た、インジェクタに関しても、ある噴射量指令値(目標
値)に対して実際に噴射される燃料量は、数%の誤差を
持つ可能性がある。初期のインジェクタや空気量センサ
の誤差を補正するために混合比補正係数が設けられてい
る。混合比補正係数は、図8に示すように、空気量QAと
空気量QAを回転数Nで割って得られる負荷L(=QA/N)の
2次元テーブルを検索して求められる。テーブルデータ
には、予め、エンジン試験を行ない、様々な運転領域
で、目標空燃比が実現されるような値が格納されてい
る。
【0041】次に、学習補正係数の計算方法について説
明する。
明する。
【0042】インジェクタや空気量センサの初期誤差の
影響は、混合比補正を設けることで対処できる。しかし
ながら、これらセンサやアクチュエータの経時変化まで
は補償できない。学習補正係数KLNは、インジェクタや
空気量センサの経時変化による誤差を補償するためのも
のである。混合比補正係数と同様に、図11に示す空気
量QAと負荷L(=QA/N)の2次元テーブルを検索してその
値KLNが求められる。
影響は、混合比補正を設けることで対処できる。しかし
ながら、これらセンサやアクチュエータの経時変化まで
は補償できない。学習補正係数KLNは、インジェクタや
空気量センサの経時変化による誤差を補償するためのも
のである。混合比補正係数と同様に、図11に示す空気
量QAと負荷L(=QA/N)の2次元テーブルを検索してその
値KLNが求められる。
【0043】テーブルデータは、時々刻々書き換えらて
いる。次に、このテーブルデータの設定方法について説
明する。
いる。次に、このテーブルデータの設定方法について説
明する。
【0044】このテーブルデータ設定には、空燃比フィ
ードバック制御の補正係数が用いられる。空燃比フィー
ドバック制御とは、計測空燃比が目標空燃比に一致する
よう燃料噴射時間を補正するもので、その補正係数γ
は、例えば、PI制御則により次のように求められる。
ードバック制御の補正係数が用いられる。空燃比フィー
ドバック制御とは、計測空燃比が目標空燃比に一致する
よう燃料噴射時間を補正するもので、その補正係数γ
は、例えば、PI制御則により次のように求められる。
【0045】
【数4】 e=AF0−AFT (数4)
【0046】
【数5】 γ=(Kp+Ki/S)e (数5) ここに、AF0:計測空燃比、AFT:目標空燃比、e:空
燃比誤差、Kp:比例ゲイン、Ki:積分ゲイン、S:ラ
プラス演算子、γ:フィードバック補正係数である。
燃比誤差、Kp:比例ゲイン、Ki:積分ゲイン、S:ラ
プラス演算子、γ:フィードバック補正係数である。
【0047】この補正係数を用いて、燃料噴射時間Ti
が次のように演算される。
が次のように演算される。
【0048】
【数6】 Ti=KT2・GF・TDATAF・γ・(1+KMR)・(1+KLN)+TS (数6) ここに、KT2:定数、Ti:実行噴射パルス幅(μ
s)、TS:無効噴射時間(μs)、TDATAF:燃
料噴射REF間時間(エンジンが半回転する時間)(μ
s)、KLN:学習補正係数、KMR:混合比補正係数、
γ:フィードバック補正係数、GF:燃料噴射量計算値で
ある。GFの計算方法については、後述する。
s)、TS:無効噴射時間(μs)、TDATAF:燃
料噴射REF間時間(エンジンが半回転する時間)(μ
s)、KLN:学習補正係数、KMR:混合比補正係数、
γ:フィードバック補正係数、GF:燃料噴射量計算値で
ある。GFの計算方法については、後述する。
【0049】学習補正係数KLNの初期値は0である。定
常状態で、インジェクタや空気量センサの特性の経時変
化がない場合は、フィードバック補正係数は1.0近傍
の値を示す。これに対して経時劣化が生じた場合、1.
0と異なる値を示すことになる。このずれを、ずれが生
じた運転領域と対にして図11の学習テーブルに記憶
し、テーブル検索により学習係数KLNを算出し、数6の
Ti演算に活用する。これにより、特性の経時変化が存
在する場合でも目標空燃比を実現する適切な燃料噴射量
を決定できる。
常状態で、インジェクタや空気量センサの特性の経時変
化がない場合は、フィードバック補正係数は1.0近傍
の値を示す。これに対して経時劣化が生じた場合、1.
0と異なる値を示すことになる。このずれを、ずれが生
じた運転領域と対にして図11の学習テーブルに記憶
し、テーブル検索により学習係数KLNを算出し、数6の
Ti演算に活用する。これにより、特性の経時変化が存
在する場合でも目標空燃比を実現する適切な燃料噴射量
を決定できる。
【0050】以上述べた学習補正係数のテーブルデータ
を算出するプログラムのフローチャートを、図9に示
す。この処理は、所定の周期で実行される。ステップ9
01では、計測空気量QAと負荷(QA/N)が一定の定常運
転状態にあるかどうかを判定する。定常状態にあれば次
のステップに進み、さもなければ処理を終了する。ステ
ップ902では、現在の運転領域が、図10のどの学習
領域にあるかを判定する。図10では、空気量、負荷と
も6分割された、36の学習運転領域が設定されてい
る。ステップ903では、最新のフィードバック補正係
数γから1を引いた値(γ−1)の値を計算し、そのデ
ータを図11のテーブルに書き込むが、データを書き込
むテーブル内の運転領域は、ステップ902で判定され
た運転領域に等しくする。以上が学習補正係数を格納し
たテーブルのデータを書き換える処理の内容である。
を算出するプログラムのフローチャートを、図9に示
す。この処理は、所定の周期で実行される。ステップ9
01では、計測空気量QAと負荷(QA/N)が一定の定常運
転状態にあるかどうかを判定する。定常状態にあれば次
のステップに進み、さもなければ処理を終了する。ステ
ップ902では、現在の運転領域が、図10のどの学習
領域にあるかを判定する。図10では、空気量、負荷と
も6分割された、36の学習運転領域が設定されてい
る。ステップ903では、最新のフィードバック補正係
数γから1を引いた値(γ−1)の値を計算し、そのデ
ータを図11のテーブルに書き込むが、データを書き込
むテーブル内の運転領域は、ステップ902で判定され
た運転領域に等しくする。以上が学習補正係数を格納し
たテーブルのデータを書き換える処理の内容である。
【0051】以上で図2のステップ1005に関連する
処理の説明を終わる。
処理の説明を終わる。
【0052】次に、ステップ1006では、センサの応
答遅れを補償した空燃比を計算し、RAMの所定領域に
記憶する。RAMに記憶された最新の空燃比計測値AF
0と、過去にこのステップで計算し、RAMの所定領域
(図5に示す以外の領域)に記憶している最新、10m
s前、20ms前のセンサの応答遅れを補償した空燃比
AFR0、AFR1、AFR2から次の式に従って、現
時刻のセンサ応答遅れを補償した空燃比AFRを計算す
る。
答遅れを補償した空燃比を計算し、RAMの所定領域に
記憶する。RAMに記憶された最新の空燃比計測値AF
0と、過去にこのステップで計算し、RAMの所定領域
(図5に示す以外の領域)に記憶している最新、10m
s前、20ms前のセンサの応答遅れを補償した空燃比
AFR0、AFR1、AFR2から次の式に従って、現
時刻のセンサ応答遅れを補償した空燃比AFRを計算す
る。
【0053】
【数7】 AFR=b0・AF0−a1・AFR0−a2・AFR1−a3・AFR2 (数7) ここに、ai,bi(i=0,1,2,3)は定数であ
る。
る。
【0054】さらに、AFR1のデータを、20ms前
の空燃比を記憶するアドレスにコピーし、AFR0のデ
ータを、10ms前の空燃比を記憶するアドレスにコピ
ーし、最後に、算出されたAFRのデータを最新の空燃
比を記憶するアドレスにコピーする。
の空燃比を記憶するアドレスにコピーし、AFR0のデ
ータを、10ms前の空燃比を記憶するアドレスにコピ
ーし、最後に、算出されたAFRのデータを最新の空燃
比を記憶するアドレスにコピーする。
【0055】ステップ1007では、センサの応答遅れ
を補償した空燃比に含まれるノイズを除去する。ノイズ
除去はローパスフィルタを活用し、最新、10ms前、
20ms前のセンサ応答遅れを補償した空燃比AFR
0、AFR1、AFR2と、過去にこのステップで計算
し、RAMの所定領域に記憶している最新、10ms
前、20ms前のノイズ除去を施した空燃比AFN0、
AFN1、AFN2から次式に従って、ノイズを除去し
た現時刻の空燃比AFNを計算する。
を補償した空燃比に含まれるノイズを除去する。ノイズ
除去はローパスフィルタを活用し、最新、10ms前、
20ms前のセンサ応答遅れを補償した空燃比AFR
0、AFR1、AFR2と、過去にこのステップで計算
し、RAMの所定領域に記憶している最新、10ms
前、20ms前のノイズ除去を施した空燃比AFN0、
AFN1、AFN2から次式に従って、ノイズを除去し
た現時刻の空燃比AFNを計算する。
【0056】
【数8】 AFN=−c1・AFN0−c2・AFN1−c3・AFN2 +d1・AFR0+d2・AFR1+d3・AFR2 (数8) ここに、ci,diは定数である。
【0057】さらに、AFN1のデータを、20ms前
の空燃比を記憶するアドレスにコピーし、AFN0のデ
ータを、10ms前の空燃比を記憶するアドレスにコピ
ーし、最後に、算出されたAFNのデータを最新の空燃
比を記憶するアドレスにコピーする。
の空燃比を記憶するアドレスにコピーし、AFN0のデ
ータを、10ms前の空燃比を記憶するアドレスにコピ
ーし、最後に、算出されたAFNのデータを最新の空燃
比を記憶するアドレスにコピーする。
【0058】ステップ1008では、300ms前の燃
料噴射量計算値GF30の値が0でないかどうかで、図
5のRAM領域がすべて埋まっているかどうかを判定す
る。0でなければ、次の処理に、さもなければ処理を終
了する。
料噴射量計算値GF30の値が0でないかどうかで、図
5のRAM領域がすべて埋まっているかどうかを判定す
る。0でなければ、次の処理に、さもなければ処理を終
了する。
【0059】本プログラムでは、エンジンの行程と排気
管内での流動に起因する遅れ(空燃比の検出遅れ時間:
無駄時間)の最新値idと10ms前の値idoldを
RAMの所定領域に記憶している。ステップ1009で
は、最新値のデータを読み出し、これを10ms前のデ
ータを記憶するアドレスにロードする。
管内での流動に起因する遅れ(空燃比の検出遅れ時間:
無駄時間)の最新値idと10ms前の値idoldを
RAMの所定領域に記憶している。ステップ1009で
は、最新値のデータを読み出し、これを10ms前のデ
ータを記憶するアドレスにロードする。
【0060】ステップ1011では、現在の空燃比検出
遅れ時間idを次式に基づいて計算し、RAMの所定領
域に記憶する。
遅れ時間idを次式に基づいて計算し、RAMの所定領
域に記憶する。
【0061】
【数9】 id=SEISU(12000/N0) (数9) ここに、N0:最新の回転数検出値、SEISU:引数
の整数値を出力する関数。
の整数値を出力する関数。
【0062】ステップ10111では、idoldの値
が0の時、idの値を、idoldに代入する。
が0の時、idの値を、idoldに代入する。
【0063】ステップ1012では、RAMの所定領域
に記憶している最新の空燃比検出遅れ時間idと10m
s前の空燃比検出遅れ時間idoldを比較する。id
の方が大きければステップ1013に進み、さもなけれ
ばステップ1014に進む。加速時では、回転数が上昇
するため、一般的にはidのほうが大きくなることはな
い。idの方が大きい場合、ノイズの影響であり、この
影響を除去するため次のステップ1013で、idにi
doldを代入する。すなわち、最新の空燃比検出遅れ
時間のデータを記憶するアドレスに、10ms前の空燃
比検出遅れ時間のデータをロードする。
に記憶している最新の空燃比検出遅れ時間idと10m
s前の空燃比検出遅れ時間idoldを比較する。id
の方が大きければステップ1013に進み、さもなけれ
ばステップ1014に進む。加速時では、回転数が上昇
するため、一般的にはidのほうが大きくなることはな
い。idの方が大きい場合、ノイズの影響であり、この
影響を除去するため次のステップ1013で、idにi
doldを代入する。すなわち、最新の空燃比検出遅れ
時間のデータを記憶するアドレスに、10ms前の空燃
比検出遅れ時間のデータをロードする。
【0064】ステップ1015では、idとidold
の値を比較し、id=idoldならステップ1016
に、id=idold−1ならステップ1017に、i
d<idold−1ならステップ1032に進む。
の値を比較し、id=idoldならステップ1016
に、id=idold−1ならステップ1017に、i
d<idold−1ならステップ1032に進む。
【0065】RAMの所定領域に、検出しうる最新の気
筒流入燃料量GFEM0から、その140ms前までの
データが10msおきに15個記憶されている。以下、
GFEMi(i=0から14)をi×10ms前の気筒
流入燃料量を記憶するアドレスに記憶されたデータとす
る。
筒流入燃料量GFEM0から、その140ms前までの
データが10msおきに15個記憶されている。以下、
GFEMi(i=0から14)をi×10ms前の気筒
流入燃料量を記憶するアドレスに記憶されたデータとす
る。
【0066】ステップ1016では、まず、130ms
前のデータGFEM13を読み出し、これを、140m
s前のデータを記憶するアドレスにロードする。さら
に、120ms前のデータGFEM12を読み出し、1
30ms前のデータを記憶するアドレスにロードする。
この処理を、最新のデータGFEM0を読み出し、10
ms前のデータを記憶するアドレスにロードするまで繰
り返す。最後に、次式で計算したGFEMを、最新のデ
ータを記憶するアドレスに記憶する。
前のデータGFEM13を読み出し、これを、140m
s前のデータを記憶するアドレスにロードする。さら
に、120ms前のデータGFEM12を読み出し、1
30ms前のデータを記憶するアドレスにロードする。
この処理を、最新のデータGFEM0を読み出し、10
ms前のデータを記憶するアドレスにロードするまで繰
り返す。最後に、次式で計算したGFEMを、最新のデ
ータを記憶するアドレスに記憶する。
【0067】
【数10】 GFEM=QAPID/AFN0 (数10) ここに、QAPID:id×10時刻前の気筒流入空気
量推定値、AFN0:最新のノイズ除去空燃比である。
量推定値、AFN0:最新のノイズ除去空燃比である。
【0068】ステップ1017では、RAMの所定領域
に記憶されている上述のデータを次のように操作する。
まず、120ms前のデータGFEM12を読み出
し、これを、140ms前のデータを記憶するアドレス
にロードする。次に、110ms前のデータGFEM1
1を読み出し、130ms前のデータを記憶するアドレ
スにロードする。この処理を、最新のデータGFEM0
を、20ms前のデータを記憶するアドレスにロードす
るまで繰り返す。次に、0.5×(GFEM0+GFE
M)を計算し、計算された値を、10ms前のデータを
記憶するアドレスにロードする。但し、GFEMは数1
0で計算される値である。 最後に、数10に基づいて
計算したGFEMを、最新のデータを記憶するアドレス
にロードし、処理を終了する。空燃比の検出遅れ時間i
dが変化するタイミングでは、気筒流入燃料量の計算値
が一時的に欠損するため、ステップ1017では、それ
を補間計算で補う処理を行っている。
に記憶されている上述のデータを次のように操作する。
まず、120ms前のデータGFEM12を読み出
し、これを、140ms前のデータを記憶するアドレス
にロードする。次に、110ms前のデータGFEM1
1を読み出し、130ms前のデータを記憶するアドレ
スにロードする。この処理を、最新のデータGFEM0
を、20ms前のデータを記憶するアドレスにロードす
るまで繰り返す。次に、0.5×(GFEM0+GFE
M)を計算し、計算された値を、10ms前のデータを
記憶するアドレスにロードする。但し、GFEMは数1
0で計算される値である。 最後に、数10に基づいて
計算したGFEMを、最新のデータを記憶するアドレス
にロードし、処理を終了する。空燃比の検出遅れ時間i
dが変化するタイミングでは、気筒流入燃料量の計算値
が一時的に欠損するため、ステップ1017では、それ
を補間計算で補う処理を行っている。
【0069】ステップ1018では、加速中かどうかを
示す加速フラグAFLGがON(値が1)かどうかを判
定する。ONの場合は加速中であり、この場合は、ステ
ップ1023に進み、さもなければステップ1019に
進む。
示す加速フラグAFLGがON(値が1)かどうかを判
定する。ONの場合は加速中であり、この場合は、ステ
ップ1023に進み、さもなければステップ1019に
進む。
【0070】ステップ1019では、燃料噴射量、気筒
流入燃料量の平均値を次式に基づいて計算し、RAMの
所定領域に記憶する。
流入燃料量の平均値を次式に基づいて計算し、RAMの
所定領域に記憶する。
【0071】
【数11】 GFBAR=(GF0+GF2+GF4+GF6+GF8+GF10+GF12+GF14)/8 (数11)
【0072】
【数12】 GFEBAR=(GFEM0+GFEM2+GFEM4+GFEM6 +GFEM8+GFEM10+GFEM12+GFEM14)/8 (数12) ここに、GFBAR:燃料噴射量平均値、GFi:i×
10ms前の燃料噴射量、GFEBAR:気筒流入燃料
量平均値、GFEMi:i×10ms前の気筒流入燃料
量である。
10ms前の燃料噴射量、GFEBAR:気筒流入燃料
量平均値、GFEMi:i×10ms前の気筒流入燃料
量である。
【0073】ステップ1020では、加速開始かどうか
を判定する。加速開始は、次式により判定する。
を判定する。加速開始は、次式により判定する。
【0074】
【数13】 TH0―TH10>LEVEL (数13) THi:i×10ms前のスロットル開度、LEVE
L:定数 数13が成立し、加速開始と判定された場合、ステップ
10201に進み、さもなければ処理を終了する。
L:定数 数13が成立し、加速開始と判定された場合、ステップ
10201に進み、さもなければ処理を終了する。
【0075】ステップ10201では、記憶領域データ
チェックを行なう。ここでは、GFEM14の値が、0
でないかをチェックし、0でなければ、ステップ102
02に進み、さもなければ、ステップ1032に進み処
理をリセットする。
チェックを行なう。ここでは、GFEM14の値が、0
でないかをチェックし、0でなければ、ステップ102
02に進み、さもなければ、ステップ1032に進み処
理をリセットする。
【0076】但し、GFEM14は、140ms前の気筒流
入燃料量計算値である。
入燃料量計算値である。
【0077】ステップ10202では、空気量の一定チ
ェックを行なう。気筒流入空気量推定値QAPi(i=
8,14,18,20,24、30)が次の条件式を満
たすかどうかを判定する。
ェックを行なう。気筒流入空気量推定値QAPi(i=
8,14,18,20,24、30)が次の条件式を満
たすかどうかを判定する。
【0078】
【数14】 |QAP8−QAP18|<0.35(g/s) (数14)
【0079】
【数15】 |QAP14−QAP24|<0.35(g/s) (数15)
【0080】
【数16】 |QAP20−QAP30|<0.35(g/s) (数16) ここに、QAP8:80ms前の気筒流入空気量推定値
(g/s)、QAP14:140ms前の気筒流入空気
量推定値(g/s)、QAP18:180ms前の気筒
流入空気量推定値(g/s)、QAP20:200ms
前の気筒流入空気量推定値(g/s)、QAP24:2
40ms前の気筒流入空気量推定値(g/s)、QAP
30:300ms前の気筒流入空気量推定値(g/s)
である。
(g/s)、QAP14:140ms前の気筒流入空気
量推定値(g/s)、QAP18:180ms前の気筒
流入空気量推定値(g/s)、QAP20:200ms
前の気筒流入空気量推定値(g/s)、QAP24:2
40ms前の気筒流入空気量推定値(g/s)、QAP
30:300ms前の気筒流入空気量推定値(g/s)
である。
【0081】上の全ての条件式が満たされたなら、ステ
ップ10203、さもなければ、ステップ1032に進
む。
ップ10203、さもなければ、ステップ1032に進
む。
【0082】ステップ10203では、GFとGFEの
平均値の偏差の判定を行なう。
平均値の偏差の判定を行なう。
【0083】次の条件式が満足されたならステップ10
21に進み、さもなければ、ステッ1032に進み、処
理をリセットする。
21に進み、さもなければ、ステッ1032に進み、処
理をリセットする。
【0084】
【数17】 |GFBAR−GFEBAR|<0.025(g/s) (数17) ここに、GFBAR:ステップ1019で計算されたG
Fの平均値(g/s)、GFEBAR:ステップ101
9で計算されたGFEの平均値(g/s)である。
Fの平均値(g/s)、GFEBAR:ステップ101
9で計算されたGFEの平均値(g/s)である。
【0085】ステップ1021では、加速フラグAFL
GをON(値を1)にする。なお、このフラグの初期値
はOFF(値は0)である。
GをON(値を1)にする。なお、このフラグの初期値
はOFF(値は0)である。
【0086】ステップ10211では、燃料性状の判別
指標であるJを初期化(0を代入)する。
指標であるJを初期化(0を代入)する。
【0087】ステップ1022では、加速開始時の回転
数NS、気筒流入空気量QAPS、スロットル開度THS
を記憶する。
数NS、気筒流入空気量QAPS、スロットル開度THS
を記憶する。
【0088】ステップ1023では、タイムカウンタC
NTを1だけアップする。なお、CNTの初期値は0で
ある。
NTを1だけアップする。なお、CNTの初期値は0で
ある。
【0089】ステップ10231では、非同期噴射が実
行されたかどうかを判定し、実行されたならステップ1
032に進み処理をリセット、さもなければ、ステップ
1024に進む。
行されたかどうかを判定し、実行されたならステップ1
032に進み処理をリセット、さもなければ、ステップ
1024に進む。
【0090】ステップ1024では、回転数、空気量、
燃料噴射量のレベル判定を行なう。回転数、気筒流入空
気量、燃料噴射量計算値が以下の全ての条件を満たす
時、ステップ1025に進み、条件が満たされない時、
ステップ1032に進み判別処理をリセットする。
燃料噴射量のレベル判定を行なう。回転数、気筒流入空
気量、燃料噴射量計算値が以下の全ての条件を満たす
時、ステップ1025に進み、条件が満たされない時、
ステップ1032に進み判別処理をリセットする。
【0091】
【数18】 N0−N4>−25(rpm) (数18)
【0092】
【数19】 Qap0−Qap4>−0.5(g/s) (数19)
【0093】
【数20】 GF0−GF10>−0.035(g/s) (数20) ここで、N0:最新の回転数検出値(rpm)、N4:
40ms前の回転数検出値(rpm)、QAP0:最新
の気筒流入空気量推定値(g/s)、QAP4:40m
s前の気筒流入空気量推定値(g/s)、GF0:最新
の燃料噴射量(g/s)、GF10:100ms前の燃
料噴射量(g/s)である。
40ms前の回転数検出値(rpm)、QAP0:最新
の気筒流入空気量推定値(g/s)、QAP4:40m
s前の気筒流入空気量推定値(g/s)、GF0:最新
の燃料噴射量(g/s)、GF10:100ms前の燃
料噴射量(g/s)である。
【0094】ステップ1025では、最新回転数N0>
2000(rpm)かどうかを判定する。この条件が満
たされたなら、アイドルから所定の加速が行われ、性状
判別が可能な十分なデータが採取できたとして、ステッ
プ10290以降の燃料性状判別処理に移る。さもなけ
ればステップ1026以降の処理に移る。
2000(rpm)かどうかを判定する。この条件が満
たされたなら、アイドルから所定の加速が行われ、性状
判別が可能な十分なデータが採取できたとして、ステッ
プ10290以降の燃料性状判別処理に移る。さもなけ
ればステップ1026以降の処理に移る。
【0095】ステップ1026では、レベル判定フラグ
LFLGがON(値が1)かどうかを判定する。レベル
判定フラグとは、加速開始後に、基準モデルパラメータ
が計算された後、ON(値が1にセット)されるフラグ
である。ONならステップ1036の処理に移る。さも
なければ、ステップ1027以降の処理に移る。
LFLGがON(値が1)かどうかを判定する。レベル
判定フラグとは、加速開始後に、基準モデルパラメータ
が計算された後、ON(値が1にセット)されるフラグ
である。ONならステップ1036の処理に移る。さも
なければ、ステップ1027以降の処理に移る。
【0096】ステップ1027では、タイムカウンタC
NT≧20より、0.2秒経過を判定する。0.2秒経
過ならステップ1028以降の処理に移り、さもなけれ
ば処理を終了する。
NT≧20より、0.2秒経過を判定する。0.2秒経
過ならステップ1028以降の処理に移り、さもなけれ
ば処理を終了する。
【0097】ステップ1028では、水温が60℃未満
かどうかを判定し、そうならば次の処理に移り、さもな
ければ、判別処理をリセットするステップ1032以降
の処理に移る。続く、ステップ1033では、燃料噴射
量GFと気筒流入燃料量GFEの関係式
かどうかを判定し、そうならば次の処理に移り、さもな
ければ、判別処理をリセットするステップ1032以降
の処理に移る。続く、ステップ1033では、燃料噴射
量GFと気筒流入燃料量GFEの関係式
【0098】
【数21】
【0099】において、水温Twの関数であるモデルパ
ラメータb0(Tw)、b1(Tw)、a0(Tw)
を、最新の水温Twをパラメータにして、図6の1次元
テーブルを参照して求める。なお、q−1は、時間遅れ
素子。
ラメータb0(Tw)、b1(Tw)、a0(Tw)
を、最新の水温Twをパラメータにして、図6の1次元
テーブルを参照して求める。なお、q−1は、時間遅れ
素子。
【0100】ここで、テーブルデータは、予め、エンジ
ン試験で採取したデータを解析して求める。例えば、水
温20℃のデータは、水温を20℃の状態でエンジンを
アイドル運転する。なお、燃料は、重質と軽質の中間性
状の燃料を用いてエンジンを運転する。このときエンジ
ンにかかる負荷はROAD/LOADとする。アイドル
状態からスロットルを踏み込み加速する。図7に示すよ
うに、このときのa)回転数、b)気筒流入空気量、
c)空燃比、d)燃料噴射量の応答を検出する。数10
を活用すればe)気筒流入燃料量の応答も図7のように
計算できる。得られた燃料噴射量の応答を入力、気筒流
入燃料量の応答を出力として最小二乗法により、数21
のモデルパラメータa0、b0、b1を計算できる。得
られたデータを図6の水温20℃の領域に格納する。以
上がテーブルデータの求め方である。
ン試験で採取したデータを解析して求める。例えば、水
温20℃のデータは、水温を20℃の状態でエンジンを
アイドル運転する。なお、燃料は、重質と軽質の中間性
状の燃料を用いてエンジンを運転する。このときエンジ
ンにかかる負荷はROAD/LOADとする。アイドル
状態からスロットルを踏み込み加速する。図7に示すよ
うに、このときのa)回転数、b)気筒流入空気量、
c)空燃比、d)燃料噴射量の応答を検出する。数10
を活用すればe)気筒流入燃料量の応答も図7のように
計算できる。得られた燃料噴射量の応答を入力、気筒流
入燃料量の応答を出力として最小二乗法により、数21
のモデルパラメータa0、b0、b1を計算できる。得
られたデータを図6の水温20℃の領域に格納する。以
上がテーブルデータの求め方である。
【0101】次に、ステップ1034では、レベル判定
フラグLFLGをON(値を1)にする。このフラグの
初期値は0である。
フラグLFLGをON(値を1)にする。このフラグの
初期値は0である。
【0102】ステップ1036では、燃料噴射量のトレ
ンドを次の式により除去し、記憶する。
ンドを次の式により除去し、記憶する。
【0103】
【数22】 GFT0=GFID−GFBAR (数22)
【0104】
【数23】 GFT1=GFID0−GFBAR (数23)
【0105】
【数24】 GFT2=GFID1−GFBAR (数24) ここに、GFID:id×10ms前の燃料噴射量、G
FID0:(id+1)×10ms前の燃料噴射量、G
FID1:(id+2)×10ms前の燃料噴射量、G
FBAR:燃料噴射量平均値、GFT0:id×10m
s前のトレンド除去した燃料噴射量、GFT1:ido
ld×10ms前のトレンド除去した燃料噴射量であ
る。
FID0:(id+1)×10ms前の燃料噴射量、G
FID1:(id+2)×10ms前の燃料噴射量、G
FBAR:燃料噴射量平均値、GFT0:id×10m
s前のトレンド除去した燃料噴射量、GFT1:ido
ld×10ms前のトレンド除去した燃料噴射量であ
る。
【0106】ステップ1037では、気筒流入燃料量の
トレンドを次式により除去し、記憶する。
トレンドを次式により除去し、記憶する。
【0107】
【数25】 GFET=GFEM0−GFEBAR (数25) GFEM0:検出しうる最新(id×10ms前)の気
筒流入燃料量、GFEBAR:気筒流入燃料量平均値、
GFET:トレンド除去した気筒流入燃料量である。ト
レンド除去した気筒流入燃料量は、検出しうる最新の値
からその40ms前の値まで10msごとに5個記憶さ
れている。ステップ1037では、30ms前のデータ
GFET3を呼び出し、40ms前のデータを記憶する
アドレスにロードし、20ms前のデータGFET2を
呼び出し、30ms前のデータを記憶するアドレスにロ
ードし、10ms前のデータGFET1を呼び出し、2
0ms前のデータを記憶するアドレスにロードし、最新
のデータGFET0を呼び出し、10ms前のデータを
記憶するアドレスにロードする。最後に、GFETを、
最新のデータを記憶するアドレスにロードする。
筒流入燃料量、GFEBAR:気筒流入燃料量平均値、
GFET:トレンド除去した気筒流入燃料量である。ト
レンド除去した気筒流入燃料量は、検出しうる最新の値
からその40ms前の値まで10msごとに5個記憶さ
れている。ステップ1037では、30ms前のデータ
GFET3を呼び出し、40ms前のデータを記憶する
アドレスにロードし、20ms前のデータGFET2を
呼び出し、30ms前のデータを記憶するアドレスにロ
ードし、10ms前のデータGFET1を呼び出し、2
0ms前のデータを記憶するアドレスにロードし、最新
のデータGFET0を呼び出し、10ms前のデータを
記憶するアドレスにロードする。最後に、GFETを、
最新のデータを記憶するアドレスにロードする。
【0108】ステップ1038では、最新の空燃比検出
遅れ時間idと10ms前の空燃比検出遅れ時間ido
ldを比較する。両者が等しければステップ1040に
進み、さもなければステップ1043に進む。
遅れ時間idと10ms前の空燃比検出遅れ時間ido
ldを比較する。両者が等しければステップ1040に
進み、さもなければステップ1043に進む。
【0109】ステップ1040では、トレンド除去した
燃料噴射量GFT0,GFT1と過去にこのステップで
計算し記憶している基準気筒流入燃料量GFEB、及
び、ステップ1033で求めたモデルパラメータa1、
b0、b1から最新の基準気筒流入燃料量GFEBNを
次式で計算し、記憶する。
燃料噴射量GFT0,GFT1と過去にこのステップで
計算し記憶している基準気筒流入燃料量GFEB、及
び、ステップ1033で求めたモデルパラメータa1、
b0、b1から最新の基準気筒流入燃料量GFEBNを
次式で計算し、記憶する。
【0110】
【数26】 GFEBN=−a1(Tw)×GFEB +b0(Tw)×GFT0+b1(Tw)×GFT1 (数26) 記憶されたGFEBNの値は、次回のこのステップで、
GFEBの値として、新たなGFEBNの計算に活用さ
れる。
GFEBの値として、新たなGFEBNの計算に活用さ
れる。
【0111】ステップ1041では、燃料性状判別のた
めの指標Jを次式で更新する。
めの指標Jを次式で更新する。
【0112】
【数27】 J←J+(GFET0−GFEBN) (数27) ここに、GFET0:空燃比に基づいて計算されたトレ
ンド除去した気筒流入燃料量、GFEBN:燃料噴射量
と数21(あるいは数26)のモデルベースに計算され
た基準気筒流入燃料量である。
ンド除去した気筒流入燃料量、GFEBN:燃料噴射量
と数21(あるいは数26)のモデルベースに計算され
た基準気筒流入燃料量である。
【0113】10msごとにJの更新を行うため、Jの
値の正、負により、空燃比計測値から検出される気筒流
入燃料量の応答と、燃料噴射量と数21のモデルにより
計算される基準気筒流入燃料量の応答のうち、どちらの
応答が速いかを判別できる。例えば、モデルによる基準
応答は重質と軽質の中間の性状を表すため、検出気筒流
入燃料量の応答の方が速ければ、現在使用中の燃料は軽
質、検出気筒流入燃料量の応答の方が遅ければ、現在使
用中の燃料は重質と判定できる。この判定処理は、十分
なデータが採取された後、ステップ1030で行う。
値の正、負により、空燃比計測値から検出される気筒流
入燃料量の応答と、燃料噴射量と数21のモデルにより
計算される基準気筒流入燃料量の応答のうち、どちらの
応答が速いかを判別できる。例えば、モデルによる基準
応答は重質と軽質の中間の性状を表すため、検出気筒流
入燃料量の応答の方が速ければ、現在使用中の燃料は軽
質、検出気筒流入燃料量の応答の方が遅ければ、現在使
用中の燃料は重質と判定できる。この判定処理は、十分
なデータが採取された後、ステップ1030で行う。
【0114】ステップ1043では、トレンド除去した
燃料噴射量GFT0,GFT1、GFT2と過去にステ
ップ1040で計算し記憶している基準気筒流入燃料量
GFEB、及び、ステップ1033で求めたモデルパラ
メータからa1、b0、b1から最新の基準気筒流入燃
料量GFEBNを次式で計算し、記憶する。
燃料噴射量GFT0,GFT1、GFT2と過去にステ
ップ1040で計算し記憶している基準気筒流入燃料量
GFEB、及び、ステップ1033で求めたモデルパラ
メータからa1、b0、b1から最新の基準気筒流入燃
料量GFEBNを次式で計算し、記憶する。
【0115】
【数28】 GFEBN=−a1(Tw)×GFEB +b0(Tw)×GFT1+b1(Tw)×GFT2 (数28) 得られたGFEBNは、(id−1)×10ms前の基
準気筒流入燃料量に相当する。
準気筒流入燃料量に相当する。
【0116】さらに、GFEBNから次の式によりid
×10ms前の基準気筒流入燃料量GFEBNNを計算
する。
×10ms前の基準気筒流入燃料量GFEBNNを計算
する。
【0117】
【数29】 GFEPNN=−a1(Tw)×GFEBN +b0(Tw)×GFT0+b1(Tw)×GFT1 (数29) ステップ1044では、燃料性状判別のための指標Jを
次式で更新する。
次式で更新する。
【0118】
【数30】 J←J+(GFET0−GFEBNN)+(GFET1−GFEBN) (数30) 最後に、性状判定用のデータが十分そろった後の処理で
ある、ステップ10290、1029、1030の処理
について説明する。
ある、ステップ10290、1029、1030の処理
について説明する。
【0119】ステップ10290では、加速開始後0.
5秒経過したかをチェックする。タイムカウンタCNT が
50を越えたかどうかをチェックし、50を越えたなら
ステップ1029に進み、さもなければ、ステップ10
32に進み処理をリセットする。
5秒経過したかをチェックする。タイムカウンタCNT が
50を越えたかどうかをチェックし、50を越えたなら
ステップ1029に進み、さもなければ、ステップ10
32に進み処理をリセットする。
【0120】ステップ1029では、気筒流入空気量が
次の条件を満足するかどうかを判定する。
次の条件を満足するかどうかを判定する。
【0121】
【数31】 QMIN<QAP0<QMAX (数31) ここに、QMIN,QMAX:所定の定数、QAP0:
最新気筒流入空気量である。
最新気筒流入空気量である。
【0122】上記条件を満たせたステップ1030に進
み、さもなければ、ステップ1032に進み性状判別処
理をリセットする。
み、さもなければ、ステップ1032に進み性状判別処
理をリセットする。
【0123】ステップ1030では、次の条件式により
燃料性状を判別する。
燃料性状を判別する。
【0124】
【数32】 J<JMINなら重質燃料 (数32)
【0125】
【数33】 J>JMAXなら軽質燃料 (数33) JMIN、JMAXは定数で、例えば、両定数とも0に
設定する。
設定する。
【0126】以上で性状判別処理方法の実施例のすべて
の処理の説明を終了する。
の処理の説明を終了する。
【0127】上記実施例がアイドルからの加速を想定し
たが、定常走行からの加速や減速でも同様の方法で燃料
性状を判別できる。
たが、定常走行からの加速や減速でも同様の方法で燃料
性状を判別できる。
【0128】次に、燃料性状判別結果の利用方法につい
て図12から図14に基づいて説明する。
て図12から図14に基づいて説明する。
【0129】図12は、目標の空燃比を実現する燃料噴
射パルス幅を計算するプログラムのフローチャートであ
り、所定のクランク角に来たときに実行されるようにな
っている。ステップ4001では、図13のテーブルを
参照して噴射燃料の付着率X、液膜の蒸発時定数τを計
算する。付着率に関しては、回転数Nと空気量Qaを回
転数で割って選られる負荷Qa/Nをパラメータに2次
元テーブルを検索してベース付着率Xbを算出する。さ
らに、水温をパラメータに1次元テーブルを検索して水
温補正係数kxを計算する。補正係数算出のため重質用
と軽質用の補正テーブルが設けられており、前述のプロ
グラムによる判定結果にしたがって、どちらのテーブル
検索値を利用するかを決定する。重質と判定されていれ
ば、重質用テーブルを利用し、軽質と判定されていれば
軽質用テーブルを利用する。基準付着率Xbに水温補正
係数kxを乗じて付着率Xを計算する。図13に示すよ
うに蒸発時定数の計算も同様に行うことができる。な
お、1次元テーブルのデータは、図14に示すように、
kx、kτとも、重質燃料ほど値が大きくなる傾向にあ
る。
射パルス幅を計算するプログラムのフローチャートであ
り、所定のクランク角に来たときに実行されるようにな
っている。ステップ4001では、図13のテーブルを
参照して噴射燃料の付着率X、液膜の蒸発時定数τを計
算する。付着率に関しては、回転数Nと空気量Qaを回
転数で割って選られる負荷Qa/Nをパラメータに2次
元テーブルを検索してベース付着率Xbを算出する。さ
らに、水温をパラメータに1次元テーブルを検索して水
温補正係数kxを計算する。補正係数算出のため重質用
と軽質用の補正テーブルが設けられており、前述のプロ
グラムによる判定結果にしたがって、どちらのテーブル
検索値を利用するかを決定する。重質と判定されていれ
ば、重質用テーブルを利用し、軽質と判定されていれば
軽質用テーブルを利用する。基準付着率Xbに水温補正
係数kxを乗じて付着率Xを計算する。図13に示すよ
うに蒸発時定数の計算も同様に行うことができる。な
お、1次元テーブルのデータは、図14に示すように、
kx、kτとも、重質燃料ほど値が大きくなる傾向にあ
る。
【0130】ステップ4002では、選られた付着率
X、蒸発時定数τ、気筒流入空気量推定値Qap、前の
サイクルで後述のステップ4004で計算され記憶され
ている液膜量Mfから次式にしたがって燃料噴射量GF
(g/s)を計算する。
X、蒸発時定数τ、気筒流入空気量推定値Qap、前の
サイクルで後述のステップ4004で計算され記憶され
ている液膜量Mfから次式にしたがって燃料噴射量GF
(g/s)を計算する。
【0131】
【数34】
【0132】ここに、AFT:目標空燃比である。
【0133】ステップ4003では、数6により燃料噴
射パルス幅Tiを計算する。
射パルス幅Tiを計算する。
【0134】最後に、ステップ4004では、次式によ
り液膜量推定値を更新して記憶する。
り液膜量推定値を更新して記憶する。
【0135】
【数35】
【0136】ここに、i:時刻(1時刻はΔtの時
間)、Δt:時間刻み、X:付着率、τ:蒸発時手数、
Gf:燃料噴射量である。
間)、Δt:時間刻み、X:付着率、τ:蒸発時手数、
Gf:燃料噴射量である。
【0137】以上で処理を終了し、次回の起動要求があ
るまで待機する。以上のように燃料性状判別結果に応じ
て、適切な燃料制御パラメータを設定できるので、燃料
性状によらず常に空燃比制御精度を良好な状態に維持で
きる。なお、燃料性状が変化したと判定された時、図1
3の水温補正テーブルをいきなり切り替えると、算出さ
れる付着率、蒸発時定数が不連続になり、制御性能が劣
化する場合がある。したがって、性状変化直後は、付着
率と蒸発時定数を、古い性状相当値から新しい性状相当
値に徐々に切り替えるようにして、制御性能を確保する
ようにしても良い。
るまで待機する。以上のように燃料性状判別結果に応じ
て、適切な燃料制御パラメータを設定できるので、燃料
性状によらず常に空燃比制御精度を良好な状態に維持で
きる。なお、燃料性状が変化したと判定された時、図1
3の水温補正テーブルをいきなり切り替えると、算出さ
れる付着率、蒸発時定数が不連続になり、制御性能が劣
化する場合がある。したがって、性状変化直後は、付着
率と蒸発時定数を、古い性状相当値から新しい性状相当
値に徐々に切り替えるようにして、制御性能を確保する
ようにしても良い。
【0138】
【発明の効果】以上のように、本発明では、燃料性状を
精度良く判別できる。また、性状変化に適応して空燃比
制御精度を維持できる。
精度良く判別できる。また、性状変化に適応して空燃比
制御精度を維持できる。
【図1】制御系全体構成図である。
【図2】本発明の第一実施例の燃料性状を判別するプロ
グラムのフローチャートである。
グラムのフローチャートである。
【図3】本発明の第一実施例の燃料性状を判別するプロ
グラムのフローチャートである。
グラムのフローチャートである。
【図4】本発明の第一実施例の燃料性状を判別するプロ
グラムのフローチャートである。
グラムのフローチャートである。
【図5】変数を記憶するRAM領域である。
【図6】第一実施例のモデルパラメータを格納したテー
ブルである。
ブルである。
【図7】第一実施例におけるモデル構築のための時系列
データである。
データである。
【図8】混合比補正係数を格納した2次元テーブルであ
る。
る。
【図9】学習制御プログラムのフローチャートである。
【図10】学習領域を示す図である。
【図11】学習補正係数を格納した2次元テーブルであ
る。
る。
【図12】燃料噴射量を計算するプログラムのフローチ
ャートである。
ャートである。
【図13】付着率、蒸発時定数を格納したテーブルであ
る。
る。
【図14】付着率、蒸発時定数の水温補正係数の特性で
ある。
ある。
【図15】燃料性状判別処理のブロック図である。
10:制御ユニット、20:CPU、30:RAM、4
0:ROM、50:タイマ、60:LSI、70:バ
ス、80:空気量センサ、90:スロットルセンサ、1
00:水温センサ、110:クランク角センサ、12
0:空燃比センサ
0:ROM、50:タイマ、60:LSI、70:バ
ス、80:空気量センサ、90:スロットルセンサ、1
00:水温センサ、110:クランク角センサ、12
0:空燃比センサ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) F02D 41/34 F02D 41/34 G (72)発明者 加藤木 工三 茨城県ひたちなか市大字高場2520番地 株 式会社日立製作所自動車機器グループ内 Fターム(参考) 3G084 BA13 DA06 DA12 DA13 DA25 EA05 EB07 EB12 EB20 EC04 FA07 FA10 FA20 FA26 FA33 3G301 HA01 JA04 JA08 JA12 JA13 JA20 JA23 JA25 JA26 JA29 KA11 LB02 LC01 MA01 MA11 NA06 NA08 NC04 ND02 ND07 ND13 ND16 ND22 ND32 NE01 NE06 PA01Z PA11Z PB02Z PB03Z PD01Z PE08Z
Claims (7)
- 【請求項1】吸入空気量に基づいて燃料噴射量を制御す
るエンジン制御方法において、(1)空気量、回転数、
排気空燃比を計測する処理、(2)前記(1)の処理の
計測値に基づいて、エンジンが所定の運転状態にあるか
どうかを判別する処理、(3)エンジンが所定の運転状
態にあると判定された時、前記計測値から第1の気筒流
入燃料量を算出する処理、(4)エンジンが所定の運転
状態にあると判定された時、予め求めて記憶している前
記所定の運転状態に対応する燃料輸送特性モデルと前記
燃料噴射量から、第2の気筒流入燃料量を計算する処
理、(5)前記第1と第2の気筒流入燃料量から燃料性
状を判別することを特徴とするエンジンの燃料性状判別
方法。 - 【請求項2】請求項1記載のエンジンの燃料性状判別方
法において、空燃比を計測するセンサが活性化している
かどうか、あるいは、空燃比センサに基づく空燃比のフ
ィードバック制御が実施されているかどうかを判定し、
センサが活性化しているかフィードバック制御が実施さ
れている時のみ、前記(1)から(5)の燃料性状判別
処理を行なうことを特徴とするエンジンの燃料性状判別
方法。 - 【請求項3】請求項1記載のエンジンの燃料性状判別方
法において、非同期噴射が実行されたかどうかを判定
し、非同期噴射が実行されたなら前記(1)から(5)
の燃料性状判別処理を中止することを特徴とするエンジ
ンの燃料性状判別方法。 - 【請求項4】請求項1記載のエンジンの燃料性状判別方
法において、回転数偏差、空気量偏差、燃料噴射量偏差
の少なくとも一つ、あるいは、水温が所定の条件を満足
した時、前記(1)から(5)の燃料性状判別処理を中
止することを特徴とするエンジンの燃料性状判別方法。 - 【請求項5】請求項1記載のエンジンの燃料性状判別方
法の前記(4)の処理において、(a)空燃比の計測値
を利用して空燃比のフィードバック制御を実施し、計算
燃料噴射量を補正して実行燃料噴射量を求めることによ
って補正係数を計算し、(b)前記補正係数を利用して
要求燃料噴射量と計算燃料噴射量のずれを学習し、その
ずれを学習補正係数としてエンジン運転状態と対応させ
て記憶し、(c)上記運転状態に対応して記憶された学
習補正係数に基づいて、前記第2の気筒流入燃料量を計
算することを特徴とするエンジンの燃料噴射制御方法。 - 【請求項6】エンジンの燃料噴射量を決定するエンジン
制御方法において、(1)エンジンの各種計測値に基づ
いて予め構築したテーブルを少なくとも2つ用意し、
(2)少なくとも空気量、回転数、排気空燃比を計測
し、(3)前記(2)の計測値に基づいて、エンジンが
所定の運転状態にあるかどうかを判別し、(4)エンジ
ンが所定の運転状態にあると判定された時、前記計測値
から第1の気筒流入燃料量を算出し、(5)エンジンが
所定の運転状態にあると判定された時、予め求めて記憶
している前記所定の運転状態に対応する燃料輸送特性モ
デルと前記燃料噴射量から、第2の気筒流入燃料量を計
算し、(6)前記第1と第2の気筒流入燃料量に基づい
て上記テーブルの一つを選択して、前記選択されたテー
ブルを参照して燃料噴射量を決定することを特徴とする
エンジンの燃料噴射制御方法。 - 【請求項7】エンジン運転状態に応じて所定の制御パラ
メータを計算し、前記計算値に基づいて燃料噴射量を制
御するエンジン制御方法において、(1)排気空燃比、
空気量、回転数の計測値から第1の気筒流入燃料量を計
算し、(2)吸気管内での燃料輸送特性を表す所定の数
学モデルと燃料噴射量から第2の気筒流入燃料量を計算
し、(3)前記第1と第2の気筒流入燃料量の応答を比
較し、前記比較結果に基づいて前記制御パラメータを計
算し、燃料噴射量を制御することを特徴とするエンジン
の燃料噴射制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000309298A JP3823711B2 (ja) | 1999-11-05 | 2000-10-04 | エンジンの燃料性状判別方法及び燃料噴射制御方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11-314749 | 1999-11-05 | ||
JP31474999 | 1999-11-05 | ||
JP2000309298A JP3823711B2 (ja) | 1999-11-05 | 2000-10-04 | エンジンの燃料性状判別方法及び燃料噴射制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001193544A true JP2001193544A (ja) | 2001-07-17 |
JP3823711B2 JP3823711B2 (ja) | 2006-09-20 |
Family
ID=26568059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000309298A Expired - Fee Related JP3823711B2 (ja) | 1999-11-05 | 2000-10-04 | エンジンの燃料性状判別方法及び燃料噴射制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3823711B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006027853A1 (ja) * | 2004-09-09 | 2006-03-16 | Hitachi, Ltd. | エンジンの制御装置 |
JP2008280893A (ja) * | 2007-05-09 | 2008-11-20 | Toyota Motor Corp | 内燃機関の燃料性状判定装置 |
JP5561427B2 (ja) * | 2011-03-29 | 2014-07-30 | トヨタ自動車株式会社 | セタン価推定装置 |
-
2000
- 2000-10-04 JP JP2000309298A patent/JP3823711B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006027853A1 (ja) * | 2004-09-09 | 2006-03-16 | Hitachi, Ltd. | エンジンの制御装置 |
JP2008280893A (ja) * | 2007-05-09 | 2008-11-20 | Toyota Motor Corp | 内燃機関の燃料性状判定装置 |
JP5561427B2 (ja) * | 2011-03-29 | 2014-07-30 | トヨタ自動車株式会社 | セタン価推定装置 |
Also Published As
Publication number | Publication date |
---|---|
JP3823711B2 (ja) | 2006-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4487745B2 (ja) | センサ応答特性検出装置 | |
US6109244A (en) | Fuel injection control apparatus for an internal combustion engine | |
JP3603422B2 (ja) | エンジンの触媒温度推定装置および触媒診断装置 | |
US6474308B2 (en) | Apparatus for detecting fuel property for internal combustion engine | |
JPH0988685A (ja) | 内燃機関の空燃比制御装置 | |
JPH04311643A (ja) | エンジンの気筒流入空気量算出方法 | |
JP2005188503A (ja) | 内燃機関の気筒別空燃比制御装置 | |
US5134981A (en) | Fuel injection control method in an engine | |
JPS63314339A (ja) | 空燃比制御装置 | |
JP2001090584A (ja) | 内燃機関の空燃比制御装置 | |
JP2001193544A (ja) | エンジンの燃料性状判別方法及び燃料噴射制御方法 | |
JP4600699B2 (ja) | 内燃機関の気筒別空燃比制御装置 | |
JPH1182137A (ja) | パラメータ推定装置 | |
JPH11223145A (ja) | 空燃比制御装置 | |
JP2754568B2 (ja) | 内燃機関の燃料噴射量制御装置 | |
JP4798056B2 (ja) | 内燃機関の燃料性状判定装置 | |
JP2001504606A (ja) | 非線形特性を有する1次のダイナミックシステムのモデル化および制御方法 | |
JPH11218043A (ja) | 内燃機関の燃料噴射量制御装置 | |
JP3240780B2 (ja) | 内燃機関の燃料供給量制御装置 | |
JP2606226B2 (ja) | 内燃機関の燃料噴射量制御装置 | |
JPH0979072A (ja) | 内燃機関の空燃比学習制御装置 | |
JP2745797B2 (ja) | アイドリング回転数制御装置 | |
JP2002317680A (ja) | 内燃機関の燃料噴射制御装置 | |
JP3225750B2 (ja) | 内燃機関の空燃比制御装置 | |
JPH11223146A (ja) | 空燃比制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050930 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060418 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060606 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060619 |
|
LAPS | Cancellation because of no payment of annual fees |