(57)【特許請求の範囲】
【請求項１】
エンジン運転状態を検出する手段と、
エンジン運転状態に基づいて燃料噴射量を演算する手段と、
エンジンのアイドル状態を判定する手段と、
アイドル状態におけるニュートラルスイッチからの信号、エアコンスイッチからの信号、パワステスイッチからの信号、電気負荷信号のうちの少なくとも一つをアイドル状態でのパラメータとして検出する手段と、
アイドル状態でエンジン回転数が目標回転数となるようにアイドル燃料噴射量を補正する手段と、
前記検出したパラメータに応じて予め想定されるアイドル状態での目標回転数を維持するのに必要な燃料噴射量に相当する実相当噴射量を演算する手段と、
アイドル状態において所定の条件が成立したときに燃料噴射量誤差の学習許可を判定する手段と、
学習の許可時に前記アイドル補正噴射量と実相当噴射量の偏差から噴射量誤差を演算し学習する手段と、
前記検出した運転状態とこの噴射量誤差とから許容最大噴射量を演算する手段と、
前記エンジン運転状態に基づいて演算される燃料噴射量をこの許容最大噴射量に基づいて制限して目標噴射量とする噴射量修正手段と、
この目標噴射量に基づいて燃料噴射量を制御する手段とを備えることを特徴とする内燃機関の制御装置。
【請求項２】
エンジン運転状態を検出する手段と、
エンジン運転状態に基づいて燃料噴射量を演算する手段と、
エンジンのアイドル状態を判定する手段と、
アイドル状態におけるニュートラルスイッチからの信号、エアコンスイッチからの信号、パワステスイッチからの信号、電気負荷信号のうちの少なくとも一つをアイドル状態でのパラメータとして検出する手段と、
アイドル状態でエンジン回転数が目標回転数となるようにアイドル燃料噴射量を補正する手段と、
前記検出したパラメータに応じて予め想定されるアイドル状態での目標回転数を維持するのに必要な燃料噴射量に相当する実相当噴射量を演算する手段と、
アイドル状態において所定の条件が成立したときに燃料噴射量誤差の学習許可を判定する手段と、
学習の許可時に前記アイドル補正噴射量と実相当噴射量の偏差から噴射量誤差を演算し学習する手段と、
前記エンジン運転状態に基づいて演算される燃料噴射量を噴射量誤差に基づいて修正して制御目標噴射量とする噴射量修正手段と、
この燃料噴射量修正手段からの目標噴射量に基づいて排気還流率、燃料噴射時期、吸気スワール制御弁のうち少なくとも一つを制御する手段とを備えることを特徴とする内燃機関の制御装置。
【請求項３】
前記噴射量誤差の演算学習手段が、エンジン回転数の積算値、走行距離、経過時間に関連する重み係数のうち少なくとも一つを用いて、前記アイドル補正噴射量と実相当噴射量との偏差を加重平均処理する請求項１又は２に記載の内燃機関の制御装置。
【請求項４】
前記噴射量誤差の演算学習手段は、アイドル補正噴射量と実相当噴射量の偏差に予め定められた補正値を乗じて噴射量誤差を演算する請求項１〜３のいずれか一つに記載の内燃機関の制御装置。
【請求項５】
前記噴射量誤差の演算学習手段は、前記学習許可判定手段が学習不許可のときは、それまでに学習された噴射量誤差に予め定められた補正値を乗じて噴射量誤差とする請求項１〜４のいずれか一つに記載の内燃機関の制御装置。
【請求項６】
前記学習許可の判定手段が、エンジンが所定の基準回転数範囲にあるアイドル状態であって、この状態が所定時間以上継続しているときに学習許可を判定する請求項１〜５のいずれか一つに記載の内燃機関の制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は内燃機関の燃料噴射量を制御信号として用いて各種制御パラメータを制御する装置に関する。
【０００２】
【従来の技術】
ディーゼルエンジン等にあっては、エンジンの負荷と回転数に応じて基本的な燃料噴射量が決定され、この目標とする噴射量となるように燃料噴射ポンプが電子的に制御される。
【０００３】
しかし、実際に噴射される燃料量は、燃料噴射ポンプ、燃料噴射ノズルの生産バラツキや経時劣化などもあって目標噴射量とは正確に一致しないことがある。この場合には、運転状態に応じて最適な燃料供給特性とはならず、例えば目標噴射量よりも実際の噴射量が多ければ、高負荷域などでスモークが過大に発生したりする。
【０００４】
また、従来、例えば特開昭６３−２３０９４４号公報にもあるように、ディーゼルエンジンのＥＧＲ量（排気還流量）を運転状態に応じて制御するにあたり、この目標噴射量を制御信号として用いてＥＧＲ量を制御することがある。この場合にも、実際の噴射量と目標噴射量とが一致しないと、目標噴射量に基づいてＥＧＲ量を制御すると、不必要にＥＧＲが行われ、スモークが増えたりすることがある。
【０００５】
そこで、上記公報では、このような燃料噴射量の誤差を把握するため、例えばアイドル運転時などに目標とする所定の回転数を維持するのに必要な燃料噴射量の補正量を算出し、この補正量に基づいて目標噴射量を修正し、この修正された目標噴射量に基づいてＥＧＲ量を制御している。
【０００６】
【発明が解決しようとする課題】
ところが、このようにアイドル状態での燃料噴射量の補正量を算出しても、例えばエアコンやパワステなどの負荷がエンジンに加わった状態では、同じ目標回転数を維持するのに必要な燃料の噴射量が相違し、補正量はそのときの補機負荷等に応じて変動する。したがって、このような補正量に基づいて目標燃料噴射量を修正しても、運転条件によっては実際の噴射量と一致しなくなる。この場合には、この噴射量信号に基づいてＥＧＲ量を制御すると、実際の噴射量に対してＥＧＲ量が多くなることがあり、スモークの増大が避けられない。
【０００７】
また、このように燃料噴射量を修正しても、これに基づいて実際にエンジン供給する噴射量を制御するわけではないので、とくにアクセル全開付近において経時的な劣化の影響を含めて、燃料が過剰に噴射されるのを回避し、全開領域でのスモークの発生を確実に基準以下に抑制するのが難しかった。
【０００８】
本発明はこのような問題を解決するために提案されたもので、燃料の最大噴射量を適正に規制することで、アクセル全開域などでのスモークの発生を確実に防止することを目的とする。
【０００９】
また、各種パラメータ制御のための制御信号となる目標噴射量の信頼性を高め、排気組成などの改善を図ることを目的とする。
【００１０】
【課題を解決するための手段】
第１の発明は、エンジン運転状態を検出する手段と、エンジン運転状態に基づいて燃料噴射量を演算する手段と、エンジンのアイドル状態を判定する手段と、アイドル状態におけるニュートラルスイッチからの信号、エアコンスイッチからの信号、パワステスイッチからの信号、電気負荷信号のうちの少なくとも一つをアイドル状態でのパラメータとして検出する手段と、アイドル状態でエンジン回転数が目標回転数となるようにアイドル燃料噴射量を補正する手段と、前記検出したパラメータに応じて予め想定されるアイドル状態での目標回転数を維持するのに必要な燃料噴射量に相当する実相当噴射量を演算する手段と、アイドル状態において所定の条件が成立したときに燃料噴射量誤差の学習許可を判定する手段と、学習の許可時に前記アイドル補正噴射量と実相当噴射量の偏差から噴射量誤差を演算し学習する手段と、前記エンジン運転状態に基づいて演算される燃料噴射量をこの許容最大噴射量に基づいて制限して目標噴射量とする噴射量修正手段と、この目標噴射量に基づいて燃料噴射量を制御する手段とを備える。
【００１１】
第２の発明は、エンジン運転状態を検出する手段と、エンジン運転状態に基づいて燃料噴射量を演算する手段と、エンジンのアイドル状態を判定する手段と、アイドル状態におけるニュートラルスイッチからの信号、エアコンスイッチからの信号、パワステスイッチからの信号、電気負荷信号のうちの少なくとも一つをアイドル状態でのパラメータとして検出する手段と、アイドル状態でエンジン回転数が目標回転数となるようにアイドル燃料噴射量を補正する手段と、前記検出したパラメータに応じて予め想定されるアイドル状態での目標回転数を維持するのに必要な燃料噴射量に相当する実相当噴射量を演算する手段と、アイドル状態において所定の条件が成立したときに燃料噴射量誤差の学習許可を判定する手段と、学習の許可時に前記アイドル補正噴射量と実相当噴射量の偏差から噴射量誤差を演算し学習する手段と、前記エンジン運転状態に基づいて演算される燃料噴射量を噴射量誤差に基づいて修正して制御目標噴射量とする噴射量修正手段と、この燃料噴射量修正手段からの目標噴射量に基づいて排気還流率、燃料噴射時期、吸気スワール制御弁のうち少なくとも一つを制御する手段とを備える。
【００１２】
第３の発明は、前記噴射量誤差の演算学習手段が、エンジン回転数の積算値、走行距離、経過時間に関連する重み係数のうち少なくとも一つを用いて、前記アイドル補正噴射量と実相当噴射量との偏差を加重平均処理する。
【００１３】
第４の発明は、前記噴射量誤差の演算学習手段は、アイドル補正噴射量と実相当噴射量の偏差に予め定められた補正値を乗じて噴射量誤差を演算する。
【００１４】
第５の発明は、前記噴射量誤差の演算学習手段は、前記学習許可判定手段が学習不許可のときは、それまでに学習された噴射量誤差に予め定められた補正値を乗じて噴射量誤差とする。
【００１５】
第６の発明は、前記学習許可の判定手段が、エンジンが所定の基準回転数範囲にあるアイドル状態であって、かつ補機負荷等が無負荷であり、この状態が所定時間以上継続しているときに学習許可を判定する。
【００１８】
【発明の作用・効果】
第１、第２の発明において、もし、アイドル状態における補機負荷等を一切考慮しなければ、一定のアイドル回転数を維持するのに必要な燃料補正量は、そのまま目標噴射量と実際の噴射量との誤差分に相当する。
【００１９】
しかし、アイドル回転数を一定に維持するのに必要な補正量は、そのときエンジンにかかる補機負荷の状態等によっても変化する。目標とする燃料噴射量と実際の噴射量とが一致していたとしても、補機負荷状態によって燃料の補正量が相違するのである。
【００２０】
したがって、これら補機負荷状態等に応じて予想される燃料噴射量に相当するアイドル回転数を一定に維持するのに必要なアイドル実相当噴射量を設定しておき、これと補正後の燃料噴射量を比較すれば、補機負荷等の影響を除いた燃料噴射量の誤差分が正しく判断できる。
【００２１】
実相当噴射量はアイドル状態でのパラメータの入力状態に応じて決定され、したがって補機負荷、電気負荷等に対応した、実際のアイドル噴射量を正確に反映したものとなり、また、噴射量誤差は順次学習されていくので、燃料噴射特性の経時変化などを含む変動要因を補償し、常に精度よく噴射量誤差を算出できる。
【００２２】
したがって、この噴射量誤差を基にして最大燃料噴射量を規制することにより、実際のエンジンに対応した最大燃料噴射量に設定でき、アクセル全開付近でのスモークが過大になったり、エンジン過負荷になったりすることが確実に回避できる。
【００２３】
また、燃料噴射量を噴射量誤差に基づいて修正し、目標噴射量とすれば、これは実際の燃料噴射量と一致し、したがって、この目標噴射量に基づいて排気還流率、燃料噴射時期、吸気スワール制御弁のうち少なくとも一つを制御することにより、実際の燃焼状態に応じての制御が行え、排気特性や燃費特性を悪化させることなく、最良の制御が実現できる。
【００２４】
第３の発明においては、アイドル補正噴射量と実相当噴射量の偏差を演算するにあたり、エンジンの生産後の回転数の積算値、走行距離、あるいは経過時間など、燃料噴射量が変動する要因を基にして、加重平均処理するので、アイドル補正噴射量と実相当噴射量との偏差の客観的な正確性が増す。
【００２５】
第４の発明では、アイドル補正噴射量と実相当噴射量の偏差に予め定められた補正値を乗じて噴射量誤差を求めるので、噴射量信号の演算特性の安定性が高められる。
【００２６】
第５の発明では、学習許可判定手段が学習不許可のときは、それまでに学習された噴射量誤差に基づいて噴射量誤差を算出するので、最新の情報が無くても、前回の情報に基づいて噴射量信号が求められ、信頼性が維持される。
【００２７】
第６の発明において、学習許可が、エンジン回転がアイドル状態の無負荷で安定しているときにのみ行われるので、外乱による誤差の影響をそれだけ小さくして、制御の安定性を高められる。
【００３０】
【発明の実施の形態】
以下、本発明の実施の形態について添付図面に基づいて説明する。
【００３１】
まず、図３４にディーゼルエンジンの燃料噴射システムを示す。
【００３２】
図３４において、エンジン回転に同期して回転駆動される燃料噴射ポンプ１の入力軸６ａには、燃料を予圧するフィードポンプ６が取付けられ、さらに同軸上には入力軸６ａと同一的に回転すると共に、軸方向に往復運動するように連結されたプランジャ２が配置される。
【００３３】
フィードポンプ６はポンプ室７に加圧した燃料を送り出し、かつ余剰燃料は図示しない燃料タンクへと還流され、ポンプ室７の圧力を一定に維持する。
【００３４】
プランジャ２には気筒数に対応したカム山をもつフェイスカム２ａが同軸に設けられ、フェイスカム２ａがローラ８ａに乗り上げる毎にプランジャ２が軸方向に往復運動する。例えば６気筒エンジンならば、入力軸６ａが１回転すると、この間にフェイスカム２ａが６回だけローラ８ａに乗り上げ、プランジャ２が６回往復運動する。プランジャ２が往復運動すると、その都度、プランジャ室２ｂに燃料を吸込み、加圧する。なお、２ｋはフェイスカム２ａに対抗してプランジャ２を押し戻すリタンースプリングである。
【００３５】
プランジャ２の伸び出し行程において、プランジャ室２ｂには、前記ポンプ室７からの燃料が、燃料停止弁１０及びプランジャ２に設けたスリット２ｊを経由して吸入される。
【００３６】
これに対して、プランジャ２の圧縮行程でプランジャ室２ｂの加圧燃料を燃料噴射ノズルに圧送するため、プランジャ２の軸心に沿って、プランジャ室２ｂと連通する連通路２ｃが形成され、この連通路２ｃは途中において半径方向に分岐する高圧通路２ｄをもち、またその先端部において同じく半径方向に貫通する放出通路２ｅが形成される。
【００３７】
プランジャ２の回転位置に応じて高圧通路２ｄと選択的に接続するように、プランジャ２の周囲のシリンダ２ｆの内周には、エンジン気筒数に対応した数のポート２ｇが均等に配置され、各ポート２ｇにはそれぞれデリバリバルブ２ｈ（１つだけしか図示していない）が接続し、このデリバリバルブ２ｈから図示しない燃料噴射ノズルへと燃料が圧送される。
【００３８】
プランジャ２は１回転する度に６回往復し、その都度吸入した燃料を加圧するが、加圧燃料が連通路２ｃから高圧通路２ｄに押し込まれ、このときプランジャ２の回転位置により連通するポート２ｇに加圧燃料が送り込まれ、対応するデリバリバルブ２ｈを介して燃料噴射ノズルに燃料が圧送される。
【００３９】
一方、プランジャ２の外周にはコントロールスリーブ３が摺動自在に嵌合し、通常は前記放出通路２ｅを被覆して閉じているが、プランジャ２の圧縮方向への移動により、やがて放出通路２ｅを解放する。これにより、プランジャ室２ｂの圧力が解放され、デリバリバルブ２ｈから燃料噴射ノズル１１への燃料の圧送が終了する。
【００４０】
したがって、燃料噴射ノズルに送り込まれる燃料量は、コントロールスリーブ３の位置により変化し、プランジャ２の圧縮方向への移動時に、早期に放出通路２ｅを解放すれば、燃料噴射量は少なく、逆に放出通路２ｅの解放時期が遅くなると、燃料噴射量は多くなる。
【００４１】
この燃料噴射量を制御するため、コントロールスリーブ３の位置を自由に変化させるロータリソレノイド４が設けられ、このロータリソレノイド４にはコントローラ１８からの燃料の噴射信号が供給され、これに応じてコントロールスリーブ３の位置を変える。なお、コントロールスリーブ３の位置は位置センサ５によって検出され、コントローラ１８にフィードバックされる。
【００４２】
次に、前記したフェイスカム２ａが乗り上げるローラ８ａは、タイマピストン８によって、そのフェイスカム２ａの円周方向の位置が制御される。なお、図示したタイマピストン８は、説明の便宜上、実際の位置から９０度だけ回転させてある。タイマピストン８の両側には、低圧室８ｂと高圧室８ｃとが設けられ、高圧室８ｃの圧力は、コントロールバルブ９によって高圧燃料の一部を低圧室８ｂに逃がす量を制御することにより調整され、これによってタイマピストン８の位置が変化する。
【００４３】
タイマピストン８の位置が変化し、フェイスカム２ａの回転方向にローラ８ａの位置を進めると、フェイスカム２ａがローラ８ａに乗り上げる位置が相対的に遅れ、プランジャ２による燃料の加圧開始時期、つまり燃料の噴射時期が遅くなり、逆にフェイスカム２ａの回転と反対方向にローラ８ａの位置を遅らせると、プランジャ２による加圧開始時期が早まり、燃料噴射時期が早くなる。
【００４４】
前記したコントローラ１８からの信号により、運転状態に応じてコントロールバルブ９の作動が制御され、タイマピストン８の位置が調整され、燃料噴射時期が進角、遅角制御される。
【００４５】
コントローラ１８には、燃料噴射ノズル１１の開弁時期及びリフト量を検出するノズルリフトセンサ１２と、燃料噴射ポンプ１に供給される燃料温度を検出する燃料温度センサ１５と、エンジン冷却水温を検出する冷却水温センサ１３と、アクセル開度を検出するアクセル開度センサ１６と、ポンプ回転数を検出する回転数センサ１４などからの信号が入力し、これらに基づいて燃料噴射量、噴射時期の制御信号を演算し、出力する。
【００４６】
コントローラ１８において決定される燃料噴射量は、単に燃料噴射量を制御するための信号として用いられる以外に、図示しないが、例えば、ＥＣＲ量（排気還流量）、燃料噴射時期、吸気スワールの制御弁などの制御パラメータを制御するための信号として利用される。したがって、目標噴射量が正確に実際の噴射量と一致しないと、この目標噴射量に基づいて例えば排気還流量などを制御すると、実際の噴射量とのずれにより排気還流率が実際の燃焼状態と対応しなくなり、燃焼が不安定となったり、スモークが増大したりする。
【００４７】
また、エンジンに供給する最大噴射量を適正に制限しないと、とくにアクセル全開付近で過剰に燃料が供給されたときには、スモークが大量に発生したり、エンジンが過負荷状態に陥ったりする。
【００４８】
このようなことが無いように、本発明では図１のブロック図に示すようにして燃料噴射量誤差を学習し、これに基づいて噴射量を補正し、この噴射量信号が実際の噴射量を正しく反映するようにする。
【００４９】
図１において、１０１はエンジン回転数やアクセル開度（負荷）などを含む運転状態を検知する手段であり、１０２はこれらの各出力から基本となる燃料噴射量を演算する手段である。また、１０３はアイドルスイッチなどの出力からアイドル運転状態を判定する手段、１０４は例えばスタータスイッチ、イグニッションスイッチ、パワステスイッチ、電気負荷信号、ニュートラルスイッチ、エアコンスイッチや、燃料温度、エンジン冷却水温、車速、電源電圧、エンジン回転数センサからの各種パラメータを入力する手段である。
【００５０】
１０５は各種パラメータ入力手段１０４の出力に基づいて、さまざまな条件下において、アイドル運転時に目標回転数を維持するため、実際に噴射していると予想される噴射量を演算する実相当噴射量の演算手段である。１０６は上記した燃料噴射量演算手段１０２、アイドル状態判定手段１０３，各種パラメータ入力手段１０４からの信号に基づいてアイドル運転時に目標回転数と一致するように噴射量を補正する手段である。また、１０７はアイドル状態判定手段１０３と各種パラメータ入力手段１０４の出力に基づいて、後述するように、アイドル運転状態での特定の条件においてのみ燃料噴射量誤差の学習を行うべく、学習の許可判定を行う手段である。
【００５１】
そして、１０８は実相当噴射量の演算手段１０５と、アイドル燃料補正手段１０６と、学習許可判定手段１０７との出力に基づいて、学習が許可された運転状態において、補正されたアイドル燃料噴射量と予測される実相当噴射量との偏差から燃料噴射量の誤差を演算する誤差演算手段である。
【００５２】
この場合、例えばエアコンの作動しているときは、非作動時に比較して、アイドル回転数を目標回転数に維持するのに必要な燃料噴射量は大きくなり、これと同じく、実相当噴射量も入力パラメータにより変化し、エアコン作動時には非作動時に比較して大きくなる。したがって、これら噴射量の偏差は、エアコン負荷等の影響を除いた噴射量の誤差分に相当する。
【００５３】
１０９は燃料噴射量演算手段１０２と噴射量誤差演算手段１０８の出力から、燃料噴射量を噴射量誤差に基づいて修正し、目標噴射量を設定する噴射量演算手段である。１１０はこのようにして最終的に決められた目標噴射量にしたがって各制御パラメータ、例えばＥＣＲ、燃料噴射時期、スワール制御弁などを制御する制御手段である。
【００５４】
一方、最大噴射量演算手段１１２において、運転状態検知手段１０１からの運転状態を代表する信号から求めた燃料噴射量の最大値を、誤差演算手段１０８からの噴射量誤差等に基づいて修正し、燃料の最大噴射量を規定する。そして、最終噴射量設定手段１１３で、前記燃料の噴射量が規定の最大噴射量を越えることのないように制限し、これに基づいて燃料噴射量制御手段１１４がエンジンに供給する燃料噴射量を制御する。
【００５５】
ここで、これら制御内容について、以下のフローチャートにしたがって、さらに詳しく説明する。
【００５６】
まず、図２は基本燃料噴射量を演算するフローであり、エンジン回転に同期したタイミングで処理が行われる（Ｒｅｆ同期演算）。
【００５７】
ステップ１、２でエンジン回転数Ｎｅとアクセル開度Ｃｌを読み込み、ステップ３では、これらＮｅとＣｌに基づいて、図３に示すようなマップから燃料噴射量を設定し、これをＭｑｄｒｖとする。ステップ４ではこの燃料噴射量Ｍｑｄｒｖについてエンジン冷却水温等による増量補正を行い、基本燃料噴射量Ｑｓｏｌ１とする。そして、ステップ５ではアイドル状態を判定するスイッチ、例えばアクセルの全閉位置を検出するスイッチの出力に基づいてアイドル状態を判定する。アイドル状態であるときは、ステップ６に進み、エンジン回転数Ｎｅがアイドル状態での目標回転数Ｎｓｅｔとなるように燃料噴射量を補正し、この補正後の値をＱｓｏｌ２とする。
【００５８】
なお、目標アイドル回転数Ｎｓｅｔの設定については、図４で説明する。
【００５９】
これに対して、アイドル状態に無いときは、そのままＱｓｏｌ１をＱｓｏｌ２として処理を終了する。
【００６０】
図４はアイドル運転状態において、目標アイドル回転数Ｎｓｅｔを設定するフローである（Ｒｅｆ同期演算）。
【００６１】
ステップ１で水温Ｔｗｎを読み込み、ステップ２では、図５のようなテーブルから、Ｔｗｎに基づいて目標アイドル回転数Ｎｓｅｔを設定し（水温が低いほど目標回転数は高くなる）、処理を終了する。
【００６２】
次に図６は、実際の噴射量と一致するように噴射量の誤差分を取り除いた燃料噴射量を演算するフローである（Ｒｅｆ同期演算）。
【００６３】
ステップ１で各種センサやスイッチ類の信号を読み込み、ステップ２では燃料噴射量の誤差を学習するか否かの許可判定を行う。ただし、この学習許可判定については、図２４、図２５で詳しく説明する。
【００６４】
ステップ３では燃料噴射量の誤差を演算するが、この噴射量誤差の具体的な演算内容については、図２６で詳しく説明する。
【００６５】
そして、ステップ４では誤差分を修正された制御目標噴射量Ｑｓｏｌ＿ｒｅａｌを演算して、処理を終了する。この噴射量Ｑｓｏｌ＿ｒｅａｌの演算については、図７で説明する。
【００６６】
図７は目標噴射量Ｑｓｏｌ＿ｒｅａｌを演算するフローである（Ｒｅｆ同期演算）。
【００６７】
ここでは、まずステップ１で、図２６で求めた燃料噴射量の誤差Ｄｑｓｏｌ１と、基本噴射量Ｑｓｏｌ２を読み込む。次にＱｓｏｌ２からＤｑｓｏｌ１を除いた値（差し引いた値）を目標噴射量Ｑｓｏｌ＿ｒｅａｌとして、処理を終了する。つまり、後述するように求めた噴射量誤差Ｄｑｓｏｌ１に基づいて基本燃料噴射量を補正し、制御噴射量信号とする。なお、この目標噴射量Ｑｓｏｌ＿ｒｅａｌについては、図１６で説明するように、許容最大噴射量との関係に基づいて、噴射量の最大値が規制されるようになっている。
【００６８】
次に、図８から図１５によって、制御目標噴射量Ｑｓｏｌ＿ｒｅａｌを用いて各種制御パラメータ、つまりＥＧＲ率や燃料噴射時期、吸気スワール等を制御するための手順について説明する。
【００６９】
まず、図８は目標噴射量Ｑｓｏｌ＿ｒｅａｌを用いて目標のＥＧＲ率を設定するためのフローである（Ｒｅｆ同期演算）。
【００７０】
始めにステップ１で、エンジン回転数Ｎｅ、目標噴射量Ｑｓｏｌ＿ｒｅａｌ、エンジン冷却水温Ｔｗｎを読み込む。ステップ２ではエンジン回転数Ｎｅと目標噴射量Ｑｓｏｌ＿ｒｅａｌとから、図９示すようなマップを検索し、基本目標ＥＧＲ率Ｍｅｇｒｂを演算する。この場合、目標ＥＧＲ率は、エンジンの使用頻度の高い領域、つまり低回転、低負荷（低噴射量）になるほど大きくなり、スモークが発生しやすい高出力時には小さくする。
【００７１】
次にステップ３で冷却水温Ｔｗｎから図１０で示すような、エンジン冷却水温に対応して目標ＥＧＲ率を補正する係数テーブルを検索し、補正係数Ｋｅｇｒ＿ｔｗを演算する。そして、ステップ４において、基本目標ＥＧＲ率と補正係数とから、目標ＥＧＲ率Ｍｅｇｒを次式により算出する。
【００７２】
Ｍｅｇｒｂ＝Ｍｅｇｒｂ＊Ｋｅｇｒ＿ｔｗ
ステップ５ではエンジンの状態が完爆状態か否かを判定する。ただし、この完爆状態の判定は、図１１で説明する。ステップ６では完爆状態と判定されたときは、そのまま終了し、完爆状態ではないと判定されたときは、目標ＥＧＲ率Ｍｅｇｒを０として処理を終了する。
【００７３】
これにより、エンジンの完爆後にＥＧＲの制御が行われ、完爆前は安定した始動性を確保するためにもＥＧＲは行われない。
【００７４】
図１１はエンジンの完爆を判定するフローで、例えば１０ｍｓ毎に時間同期したタイミングで演算される。
【００７５】
ステップ１でエンジン回転数Ｎｅを読み込み、ステップ２で完爆回転数に相当する完爆判定スライスレベルＮＲＰＭＫと比較し、Ｎｅの方が大きいときは完爆と判断し、ステップ３に進む。ここでは、完爆判定後のカウンタＴｍｒｋｂと所定時間ＴＭＲＫＢＰとを比較し、Ｔｍｒｋｂが所定時間よりも大きいときは、ステップ４に進み、完爆したものとして処理を終了する。
【００７６】
これに対して、ステップ２でＮｅの方が小さいときは、ステップ６に進み、カウンタＴｍｒｋｂ＝０にクリアし、ステップ７で完爆状態には無いものとして処理を終了する。また、ステップ２でＮｅよりも大きいときでも、ステップ３でカウンタＴｍｒｋｂが所定時間よりも小さいときは、ステップ５でカウンタをインクリメントし、Ｔｍｒｋｂ＝Ｔｍｒｋｂ＋１とし、完爆で無いと判断する。
【００７７】
これらにより、エンジン回転数が所定値（例えば４００ｒｐｍ）以上であって、かつこの状態が所定時間にわたり継続されたときに完爆したものと判定するのである。
【００７８】
図１２は制御目標噴射量Ｑｓｏｌ＿ｒｅａｌを用いて、燃料噴射時期を設定するフローである（１０ｍｓ同期演算）。
【００７９】
ステップ１ではエンジン回転数Ｎｅ、目標噴射量Ｑｓｏｌ＿ｒｅａｌを読み込み、ステップ２では、これらに基づいて例えば図１３に示すような、噴射時期マップから目標噴射時期Ｍｉｔを検索する。この検索したＭｉｔに対して、ステップ３で各種補正を行い、最終的な目標噴射時期Ｉｔｓｏｌを設定して処理を終了する。
【００８０】
また、図１４は制御目標噴射量Ｑｓｏｌ＿ｒｅａｌを用いて、吸気系のスワール制御弁の開度を制御するフローである（１０ｍｓ同期演算）。
【００８１】
ステップ１ではエンジン回転数Ｎｅ、目標噴射量Ｑｓｏｌ＿ｒｅａｌを読み込み、ステップ２ではＮｅから、例えば図１５に示すように設定したスワール制御弁切換スライスレベルＱｓｃｖを演算し、ステップ３でＱｓｏｌ＿ｒｅａｌとＱｓｃｖとを比較し、もし、Ｑｓｏｌ＿ｒｅａｌが大きいときは、ステップ４に進み、スワール制御弁をオフにし、逆にＱｓｏｌ＿ｒｅａｌが小さいときは、ステップ５に移行してスワール制御弁をオンにして処理を終了する。
【００８２】
次ぎに図１６は、基本燃料噴射量をＱｓｏｌ２を許容最大噴射量との関係に基づいて規制し、エンジンに供給する最終的な燃料噴射量を設定するためのフローで、エンジン回転に同期して演算される。
【００８３】
ステップ１で目標噴射量Ｑｓｏｌ２と、図１８、図１９に示すようにして求める最大噴射量Ｑｆｕｌを比較し、Ｑｓｏｌ２がこれよりも大きいときにはステップ２に進み、燃料噴射量ＱｓｏｌにＱｆｕｌを設定し、これに対してＱｓｏｌ２が小さいときには、ステップ３に進みＱｓｏｌにＱｓｏｌ２を設定し、処理を終了する。
【００８４】
なお、図１７は、このようにして求めた燃料噴射量Ｑｓｏｌから、実際に噴射量を制御する出力信号に変換するためのマップで、Ｑｓｏｌが大きくなるほど出力信号（電圧）Ｕαｓｏｌは大きくなる。
【００８５】
図１８は燃料噴射量を規制するため許容最大噴射量を演算する基本フローである（Ｒｅｆ同期演算）。
【００８６】
まず、ステップ１で各種センサやスイッチ等の信号を読み込み、ステップ２で誤差学習許可判定を行う（図２４、図２５で後で説明する）。ステップ３で噴射量誤差を演算し（図２６によって後で説明する）、ステップ４で最大噴射量を演算して処理を終える。ただし、これについては図１９で説明する。
【００８７】
図１９は最終的な最大燃料噴射量Ｑｆｕｌを演算するためのフローである（Ｒｅｆ同期演算）。
【００８８】
ステップ１でエンジン回転数Ｎｅを読み込み、ステップ２ではこのＮｅに基づいて、例えば図２０に示すようなテーブルから、限界空気過剰率Ｋｌａｍｂを設定する。ステップ３では後述（図２１、図２３参照）するようにして求めた１シリンダ当たりの吸入空気量Ｑａｃを読み込み、ステップ４でこれらＱａｃ、Ｋｌａｍｂ、噴射量誤差Ｄｑｓｏｌｌを用いて、最大噴射量を次式のようにして算出する。
【００８９】
Ｑｆｕｌ＝（Ｑａｃ／Ｋｌａｍｂ）／１４．７＋Ｄｑｓｏｌｌ
このようにしてＱｆｕｌを演算したら処理を終了する。
【００９０】
図２１は吸入空気量を演算するためのフローである。
【００９１】
ステップ１でエアフローメータの出力電圧Ｕｓを読み込み、ステップ２で図２２に示すような、電圧流量変換テーブルから、このＵｓに基づいて、吸入空気量Ｑａｓ０＿ｄに変換する。さらに、ステップ３でこのＱａｓ０＿ｄの加重平均処理を行い、Ｑａｓ０を求め、処理を終了する。なお、この処理は、例えば４ｍｓｅｃＪＯＢ等の所定時間間隔で実行する。
【００９２】
図２３はこの吸入空気量に基づいてシリンダに流入する空気量を演算するフローである。（Ｒｅｆ同期演算）。
【００９３】
ステップ１ではエンジン回転数Ｎｅを読み込み、ステップ２では前記した空気量Ｑａｓ０とＮｅとから、次式のようにして、１吸気行程当たりの吸入空気量Ｑａｃ０に変換する。
【００９４】
Ｑａｃ０＝（Ｑａｓ０／Ｎｅ）×ＫＣ    ただし、ＫＣは定数
ステップ３ではエアフローメータ（吸入空気量計測手段）から吸気コレクタまでの輸送遅れ分のディレイ処理を、Ｑａｃ＝Ｑａｃ０ｎ−Ｌとして行う。ただしＬは定数。そして、ステップ４では、次式のようにして、コレクタ内でのダイナミクス相当の遅れ処理を行い、１シリンダ当たりの吸入空気量Ｑａｃを算出するのである。
【００９５】
Ｑａｃ＝Ｑａｃｎ−１×（１−ＫＶ）＋Ｑａｃｎ×ＫＶ  ただし、ＫＶは定数
このようにして、処理を行い終了する。
【００９６】
次に図２４から図３３によって、本発明の要点でもある、燃料噴射量の誤差の演算、学習について説明する。
【００９７】
まず、図２４、図２５は燃料噴射量の誤差を学習することを許可するかどうかを判定するためのフローである（Ｒｅｆ同期演算）。
【００９８】
この許可判定は、次のようにしてアイドル回転時における種々の条件を検出して行われるもので、まず、ステップ１でエンジンのスタートスイッチＳＴＳＷがオンかどうか判断し、オン（始動中）のときはステップ１６に進み、学習許可カウンタＣｔｒｌｒｎを所定値ＴＭＲＬＲＮ＃に設定する。これに対して、オンでないときは、ステップ２に進み、イグニッションスイッチＩＧＮＳＷがオンかどうか判断する。オフ（エンジン停止）のときは、上記したステップ１６に進むが、オンのときは、ステップ３でアイドルスイッチＩＤＬＥＳＷがオンかどうかを判断する。
【００９９】
アイドルスイッチオンのときは、ステップ４に進んで車速ＶＳＰがゼロかどうか判断するが、否のときは上記と同じくステップ１６に進む。車速がゼロのときは（車両停車状態）、ステップ５に進み、エンジン回転数Ｎｅが、アイドル目標回転Ｎｓｅｔに所定値ＮＬＲＮＨ＃を加えた値よりも小さいかどうかを判断する。もし、回転数が低いときは、ステップ６に進むが、否のときはステップ１６に移行する。
【０１００】
ステップ６においては、エンジン回転数Ｎｅをアイドル目標回転Ｎｓｅｔから所定値ＮＬＲＮＬ＃を引いた値よりも大きいかどうか判断する。回転数がこれよりも高いときは、ステップ７に進むが、そうでないときは、ステップ１６に移行する。
【０１０１】
このようにして、アイドル回転数が、目標アイドル回転数を基準にして所定の範囲内にあるときはステップ７に進む。
【０１０２】
ステップ７では電源電圧Ｖｂを所定値ＶＢＬＲＮ＃と比較し、電源電圧が所定値以上のときは、ステップ８に進み、否のときはステップ１６に移行する。
【０１０３】
ステップ８ではエンジン冷却水温Ｔｗを所定値ＴＷＬＲＮＨ＃と比較し、所定値よりも低いときは、ステップ９に進むが、そうでないときはステップ１６に移行する。ステップ９では冷却水温Ｔｗを、前記したＴＷＬＲＮＨ＃よりも低い所定値ＴＷＬＲＮＬ＃と比較し、これよりも高いとき、つまりエンジン冷却水温が所定の範囲にあるときはステップ１０に進むが、そうでないときはステップ１６に移る。
【０１０４】
ステップ１０では燃料温度Ｔｆｎを所定値ＴＦＬＲＮＨ＃と比較し、もしこれより低いときはステップ１１に進むが、高いときはステップ１６に移行する。
【０１０５】
ステップ１１では、燃料温度Ｔｆｎを、前記ＴＦＬＲＮＨ＃よりは低い所定値ＴＦＬＲＮＬ＃と比較し、これよりも高いとき、つまり、燃料温度が所定の範囲にあるときは、ステップ１２に進むが、そうでないときは、やはりステップ１６に移行する。
【０１０６】
ステップ１２で電源電圧ＶｂがＶＢＱＬＬ＃よりも高いことを確認したら、ステップ１３に進み、パワステスイッチＰＷＳＴＳＷがオンかどうか判断し、オフのとき、つまりパワーステアリングが非作動のときは、ステップ１４に進み、ここで電気負荷、例えばヘッドライトやディフォッガ等がオフのときにステップ１５に進むが、ステップ１３、１４において、補機等を含む負荷があるときは、ステップ１６に移行する。
【０１０７】
そして、アイドル回転中であって、補機などの負荷が無い状態では、ステップ１５において、学習許可状態カウンタＣｔｒｌｒｎをデクリメントし、つまりＣｔｒｌｒｎ＝Ｃｔｒｌｒｎ−１とし、ステップ１７でカウンタＣｔｒｌｒｎがゼロよりも大きいかどうかを判断する。もし、ゼロならば、ステップ１８に進んで学習許可フラグをセット、すなわち、Ｆｌｇｑｌｎ＝１とするが、ゼロよりも大きいときは、ステップ１９に進み、学習許可フラグをクリアし、Ｆｌｇｑｌｎ＝０にして処理を終了する。
【０１０８】
このようにして、エンジンが適正な範囲のアイドル回転中であって、後述するようにニュートラルスイッチ、エアコンスイッチを除く、補機等の負荷がかからない状態にあり、かつこの状態が所定時間継続したときに学習許可フラグがセットされ、燃料噴射量の誤差学習が許可される。
【０１０９】
図２６は燃料噴射量の誤差を演算するための基本フローである（Ｒｅｆ同期演算）。
【０１１０】
まず、ステップ１では、後で詳しく説明する学習値反映ゲインＧｌｑｆｈを演算する。ステップ２で前記した学習許可フラグＦｌｇｑｌｎの状態を見て、フラグＦｌｇｑｌｎ＝１ならば、ステップ３に進む、クリアされていたらステップ５に移行する。
【０１１１】
ステップ３ではアイドル状態において目標回転数を維持するのに必要な、実際に供給していると考えられる燃料噴射量Ｑｓｏｌｉｂを演算する（図２８で詳しく説明する）。さらにステップ４では図２９に示すようにして、噴射量誤差Ｄｑｓｏｌ￥を演算する。
【０１１２】
そして、ステップ５で噴射量誤差Ｄｑｓｏｌｌを、Ｄｑｓｏｌｌ＝Ｄｑｓｏｌ￥×Ｇｌｑｆｈとして算出する。
【０１１３】
図２７は演算された噴射量誤差を安定させるための学習値反映ゲインＧｌｑｆｈを演算するためのフローである（Ｒｅｆ同期演算）。
【０１１４】
ステップ１ではアイドルスイッチＩＤＬＥＳＷがオンかどうか判断し、否ならばステップ４に移行するが、オンのときはステップ２で車速ＶＳＰがゼロかどうか判定する。もし車速がゼロでないときは、ステップ４に移るが、ゼロのときはステップ３で学習反映ゲインＧｌｑｆｈ＝１．０として処理を終了する。
【０１１５】
車速ゼロでないときは、ステップ４で、例えば図２８に示すような学習値反映ゲインマップにより、エンジン回転数Ｎｅと噴射量Ｑｓｏｌとから、学習値反映ゲインＧｌｑｆｈを読み込み、処理を終了する。
【０１１６】
なお、学習値反映ゲインＧｌｑｆｈは、運転条件がアイドル状態に近いほど１．０に近づき、高負荷、高回転域になるほど小さくなり、噴射量誤差を小さく評価する。
【０１１７】
次ぎに図２９は、アイドル運転状態で実際に噴射している想定される実相当噴射量Ｑｓｏｌｉｂを演算するためのフローである（Ｒｅｆ同期演算）。
【０１１８】
ステップ１では変速機のニュートラルスイッチＮｅｕｔＳＷがオンかどうか判断し、オンでニュートラル状態ならばステップ２に進み、オフならばステップ５に進む。
【０１１９】
ステップ２ではエアコンスイッチＡ／ＣＳＷがオンかどうか判断し、オフならばステップ３に進んで、噴射量Ｑｓｏｌｉｂ＝ＱＳＯＬＬ０＃とし、またオンならばＱｓｏｌｉｂ＝ＱＳＯＬＬ１＃とする。
【０１２０】
一方、ステップ５ではエアコンスイッチがオンかどうかを見て、オフならばステップ６に進み、噴射量Ｑｓｏｌｉｂ＝ＱＳＯＬＬ２＃とし、オンならばステップ７に進んでＱｓｏｌｉｂ＝ＱＳＯＬＬ３＃とし、処理を終了する。
【０１２１】
噴射量Ｑｓｏｌｉｂは、ニュートラルでないときの方が相対的に大きく、またエアコンスイッチがオンのときの方が相対的に大きくなる。
【０１２２】
なお、これらの噴射量は、アイドル回転数を目標回転数に維持するために必要な、予め設計等により想定されたアイドル運転状態での予想噴射量であり、補機負荷等が増えればそれだけ噴射量は増加する。
【０１２３】
ところで、前記した学習許可の判定条件からは、ニュートラルスイッチとエアコンスイッチからの信号は除外されており、したがって、学習が許可されたアイドル状態において、この例では４つの条件について、それぞれ実相当噴射量が設定されることになる。そして、後述するように、噴射量誤差の学習は、制御の安定性、信頼性を高めるために、これら４つの条件ついて行われたものの荷重平均がとられるようになっている。
【０１２４】
なお、この例では、ニュートラルスイッチとエアコンスイッチとから条件を判定し、実相当噴射量を算出しているが、この他に、例えばパワステスイッチ、電気負荷信号、ニュートラルスイッチ、エアコンスイッチや、燃料温度、エンジン冷却水温、電源電圧、エンジン回転数センサ等に基づいて、各条件下においてそれぞれ予想されるアイドル運転状態での実相当噴射量を、同じようにして設定することができ、条件が増えるほど、学習精度の安定性が高まる。
【０１２５】
ただし、これら入力パラメータが変わるときは、学習許可条件もそれぞれ相違し、実相当噴射量の入力条件に入ったものについては、学習条件から除外されることになる。
【０１２６】
そして、図３０は基本燃料噴射量と実相当噴射量とに基づいて、噴射量誤差学習値Ｄｑｓｏｌ￥を演算するためのフローである（Ｒｅｆ同期演算）。
【０１２７】
まず、ステップ１では生産時からのエンジン回転の積分値ＳＮｅから加重平均時定数補正係数（回転積分重み補正係数）Ｋｌｓｎｅを、図３１のようなテーブルに基づいて設定する。
【０１２８】
なお、このテーブル特性はエンジン初期作動時の不安定な状態での学習ゲインを小さくし、経時的にエンジンの作動が安定してきた状態では、補正係数が１．０（補正無し）になる。
【０１２９】
ステップ２では生産時からの走行距離ＳＶｓｐから加重平均時定数補正係数（走行距離重み補正係数）ＫＬｓｖｓｐを、例えば図３２のようなテーブルから設定する。このテーブル特性についても、エンジン初期作動時の不安定要素を取り除くためのもので、走行距離に応じて補正係数が１．０に近づく。
【０１３０】
ステップ３ではエンジン生産時からの作動時間ＳＳｔｔｍからの加重平均時定数補正係数（経過時間重み補正係数）Ｋｌｓｓｔを、図３３のようなテーブルから設定する。この場合にも、エンジン初期作動時の不安定な状態での学習ゲインが小さくなるように設定してある。
【０１３１】
なお、これら各重み補正係数Ｋｌｓｎｅ、ＫＬｓｖｓｐ、Ｋｌｓｓｔについては、必ずしも全部でなく、少なくとも一つ求めればよい。
【０１３２】
次ぎにステップ４でニュートラルスイッチＮｅｕｔＳＷがオンかどうか判断し、オンならばステップ５に、またオフならばステップ８に進み、それぞれにおいて、エアコンスイッチＡ／ＣＳＷがオンかどうか判断する。
【０１３３】
ステップ５において、エアコンスイッチがオンならばステップ６に進み、加重平均時定数相当基本値ＫｌｃｏｎをＫＬＣ０＃とし、オフならばステップ７に進んでＫｌｃｏｎをＫＬＣ１＃にする。また、ステップ８において、エアコンスイッチがオンのときは、ステップ９に進み、加重平均時定数相当基本値ＫｌｃｏｎをＫＬＣ２＃にとし、オフのときはステップ１０に進んで、ＫｌｃｏｎをＫＬＣ３＃にする。
【０１３４】
このようにして補機負荷等の条件によって、学習ゲインを調整し、条件が相違したときの学習誤差の影響を小さくする。
【０１３５】
そして、ステップ１１で、この加重平均時定数相当基本値Ｋｌｃｏｎと、上記した重み補正係数Ｋｌｓｎｅ、ＫＬｓｖｓｐ、Ｋｌｓｓｔとから、加重平均時定数相当値Ｋｌｃを、Ｋｌｃ＝Ｋｌｃｏｎ×Ｋｌｓｎｅ×ＫＬｓｖｓｐ×Ｋｌｓｓｔとして演算する。ステップ１２では、このＫｌｃを０以上１以下の値となるように制限、つまりこの範囲を越えるときには、最小値で０、最大値で１となるように制限する。
【０１３６】
ステップ１３では基本燃料噴射量Ｑｓｏｌ２と、実相当噴射量Ｑｓｏｌｉｂとの差をとり、その偏差をＤｑｓｏｌ０とする。すなわち、Ｄｑｓｏｌ０＝Ｑｓｏｌ２−Ｑｓｏｌｉｂとする。
【０１３７】
つまり、所定のアイドル運転状態において、目標回転数を維持するのに必要な燃料噴射量と、そのときの実相当噴射量とから、燃料噴射量のずれ分Ｄｑｓｏｌ０を算出するのである。
【０１３８】
そして、ステップ１４では噴射量誤差学習値Ｄｑｓｏｌ￥を、これらずれ分Ｄｑｓｏｌ０と荷重平均時定数相当値Ｋｌｃとを用いて加重平均処理を行って求める。つまり、Ｄｑｓｏｌ￥＝Ｄｑｓｏｌ￥ｎ−１×（１−Ｋｌｃ）＋Ｄｑｓｏｌ０×Ｋｌｃとして演算する。
【０１３９】
このようにして、学習が許可された所定のアイドル運転状態において、そのときの目標アイドル回転数を維持するために補正された燃料噴射量と、補機負荷等に応じて設定された実相当噴射量との偏差に基づいて、燃料噴射量の偏差が求められ、これに補正値が乗算され、さらに加重平均されることにより、燃料噴射量誤差の学習値が求められるのである。
【０１４０】
次に全体的な作用について説明する。
【０１４１】
一般に、エンジンの生産バラツキ、燃料噴射ポンプや燃料噴射ノズルの生産バラツキ、あるいはこれらの経時劣化等があるため、制御目標とする燃料噴射量に対して実際の燃料噴射量との間には誤差が生じる。
【０１４２】
この噴射量誤差が大きいときは、運転状態に応じて最適な燃料噴射量とはならず、例えばエンジン高負荷域などで、実際の噴射量が目標噴射量よりも過大のときは、とくにアクセル全開付近で大量にスモークが発生したり、エンジン過負荷になったりする。
【０１４３】
また、この基本燃料噴射量に基づいて、各種制御パラメータ、例えば排気還流率、燃料噴射時期、吸気スワールなどを制御すれば、実際の燃料噴射量との誤差分だけ、エンジンの実際の燃焼条件とは対応しなくなる。したがって、そのときの実際の燃料噴射量に対しては過剰な排気還流が行われたり、あるいは噴射時期がずれ、これらにより排気中のスモークが増大したりする。
【０１４４】
したがって、制御の基本となる燃料噴射量が、実際の噴射量を正しく反映するならば、これらの問題が避けられる。
【０１４５】
本発明では目標噴射量を実際の噴射量と一致させるために、次のようにして目標噴射量が演算される。
【０１４６】
アイドル運転状態において、基本的な燃料噴射量が設定され、燃料噴射ポンプより各気筒の燃料噴射ノズルに燃料が圧送され、噴射される。このときアイドル回転数を一定に維持するため、エンジン回転数が検出され、この検出した回転数が目標とする一定回転数と一致するように、燃料噴射量が補正される。
【０１４７】
この場合、アイドル回転数を一定に維持するために演算された目標燃料噴射量と実際に供給される噴射量とが一致していれば、補正量はゼロとなるはずだが、誤差があればそれに対応して補正量が算出される。ただし、補機負荷等があれば、この補機負荷に応じて燃料を増量しないとアイドル回転数を一定に維持できない。このため、燃料噴射量の補正分には実際の噴射量とのずれ分に補機負荷等の変化分が含まれてくる。
【０１４８】
したがって、アイドル回転数を目標回転数とするために演算された燃料噴射量と実際の燃料噴射量との誤差は、単純に補正量だけからは判断できない。
【０１４９】
そこで、アイドル状態における各種パラメータ、例えばニュートラルスイッチ、エアコンスイッチ、パワステスイッチ、電気負荷信号、冷却水温、燃料温度などに基づいて、これらの入力条件下において、一定のアイドル回転数を維持するのに必要な、実際の燃料噴射量に相当する実相当噴射量を求める。これは、これらの補機負荷等があったときに、設計どおりに燃料噴射が行われたときにアイドル回転数を一定に維持するための予想噴射量である。
【０１５０】
パワステスイッチやエアコンスイッチが入っている状態では、エンジンに負荷がかかり、アイドル回転数を一定に維持するのに必要な燃料噴射量は相対的に増加する。したがって、これらに応じて求めた実相当噴射量は、それだけ実際の燃料噴射量に近くなる。
【０１５１】
次に、このアイドル条件下において、実際のアイドル回転数を一定に維持するために補正した燃料噴射量と、この実相当噴射量との偏差に基づいて、噴射量の誤差を演算する。実相当噴射量はそのときの補機負荷等の条件によって異なった値となり、したがって、補正後の噴射量からこの実相当噴射量を差し引いたものは、補機負荷分等を含まない噴射量誤差分にのみ相当したものとなる。
【０１５２】
エンジンに供給する燃料噴射量は、最大噴射量との関係に基づいて規定されるが、もし、この設定された最大値が、実際に要求される最大値よりも大きいと、アクセル全開付近にりおいて、エンジンには過剰に燃料が供給されることになり、大量にスモークが発生したり、エンジン過負荷になったりする。しかし、吸入空気量とエンジン回転数等から設定される最大噴射量を、この燃料噴射誤差分に応じて修正することで、実際の燃料噴射量との関係から、要求最大噴射量と正しく一致させることができる。したがって、この最大値を越えることのないように燃料噴射量を制限すれば、アクセル全開付近でも過剰な燃料が供給されることがなく、大量のスモークの発生やエンジン過負荷状態を確実に回避できる。
【０１５３】
また、基本燃料噴射量を噴射量誤差に基づいて修正し、目標とする噴射量を算出すると、この目標噴射量は正確に実際の噴射量と一致するため、この目標噴射量を、各種制御パラメータ、例えば、燃料噴射時期、排気還流率、吸気スワール制御等の制御信号に用いれば、実際にエンジンに供給される燃料噴射量に対応した制御が行えるようになり、スモークやパティキュレートの発生量が不必要に増加するような問題を解消できる。
【０１５４】
ところで、燃料噴射量の誤差分については、一定の学習条件が成立した状態で行っているが、この学習許可条件として、エンジンの補機負荷や電気負荷などが少なく、また、エンジン冷却水温や燃料温度、あるいは電源電圧等が所定の範囲にあり、かつこれらが所定の時間にわたり継続しているときを選ぶことにより、エラーの少ない安定した学習条件とすることができる。
【０１５５】
また一方、いくつかの入力パラメータ、例えばニュートラルスイッチとエアコンスイッチとを条件にして、各条件下において場合分けし、それぞれ求めた実相当噴射量との比較し、噴射量の誤差を求め、その荷重平均値として最終的な噴射量誤差を演算し、学習しているので、学習値のバラツキを小さくし、信頼性が高められる。さらにこの学習にあたり、エンジンの回転数の積算値、走行距離、生産後の経過時間などを補正値として取り込んでいるので、経時劣化による変動分を加味され、学習値の安定性や信頼性がそれだけ高まる。
【図面の簡単な説明】
【図１】本発明の実施形態の構成を示すブロック図。
【図２】基本燃料噴射量を演算するためのフローチャート。
【図３】基本燃料噴射量特性を示す特性図。
【図４】目標アイドル回転数を設定するためのフローチャート。
【図５】目標アイドル回転数の特性図。
【図６】制御燃料噴射量を演算するためのフローチャート。
【図７】同じくフローチャート。
【図８】目標排気還流率を演算するためのフローチャート。
【図９】目標排気還流率の特性図。
【図１０】目標排気還流率を補正する特性図。
【図１１】エンジン完爆を判定するためのフローチャート。
【図１２】燃料噴射時期を設定するためのフローチャート。
【図１３】燃料噴射時期の特性図。
【図１４】スワール制御弁を制御するためのフローチャート。
【図１５】スワール制御弁の作動特性図。
【図１６】目標燃料噴射量を設定するためのフローチャート。
【図１７】燃料噴射量の電圧変換特性図。
【図１８】許容最大燃料噴射量を演算するためのフローチャート。
【図１９】最終の最大燃料噴射量を演算するためのフローチャート。
【図２０】限界空気過剰率の特性図。
【図２１】吸入空気量を検知するためのフローチャート。
【図２２】吸入空気量の電圧変換特性図。
【図２３】シリンダ吸入空気量を演算するためのフローチャート。
【図２４】燃料噴射量誤差の学習許可を判定するためのフローチャート。
【図２５】同じくフローチャート。
【図２６】燃料噴射量誤差を演算するためのフローチャート。
【図２７】学習値反映ゲインを演算するためのフローチャート。
【図２８】学習値反映ゲインの特性図。
【図２９】実相当噴射量を演算するためのフローチャート。
【図３０】誤差学習値を演算するためのフローチャート。
【図３１】学習重み係数の特性図。
【図３２】同じく特性図。
【図３３】同じく特性図。
【図３４】本発明の実施形態の燃料噴射ポンプの概略構成図。
【符号の説明】
１０２  燃料噴射量演算手段
１０３  アイドル状態判定手段
１０４  各種パラメータの検出手段
１０５  実相当噴射量演算手段
１０６  アイドル燃料噴射量補正手段
１０７  学習許可判定手段
１０８  噴射量誤差の演算学習手段
１０９  目標燃料噴射量の演算手段
【図１】
0003598725.tif 000002
【図２】
0003598725.tif 000003
【図３】
0003598725.tif 000004
【図４】
0003598725.tif 000005
【図５】
0003598725.tif 000006
【図６】
0003598725.tif 000007
【図７】
0003598725.tif 000008
【図８】
0003598725.tif 000009
【図９】
0003598725.tif 000010
【図１０】
0003598725.tif 000011
【図１１】
0003598725.tif 000012
【図１２】
0003598725.tif 000013
【図１３】
0003598725.tif 000014
【図１４】
0003598725.tif 000015
【図１５】
0003598725.tif 000016
【図１６】
0003598725.tif 000017
【図１７】
0003598725.tif 000018
【図１８】
0003598725.tif 000019
【図１９】
0003598725.tif 000020
【図２０】
0003598725.tif 000021
【図２１】
0003598725.tif 000022
【図２２】
0003598725.tif 000023
【図２３】
0003598725.tif 000024
【図２４】
0003598725.tif 000025
【図２５】
0003598725.tif 000026
【図２６】
0003598725.tif 000027
【図２７】
0003598725.tif 000028
【図２８】
0003598725.tif 000029
【図２９】
0003598725.tif 000030
【図３０】
0003598725.tif 000031
【図３１】
0003598725.tif 000032
【図３２】
0003598725.tif 000033
【図３３】
0003598725.tif 000034
【図３４】
0003598725.tif 000035