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