(57)【要約】    【課題】吸気量の検出値に応じてエンジン制御量設定の演算動作を行う演算素子の負荷を軽減することができる内燃機関の制御装置及び方法を提供する。    【解決手段】内燃機関の吸気圧についての複数の目盛値と内燃機関の所定の制御パラメータについての複数の制御量とを示すデータマップを記憶した記憶手段と、データマップの複数の制御量に対応する複数の目盛値各々を大気圧の検出値に応じた数値に書き換える目盛値書換手段と、を備え、吸気圧の検出値に対応した所定の制御パラメータについての制御量をデータマップを用いて設定し、設定制御量に基づいて内燃機関の制御パラメータを制御する。【選択図】図６
2008144655.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の吸気圧を検出する吸気圧検出手段と、
前記吸気圧についての複数の目盛値と前記内燃機関の所定の制御パラメータについての複数の制御量とを、その対応関係を付けて示すデータマップを記憶する記憶手段と、
前記吸気圧検出手段による前記吸気圧の検出値に対応した前記所定の制御パラメータについての制御量を前記データマップを用いて設定する制御量設定手段と、
前記制御量設定手段によって設定された前記制御量に基づいて前記内燃機関の制御パラメータを制御する制御手段と、
前記内燃機関の存在位置の大気圧を検出する大気圧検出手段と、
前記データマップの前記複数の制御量に対応する前記複数の目盛値各々を前記大気圧検出手段による前記大気圧の検出値に応じた数値に書き換える目盛値書換手段と、を備えたことを特徴とする内燃機関の制御装置。
【請求項２】
前記所定の制御パラメータは前記内燃機関にインジェクタによって噴射供給されるべき燃料量であり、
前記データマップには前記吸気圧についての複数の目盛値と前記内燃機関のエンジン回転数の複数の固定目盛値とを対として前記燃料量についての前記複数の制御量の各々に対応する対応関係が定められることを特徴とする請求項１記載の内燃機関の制御装置。
【請求項３】
前記目盛値書換手段は、前記大気圧検出手段による前記大気圧の検出値が変化したときに前記データマップの前記複数の制御量に対応する前記複数の目盛値各々を前記大気圧検出手段による前記大気圧の検出値に応じた数値に書き換えることを特徴とする請求項１記載の内燃機関の制御装置。
【請求項４】
前記大気圧検出手段による前記大気圧の検出値に応じて大気圧補正係数を設定する手段と、
前記制御量設定手段によって設定された前記制御量を前記大気圧補正係数に応じて補正して最終制御量を算出する最終制御量算出手段と、を備え、
前記制御手段は前記最終制御量に応じて前記内燃機関の制御パラメータを制御することを特徴とする請求項１記載の内燃機関の制御装置。
【請求項５】
前記記憶手段は、前記複数の目盛値各々の初期値によって前記データマップを記憶したリードオンリメモリと、前記複数の目盛値各々の書き換え後の数値を記憶するランダムアクセスメモリと、からなり、
前記目盛値書換手段は、前記大気圧検出手段による前記大気圧の検出値に応じてマップ軸補正係数を設定する手段と、
前記複数の目盛値各々の初期値に前記マップ軸補正係数を乗算する乗算手段と、
前記乗算手段による乗算結果の各値を前記複数の制御量に対応する前記複数の目盛値各々として、前記リードオンリメモリの前記データマップの初期値に対応させて前記ランダムアクセスメモリに書き込む手段と、を有することを特徴とする請求項１記載の内燃機関の制御装置。
【請求項６】
内燃機関の吸気圧を検出する吸気圧検出ステップと、
前記吸気圧についての複数の目盛値と前記内燃機関の所定の制御パラメータについての複数の制御量とを、その対応関係を付けて示すデータマップとして記憶する記憶ステップと、
前記吸気圧検出ステップにおける前記吸気圧の検出値に対応した前記所定の制御パラメータについての制御量を前記データマップを用いて設定する制御量設定ステップと、
前記制御量設定ステップにおいて設定された前記制御量に基づいて前記内燃機関の制御パラメータを制御する制御ステップと、
前記内燃機関の存在位置の大気圧を検出する大気圧検出ステップと、
前記データマップの前記複数の制御量に対応する前記複数の目盛値各々を前記大気圧検出ステップにおける前記大気圧の検出値に応じた数値に書き換える目盛値書換ステップと、を備えたことを特徴とする内燃機関の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関において燃料噴射を行う燃料噴射装置及び方法に関する。
【背景技術】
【０００２】
エンジンが気筒内の燃焼のために必要とする基本燃料量は、吸気管内に設けられたスロットル弁の開度とエンジンの回転数とに対応した特性を有することが知られている。また、スロットル弁下流の吸気管内に生じる吸気圧はスロットル弁の開度にほぼ比例して変化するので、エンジンが必要とする基本燃料量は吸気圧とエンジン回転数とに基づいてデータマップから検索して設定することが可能である。
【０００３】
しかしながら、吸気圧は大気圧の影響を受けるので、平地と高地とでは空気密度の差により図１に示すように、スロットル弁の開度と吸気圧（吸気絶対圧）との関係が異なることになる。同一のスロットル弁の開度であっても高地であるほど測定される吸気圧が低下するため、平地と同様のデーマップを用いて検索しても適正な基本燃料量を設定することができなくなる。そこで、車載エンジンの燃料噴射装置では車両が平地から高地に移動した場合には吸気圧を高地補正を行う必要がある。
【０００４】
高地補正の方法としては、大気圧と吸気圧とをセンサで各々検出し、大気圧の検出値に対応した補正係数Ｋ１と吸気圧の検出値に対応した補正係数Ｋ２とを求め、吸気圧の検出値をその補正係数Ｋ１，Ｋ２によって補正し、補正後の吸気圧の値が平地における標準気圧下での同等の吸入空気量となるようにした方法がある（特許文献１参照）。また、他の高地補正の方法として、基準の大気圧ＰＡbaseと大気圧センサで検出された現在の大気圧ＰＡとの差分である大気圧変動分と、吸気圧センサで検出された吸気圧ＰＭとを加算する方法がある（特許文献２参照）。
【０００５】
このような高地補正を行った吸気圧とエンジン回転数とに基づいてデータマップから基本燃料量を検索して設定することが一般的に従来の燃料噴射装置では行われている。
【特許文献１】特開平５−１４９１８７号公報
【特許文献２】特開２００３−１７２１７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、吸気圧はエンジンの運転状態に応じて常に変化するので、エンジンの回転に同期して基本燃料量を設定する毎に高地補正を行う必要がある。４サイクルエンジンではクランク軸が少なくとも７２０度回転する毎に吸気量及びエンジン回転数を検出されて高地補正を含む演算動作が行われ、多気筒のエンジンでは更に気筒毎にその演算動作を行う必要がある。特に、高エンジン回転数では単位時間当たりの演算量が大きくなり、ＣＰＵ等の演算素子の負荷が過大となる可能性があるので、高処理能力を有する高価な演算素子を用いる必要があった。このことは制御量として燃料噴射量に限らず、内燃機関の２次空気量等の高地補正が必要な他の制御パラメータの制御量の設定についても同様である。
【０００７】
そこで、本発明の目的は、吸気量の検出値に応じて制御量設定の演算動作を行う演算素子の負荷を軽減することができる内燃機関の制御装置及び方法を提供することである。
【課題を解決するための手段】
【０００８】
本発明の内燃機関の制御装置は、内燃機関の吸気圧を検出する吸気圧検出手段と、前記吸気圧についての複数の目盛値と前記内燃機関の所定の制御パラメータについての複数の制御量とを、その対応関係を付けて示すデータマップを記憶した記憶手段と、前記吸気圧検出手段による前記吸気圧の検出値に対応した前記所定の制御パラメータについての制御量を前記データマップを用いて設定する制御量設定手段と、前記制御量設定手段によって設定された前記制御量に基づいて前記内燃機関の制御パラメータを制御する制御手段と、前記内燃機関の存在位置の大気圧を検出する大気圧検出手段と、前記データマップの前記複数の制御量に対応する前記複数の目盛値各々を前記大気圧検出手段による前記大気圧の検出値に応じた数値に書き換える目盛値書換手段と、を備えたことを特徴としている。
【０００９】
本発明の内燃機関の制御方法は、内燃機関の吸気圧を検出する吸気圧検出ステップと、前記吸気圧についての複数の目盛値と前記内燃機関の所定の制御パラメータについての複数の制御量とを、その対応関係を付けて示すデータマップとして記憶する記憶ステップと、前記吸気圧検出ステップにおける前記吸気圧の検出値に対応した前記所定の制御パラメータについての制御量を前記データマップを用いて設定する制御量設定ステップと、前記制御量設定ステップにおいて設定された前記制御量に基づいて前記内燃機関の制御パラメータを制御する制御ステップと、前記内燃機関の存在位置の大気圧を検出する大気圧検出ステップと、前記データマップの前記複数の制御量に対応する前記複数の目盛値各々を前記大気圧検出ステップにおける前記大気圧の検出値に応じた数値に書き換える目盛値書換ステップと、を備えたことを特徴としている。
【発明の効果】
【００１０】
本発明によれば、吸気圧についての複数の目盛値と内燃機関の所定の制御パラメータについての複数の制御量とを対応関係を付けて示すデータマップを記憶し、データマップの複数の制御量に対応する複数の目盛値各々を大気圧の検出値に応じた数値に書き換えるので、内燃機関の存在位置の大気圧が変化すれば、そのデータマップの複数の目盛値各々は大気圧変化後の数値に書き換えられる。よって、吸気圧の検出値に対応した所定の制御パラメータについての制御量をデータマップを用いて設定することにより、そのときの大気圧に適した制御量を設定することができる。また、制御量の設定毎に大気圧補正を行う必要がないので、制御手段において用いられる演算素子の負荷の軽減を図ることができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施例を図面を参照しつつ詳細に説明する。
【００１２】
図２は本発明が適用された４サイクル内燃機関のエンジン制御システムを示している。内燃機関においては、エンジン本体１の吸入ポートに連結された吸気管２内には、スロットル弁３が設けられている。エアクリーナ４からの吸入空気がスロットル弁３の開度に応じた量となって吸気管２を介してエンジン本体１の吸入ポートに供給されるようになっている。スロットル弁３にはスロットルセンサ５が備えられており、スロットル弁３の開度がスロットルセンサ５によって検出される。エンジン本体１の吸気ポート近傍の吸気管２には燃料噴射用のインジェクタ（燃料噴射弁）６が設けられている。インジェクタ６には図示しない燃料タンクから燃料ポンプによって燃料が圧送される。また、吸気管２には、吸気圧センサ７及び吸気温センサ８が設けられている。吸気圧センサ７は吸気管２内の吸入空気圧、すなわち吸気圧を検出する。吸気温センサ８は吸気管２内の吸入空気の温度を検出する。
【００１３】
エンジン本体１の排気ポートに連結された排気管１０内には、触媒１１及び酸素濃度センサ１２が備えられている。触媒１１は排気管１０の排気ガス中の未燃焼成分を低減させる。酸素濃度センサ１２は排気ガス中の酸素濃度を検出する。
【００１４】
また、エンジン本体１には点火プラグ１３が固着されており、点火プラグ１３は点火装置１４に接続されており、後述のＥＣＵ（電子制御ユニット）１５が点火装置１４に対して点火タイミングの指令を発することによってエンジン本体１のシリンダ燃焼室内で火花放電を起こす。
【００１５】
エンジン本体１を形成するシリンダブロック１６内には冷却水通路１６ａが形成されており、冷却水通路１６ａの冷却水の温度を検出する冷却水温センサ１７がシリンダブロック１６に設けられている。
【００１６】
スロットルセンサ５、吸気圧センサ７、吸気温センサ８、酸素濃度センサ１２及び冷却水温センサ１７各々の出力はＥＣＵ１５に接続されている。ＥＣＵ１５には、更に、クランク角センサ１９と、大気圧を検出する大気圧センサ２０とが接続されている。クランク角センサ１９はエンジン本体１のクランク軸１８の回転角度位置を検出するために備えられ、クランク軸１８に連動して回転するロータ１９ａの外周に所定角度（例えば、１５度）毎に設けられた複数の凸部を、そのロータ１９ａの外周近傍に配置されたピックアップ１９ｂによって凸部の通過を磁気的或いは光学的に検出し、ピックアップ１９ｂからクランク軸１８の所定角度の回転毎にパルス（クランク信号）を発生する。クランク角センサ１９はピストン９の上死点又はクランク軸１８が３６０度回転する毎に基準角度を示す信号をＥＣＵ１５内の後述するＣＰＵ（中央処理ユニット）２４に出力する。
【００１７】
スロットルセンサ５、吸気圧センサ７、吸気温センサ８、酸素濃度センサ１２、冷却水温センサ１７及び大気圧センサ２０各々は検出値に応じたアナログ電圧を出力する。
【００１８】
また、ＥＣＵ１５には、上記のインジェクタ６と点火装置１４とが接続されている。
【００１９】
ＥＣＵ１５は、図３に示すように、波形整形回路２１、回転数カウンタ２２、Ａ／Ｄ変換器２３、ＣＰＵ２４、駆動回路２５、ＲＯＭ（リードオンリメモリ）２６、ＲＡＭ（ランダムアクセスメモリ）２７及びタイマ２８を備えている。
【００２０】
波形整形回路２１はクランク角センサ１９から出力されるパルスを例えば、方形波のパルスに波形整形してそれを回転数カウンタ２２に出力する。回転数カウンタ２２は波形整形回路２１からのパルスを計数して所定時間毎のパルス数を示すデータをＣＰＵ２４に出力する。ＣＰＵ２４は所定時間毎のパルス数からエンジン回転数Ｎｅを得ることができる。
【００２１】
Ａ／Ｄ変換器２３は、スロットルセンサ５、吸気圧センサ７、吸気温センサ８、酸素濃度センサ１２、冷却水温センサ１７及び大気圧センサ２０から出力される電圧、並びにバッテリ３０の出力電圧を個別にディジタル信号に変換してそれを保持してＣＰＵ２４に与える。ＣＰＵ２４はエンジンパラメータ検出値として上記のエンジン回転数Ｎｅと共にＡ／Ｄ変換器２３からスロットル弁３の開度θth、吸気圧ＰＭ、吸気温ＴＡ、酸素濃度Ｏ２、冷却水温ＴＷ、大気圧ＰＡ及びバッテリ電圧ＶＢを検出値として読み取ることができる。また、ＣＰＵ２４はクランク角センサ１９からのクランク角度の基準角度を示す信号及び波形整形回路２１の出力パルスに基づいてクランク軸１８の所定角度間隔の回転角度位置を検出する。ＣＰＵ２４はエンジンパラメータ検出値及びクランク軸１８の所定角度間隔の回転角度位置に応じて燃料噴射制御及び点火時期制御を行う。
【００２２】
駆動回路２５は燃料噴射制御によるＣＰＵ２４からの燃料噴射指令に応じてインジェクタ６を駆動し、点火時期制御によるＣＰＵ２４からの通電及び点火指令に応じて点火装置１４を駆動する。
【００２３】
ＲＯＭ２６には、ＣＰＵ２４の燃料噴射制御及び点火時期制御のためのプログラム並びにデータマップ等のデータが予め書き込まれている。ＲＡＭ２７には、ＣＰＵ２４の燃料噴射制御及び点火時期制御において上記のエンジンパラメータ検出値や燃料噴射量を含む計算値等のデータが書き込まれる。
【００２４】
具体例として、ＲＯＭ２６には燃料噴射制御のための吸気圧ＰＭとエンジン回転数Ｎｅとに応じて基本噴射量Ｔｉを算出するためのＴｉデータマップが図４に示すような表形式で形成されている。ここで、＃ＰＭＩＮＤＸ＿Ｎ[0]〜＃ＰＭＩＮＤＸ＿Ｎ[19]が吸気圧ＰＭの主要値からなる初期マップ軸目盛値を示し、＃ＮＥＩＮＤＸ＿Ｎ[0]〜＃ＮＥＩＮＤＸ＿Ｎ[a]がエンジン回転数Ｎｅの主要値からなるマップ軸目盛値を示す。＃ＴＩ[0,0]〜＃ＴＩ[a,19]は吸気圧ＰＭ及びエンジン回転数Ｎｅ各々のマップ軸目盛値によって定められた基本噴射量Ｔｉに相当する。ＲＡＭ２７は、図５に示すように、＃ＰＭＩＮＤＸ＿Ｎ[0]〜＃ＰＭＩＮＤＸ＿Ｎ[19]の補正後のマップ軸目盛値がＰＭＩＮＤＥＸ[0]〜ＰＭＩＮＤＥＸ[19]として書き込まれる領域を有している。＃ＰＭＩＮＤＥＸ[0]〜＃ＰＭＩＮＤＥＸ[19]とＰＭＩＮＤＸ＿Ｎ[0]〜ＰＭＩＮＤＸ＿Ｎ[19]とについては括弧内の番号によって対応関係が付けられている。
【００２５】
タイマ２８は、ＣＰＵ２４によって燃料噴射指令、並びに通電及び点火指令各々を発する時点を計測するために使用されるが、この実施例ではインジェクタ開弁タイマとして作動することだけを示している。
【００２６】
かかる構成のエンジン制御システムにおいて、ＣＰＵ２４は、エンジン回転とは無関係に所定の周期で例えば、バックグランド処理によりマップ軸補正ルーチンを実行すると共に、エンジン回転に同期して割り込み処理により、例えば、所定のクランク角度において燃料噴射制御ルーチンを実行する。
【００２７】
マップ軸補正ルーチンにおいてＣＰＵ２４は、図６に示すように、今回の大気圧ＰＡをＡ／Ｄ変換器２３から読み取り（ステップＳ０）、その大気圧ＰＡに応じて燃料噴射制御の補正係数ＭＰＡを設定する（ステップＳ１）。更に、大気圧ＰＡに応じて高負荷用のマップ軸補正係数ＭＰＭＩＤＸＨを設定し（ステップＳ２）、大気圧ＰＡに応じて低負荷用のマップ軸補正係数ＭＰＭＩＤＸＬを設定する（ステップＳ３）。これらの補正係数ＭＰＡ、ＭＰＭＩＤＸＨ及びＭＰＭＩＤＸＬは図示しないデータマップにより一義的に設定される。
【００２８】
ＣＰＵ２４は、フラグＦ＿ＲＥＩＤＸＩＮＨにフラグＦ＿ＲＥＮＥＷＩＤＸの内容を保持させ（ステップＳ４）、フラグＦ＿ＲＥＮＥＷＩＤＸを０にリセットする（ステップＳ５）。フラグＦ＿ＲＥＮＥＷＩＤＸはマップ軸更新があったことを示す。
【００２９】
ＣＰＵ２４は、変数であるIndexを０に設定し（ステップＳ６）、そのIndexが低負荷ＩＮＤＥＸ最大値より大であるか否かを判別する（ステップＳ７）。IndexはＴｉデータマップにおける吸気量の目盛りの数、例えば、０〜１９だけ設定される。低負荷ＩＮＤＥＸ最大値はＴｉデータマップにおける低負荷領域と高負荷領域とを区別するための閾値である。Index≦低負荷ＩＮＤＥＸ最大値であるならば、低負荷領域であるので、初期マップ軸目盛値＃ＰＭＩＮＤＸ＿Ｎ[Index]に低負荷用のマップ軸補正係数ＭＰＭＩＤＸＬを乗算し、その乗算結果を補正後マップ軸目盛値ＰＭＩＮＤＸＢ[Index]として設定する（ステップＳ８）。一方、Index＞低負荷ＩＮＤＥＸ最大値であるならば、高負荷領域であるので、初期マップ軸目盛値＃ＰＭＩＮＤＸ＿Ｎ[Index]に高負荷用のマップ軸補正係数ＭＰＭＩＤＸＨを乗算し、その乗算結果を補正後マップ軸目盛値ＰＭＩＮＤＸＢ[Index]として設定する（ステップＳ９）。初期マップ軸目盛値＃ＰＭＩＮＤＸ＿Ｎ[Index]は上記したようにＲＯＭ２６に予め形成されている。補正後マップ軸目盛値ＰＭＩＮＤＸＢ[Index]はＲＡＭ２７に図７に示すように例えば、ＰＭＩＮＤＸＢ[0]〜ＰＭＩＮＤＸＢ[19]の如く形成される。
【００３０】
ステップＳ８又はＳ９の実行後、Indexを１だけ増加させ（ステップＳ１０）、Indexが高負荷ＩＮＤＥＸ最大値より大であるか否かを判別する（ステップＳ１１）。高負荷ＩＮＤＥＸ最大値はＴｉデータマップにおける高負荷領域の上限値、例えば、１９である。Index≦高負荷ＩＮＤＥＸであるならば、ステップＳ７に戻って上記の補正後マップ軸目盛値ＰＭＩＮＤＸＢ[Index]の設定動作を行う。Index＞高負荷ＩＮＤＥＸであるならば、補正後マップ軸目盛値ＰＭＩＮＤＸＢ[Index]の全てがＲＡＭ２７に保持されたことになる。
【００３１】
ＣＰＵ２４は、前回の大気圧ＰＡＰＲＥと大気圧ＰＡとが等しいか否かを判別する（ステップＳ１２）。前回の大気圧ＰＡＰＲＥは前回のマップ軸補正ルーチン実行時の大気圧ＰＡである。ＰＡＰＲＥ＝ＰＡであるならば、今回の大気圧ＰＡは前回のマップ軸補正ルーチン実行時の大気圧ＰＡＰＲＥから変化していないので、フラグＦ＿ＲＥＮＥＷＩＤＸはフラグＦ＿ＲＥＩＤＸＩＮＨに保持されている内容とされる（ステップＳ１３）。一方、ＰＡＰＲＥ≠ＰＡであるならば、今回の大気圧ＰＡは前回のマップ軸補正ルーチン実行時の大気圧ＰＡＰＲＥから変化しているので、フラグＦ＿ＲＥＮＥＷＩＤＸは１に等しくされる（ステップＳ１４）。なお、ステップＳ１２のＰＡＰＲＥとＰＡとの一致判別においては、一致には許容値±ΔＰＡの範囲が含まれる。
【００３２】
ＣＰＵ２４は、エンジンが停止中であるか否かを判別する（ステップＳ１５）。例えば、エンジン回転数Ｎｅが所定回転数以下であるときエンジン停止中と判別する。エンジン停止中であるならば、フラグＦ＿ＲＥＮＥＷＩＤＸが１であるか否かを判別する（ステップＳ１６）。Ｆ＿ＲＥＮＥＷＩＤＸ＝１であるならば、上記したように今回の大気圧ＰＡは前回のマップ軸補正ルーチン実行時の大気圧ＰＡＰＲＥから変化していることを示すので、フラグＦ＿ＲＥＮＥＷＩＤＸを０にリセットし（ステップＳ１７）、Indexを０に設定し（ステップＳ１８）、補正後マップ軸目盛値ＰＭＩＮＤＸＢ[Index]をマップ軸目盛値ＰＭＩＮＤＥＸ[Index]に保存する（ステップＳ１９）。マップ軸目盛値ＰＭＩＮＤＥＸ[Index]はＲＡＭ２７に上書き保存される。ステップＳ１９の実行後、Indexを１だけ増加させ（ステップＳ２０）、Indexが高負荷ＩＮＤＥＸ最大値より大であるか否かを判別する（ステップＳ２１）。Index≦高負荷ＩＮＤＥＸであるならば、ステップＳ１９に戻って上記の補正後マップ軸目盛値ＰＭＩＮＤＸＢ[Index]のＰＭＩＮＤＥＸ[Index]への保存動作を行う。Index＞高負荷ＩＮＤＥＸであるならば、ＲＡＭ２７のマップ軸目盛値ＰＭＩＮＤＥＸ[Index]への保存動作が全て終了したことになるので、今回の大気圧ＰＡを前回の大気圧ＰＡＰＲＥとして保存する（ステップＳ２２）。
【００３３】
ＣＰＵ２４は、ステップＳ１５においてエンジン停止中ではないと判別した場合、又はステップＳ１６においてＦ＿ＲＥＮＥＷＩＤＸ＝０であると判別した場合には、処理をステップＳ２２に進めて今回の大気圧ＰＡを前回の大気圧ＰＡＰＲＥとして保存する。
【００３４】
なお、かかるマップ軸補正ルーチンにおいて、ステップＳ４及びＳ５、並びにステップＳ１６〜Ｓ２１の実行時には割り込み処理は禁止である。
【００３５】
燃料噴射制御ルーチンにおいて、ＣＰＵ２４は図８に示すように、先ず、今回の吸気圧ＰＭをＡ／Ｄ変換器２３から読み取り（ステップＳ３１）、更に、今回のエンジン回転数Ｎｅを回転数カウンタ２２の出力から得る（ステップＳ３２）。そして、フラグＦ＿ＲＥＮＥＷＩＤＸが１であるか否かを判別する（ステップＳ３３）。Ｆ＿ＲＥＮＥＷＩＤＸ＝１であるならば、今回の大気圧ＰＡは前回のマップ軸補正ルーチン実行時の大気圧ＰＡＰＲＥから変化していることを示すので、フラグＦ＿ＲＥＮＥＷＩＤＸを０にリセットし（ステップＳ３４）、Indexを０に設定し（ステップＳ３５）、補正後マップ軸目盛値ＰＭＩＮＤＸＢ[Index]をマップ軸目盛値ＰＭＩＮＤＥＸ[Index]に上書き保存する（ステップＳ３６）。ステップＳ３６の実行後、Indexを１だけ増加させ（ステップＳ３７）、Indexが高負荷ＩＮＤＥＸ最大値より大であるか否かを判別する（ステップＳ３８）。Index≦高負荷ＩＮＤＥＸであるならば、ステップＳ３５に戻って上記の補正後マップ軸目盛値ＰＭＩＮＤＸＢ[Index]のＰＭＩＮＤＥＸ[Index]への保存動作を行う。このステップＳ３３〜Ｓ３８の動作は上記のステップＳ１６〜Ｓ２１の動作と同一である。
【００３６】
ＣＰＵ２４は、ステップＳ３３においてＦ＿ＲＥＮＥＷＩＤＸ＝０であると判別した場合、又はステップＳ３８においてIndex＞高負荷ＩＮＤＥＸであると判別した場合には、直ちにステップＳ３９及びＳ４０を実行する。ステップＳ３９においては今回の吸気圧ＰＭと今回のエンジン回転数Ｎｅとに対応した基本噴射量Ｔｉを、ＲＡＭ２７のマップ目盛値ＰＭＩＮＤＥＸ[Index]を用いてＲＯＭ２６のＴｉデータマップを検索することによって設定する。今回の吸気圧ＰＭがマップ軸目盛値ＰＭＩＮＤＥＸ[0]〜ＰＭＩＮＤＥＸ[19]の中間値である場合、及び今回のエンジン回転数Ｎｅがマップ軸目盛値＃ＮＥＩＮＤＸ＿Ｎ[0]〜＃ＮＥＩＮＤＸ＿Ｎ[a]各々の中間値である場合には補間計算を用いて基本噴射量Ｔｉを設定することが行われる。ステップＳ４０においては、基本噴射量Ｔｉを各種エンジンパラメータに応じた燃料補正係数による補正及びインジェクタ無効時間補正を行って最終燃料噴射量Ｔｉｏｕｔを設定する。
【００３７】
燃料補正係数については、上記の大気圧補正係数ＭＰＡの他に、例えば、酸素濃度Ｏ２を読み取り、酸素濃度Ｏ２に応じた現在の空燃比Ａ／ＦをＲＯＭ２６内のＡ／Ｆデータマップから得て、空燃比Ａ／Ｆと目標空燃比（例えば、１４．７）との大小に応じたフィードバック補正係数ＭＨＧを算出する。また、冷却水温ＴＷを読み取り、冷却水温ＴＷに応じた水温補正係数ＭＴＷをＲＯＭ２６内のＴＷデータマップから検索する。更に、吸気温ＴＡを読み取り、吸気温ＴＡに応じた吸気温補正係数ＭＴＡをＲＯＭ２６内のＴAデータマップから検索する。このような補正係数ＭＰＡ，ＭＴＷ，ＭＴＡ，……を乗算することにより、燃料補正係数が得られる。更に、その燃料補正係数を基本噴射量Ｔｉに乗算しかつインジェクタ無効時間を加算することにより最終燃料噴射量Ｔｉｏｕｔ（最終制御量）が得られる。最終燃料噴射量Ｔｉｏｕｔはインジェクタ６による燃料噴射時間幅を示している。補正係数ＭＰＡの乗算は空気密度補正を行っている。
【００３８】
ＣＰＵ２４は、最終燃料噴射量Ｔｉｏｕｔの算出後、燃料噴射開始タイミングにおいてインジェクタ開弁タイマに最終燃料噴射量Ｔｉｏｕｔをセットさせて時間計測を開始させ、インジェクタ開弁タイマが最終燃料噴射量Ｔｉｏｕｔを計測している期間においてのみインジェクタ６は駆動回路２５によって駆動されて燃料を噴射する。
【００３９】
かかるマップ軸補正ルーチン及び燃料噴射制御ルーチンによる動作によって、大気圧ＰＡが変化したときにＴｉデータマップのマップ軸目盛値ＰＭＩＮＤＥＸ[Index]が更新される。エンジン回転数Ｎｅを一定とした場合に、平地における吸気圧ＰＭ（初期マップ軸目盛値＃ＰＭＩＮＤＸ＿Ｎ[0]〜＃ＰＭＩＮＤＸ＿Ｎ[19]）に対する基本噴射量Ｔｉが図９に示す特性Ａとすると、高地において吸気圧ＰＭ（マップ軸目盛値ＰＭＩＮＤＥＸ[0]〜ＰＭＩＮＤＥＸ[19]）に対する基本噴射量Ｔｉは図９に示す特性Ｂとなる。すなわち、特性Ｂは特性Ａを吸気圧軸方向に圧縮した特性となるので、高地において吸気圧が低下することにより設定される基本噴射量Ｔｉが減少することが防止される。図９では平地大気圧ＷＯＴ（スロットル弁全開）時の特性Ａの基本噴射量Ｔｉと、高地大気圧ＷＯＴ時の特性Ｂの基本噴射量Ｔｉが同一であることを示している。更に、最終燃料噴射量Ｔｉｏｕｔの算出の際に基本噴射量Ｔｉには上記のように補正係数ＭＰＡが乗算されて、空気密度の差が補償されるので、基本噴射量Ｔｉ自体は図９に示す特性Ｃとなる。よって、高地においても適切な最終燃料噴射量Ｔｉｏｕｔを設定することができる。
【００４０】
また、大気圧ＰＡは急に或いは頻繁に変化することはないので、マップ軸目盛値ＰＭＩＮＤＥＸ[Index]が実際に更新される回数は少ない。よって、従来のようにエンジン回転に同期した基本燃料量Ｔｉ設定のために吸気圧検出毎に大気圧補正をするというような演算動作は必要なくなるので、ＣＰＵ２４の負荷を減少させることができる。
【００４１】
なお、上記した実施例においては、本発明を単気筒内燃機関に適用しているが、多気筒内燃機関にも本発明を同様に適用することができる。多気筒内燃機関においては、気筒毎に基本噴射量Ｔｉ及び最終燃料噴射量Ｔｉｏｕｔが演算動作により設定されるので、ＣＰＵ２４の負荷をより減少させることができる。
【００４２】
また、上記した実施例においては、吸気圧ＰＭとエンジン回転数Ｎｅとに応じて基本噴射量Ｔｉを設定する３次元のデータマップの場合について説明したが、吸気圧ＰＭだけに応じて２次空気量等の他の制御パラメータを設定する２次元のデータマップにも本発明を適用することができる。
【００４３】
更に、上記した実施例においては、初期マップ軸目盛値＃ＰＭＩＮＤＸ＿Ｎ[0]〜＃ＰＭＩＮＤＸ＿Ｎ[19]にその時点の大気圧の検出値に応じた高負荷用のマップ軸補正係数ＭＰＭＩＤＸＨ又は低負荷用のマップ軸補正係数ＭＰＭＩＤＸＬを乗算し、その乗算結果をＴｉデータマップの目盛値ＰＭＩＮＤＥＸ[0]〜ＰＭＩＮＤＥＸ[19]としているが、大気圧の大きさ毎に目盛値ＰＭＩＮＤＥＸ[0]〜ＰＭＩＮＤＥＸ[19]の組を予め記憶しておき、その時点の大気圧の検出値に応じて１組の目盛値ＰＭＩＮＤＥＸ[0]〜ＰＭＩＮＤＥＸ[19]を選択し、その選択した１組の目盛値によってデータマップの目盛値ＰＭＩＮＤＥＸ[0]〜ＰＭＩＮＤＥＸ[19]を書き換えても良い。
【００４４】
更に、上記した実施例においては、大気圧ＰＡを大気圧センサ２０によって検出しているが、吸気圧センサ７や図示しない排気圧センサ等の圧力センサによって検出された圧力値に基づいて大気圧ＰＡを予測計算し、それをマップ軸補正ルーチン及び燃料噴射制御ルーチンにおいて用いても良い。
【００４５】
また、上記した実施例においては、ＴｉデータマップがＲＯＭ２６に形成されているが、ＲＡＭ２７にＴｉデータマップを形成してそのＴｉデータマップの目盛値を大気圧補正によって書き換える構成でも良い。
【図面の簡単な説明】
【００４６】
【図１】平地及び高地各々におけるスロットル弁開度に対する吸気圧の変化を示す図である。
【図２】本発明が適用されたエンジン制御システムエンジンを示す図である。
【図３】図２の装置中のＥＣＵの具体的構成を示すブロック図である。
【図４】ＲＯＭに形成されたＴｉデータマップを示す図である。
【図５】ＲＡＭに記憶される補正後マップ軸目盛値ＰＭＩＮＤＥＸ[Index]を示す図である。
【図６】マップ軸補正ルーチンによる動作を示すフローチャートである。
【図７】ＲＡＭに記憶される補正後マップ軸目盛値ＰＭＩＮＤＸＢ[Index]を示す図である。
【図８】燃料噴射制御ルーチンによる動作を示すフローチャートである。
【図９】平地及び高地各々における吸気圧に対する基本噴射量の特性、並びに空気密度補正後の基本噴射量の特性を示す図である。
【符号の説明】
【００４７】
１  エンジン本体
２  吸気管
３  スロットル弁
４  エアクリーナ
５  スロットルセンサ
６  インジェクタ
７  吸気圧センサ
８  吸気温センサ
１０  排気管
１２  酸素濃度センサ
１５  ＥＣＵ
２０  大気圧センサ
【図１】
2008144655.tif 000003
【図２】
2008144655.tif 000004
【図３】
2008144655.tif 000005
【図４】
2008144655.tif 000006
【図５】
2008144655.tif 000007
【図６】
2008144655.tif 000008
【図７】
2008144655.tif 000009
【図８】
2008144655.tif 000010
【図９】
2008144655.tif 000011