(57)【特許請求の範囲】
【請求項１】
電動式燃料ポンプから燃料噴射弁に供給する燃料圧力を検出する燃料圧力センサの出力に応じて前記電動式燃料ポンプを制御する燃料ポンプの駆動制御装置において、
前記燃料圧力センサが正常であるときは、前記燃料圧力センサが検出する燃料圧力に基づく第１操作量に応じて前記電動式燃料ポンプを制御し、内燃機関の運転状態毎に記憶される第２操作量を前記第１操作量に基づき更新し、
前記燃料圧力センサが異常であるときは、前記第１操作量に代えて前記第２操作量に応じて前記電動式燃料ポンプを制御し、運転状態の変化に伴って燃料圧力を昇圧又は降圧させるときには前記電動式燃料ポンプに出力する操作量の制御周期毎の変化幅を所定値を下回る値に制限して前記電動式燃料ポンプに出力する操作量を運転状態の変化に伴う前記第２操作量の変化に遅れて追従させる、燃料ポンプの駆動制御装置。
【請求項２】
電動式燃料ポンプから燃料噴射弁に供給する燃料圧力を検出する燃料圧力センサの出力に応じて前記電動式燃料ポンプを制御する燃料ポンプの駆動制御装置において、
前記燃料圧力センサが正常であるときは、前記燃料圧力センサが検出する燃料圧力に基づく第１操作量に応じて前記電動式燃料ポンプを制御し、内燃機関の運転状態毎に記憶される第２操作量を前記第１操作量に基づき更新し、
前記燃料圧力センサが異常であるときは、前記第１操作量に代えて前記第２操作量に応じて前記電動式燃料ポンプを制御し、運転状態の変化に伴って燃料圧力を昇圧又は降圧させるときには前記燃料圧力を規範応答で変化させる操作量を前記電動式燃料ポンプに出力して、前記電動式燃料ポンプに出力する操作量を運転状態の変化に伴う前記第２操作量の変化に遅れて追従させる、燃料ポンプの駆動制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、燃料噴射弁に燃料を供給する電動式燃料ポンプの駆動制御装置に関する。
【背景技術】
【０００２】
特許文献１には、目標燃料圧力から電動式燃料ポンプの駆動デューティ比を求め、さらに、前記デューティ比から目標電流を設定し、電動式燃料ポンプの実際の電流と前記目標電流との差に基づいて供給電流をフィードバック制御する燃料供給装置の開示がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−１８４４６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記従来技術では、電動式燃料ポンプの電流が燃料圧力に略比例することから、供給電流をフィードバック制御することで、実際の燃料圧力が目標燃料圧力となるように制御するものであり、燃料圧力センサを用いずに目標燃料圧力へのフィードバック制御が可能である。
【０００５】
このため、燃料圧力センサを用いて実際の燃料圧力が目標燃料圧力になるように電動式燃料ポンプをフィードバック制御する燃料圧力制御システムにおいて、燃料圧力センサの故障時のフェイルセーフ制御として、電流のフィードバック制御を適用することが可能である。
【０００６】
しかしながら、上記電流のフィードバック制御を実施するには、燃料ポンプ（ポンプ駆動モータ）の電流を検出する電流検出回路を備える必要があり、制御装置（コントロールユニット）のコストが上昇してしまう問題があった。
【０００７】
本発明は上記問題点に鑑みなされたものであり、燃料圧力センサの故障時のフェイルセーフ制御を可能としつつ、制御装置のコスト上昇を抑制できる燃料ポンプの駆動制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
そのため、本願発明では、燃料圧力センサが正常であるときは、燃料圧力センサが検出する燃料圧力に基づく第１操作量に応じて電動式燃料ポンプを制御し、内燃機関の運転状態毎に記憶される第２操作量を前記第１操作量に基づき更新し、
燃料圧力センサが異常であるときは、前記第１操作量に代えて前記第２操作量に応じて電動式燃料ポンプを制御し、運転状態の変化に伴って燃料圧力を昇圧又は降圧させるときには前記電動式燃料ポンプに出力する操作量の制御周期毎の変化幅を所定値を下回る値に制限して前記電動式燃料ポンプに出力する操作量を運転状態の変化に伴う前記第２操作量の変化に遅れて追従させるようにした。
また、燃料圧力センサが異常であるときは、前記第１操作量に代えて前記第２操作量に応じて前記電動式燃料ポンプを制御し、運転状態の変化に伴って燃料圧力を昇圧又は降圧させるときには前記燃料圧力を規範応答で変化させる操作量を前記電動式燃料ポンプに出力して、前記電動式燃料ポンプに出力する操作量を運転状態の変化に伴う前記第２操作量の変化に遅れて追従させるようにした。
【発明の効果】
【０００９】
上記発明によると、電流検出を行うことなく、燃料圧力センサを用いない燃料ポンプ制御を行えるので、燃料圧力センサの故障時におけるフェイルセーフ制御を可能としつつ、制御装置のコスト上昇を抑制できる。
【図面の簡単な説明】
【００１０】
【図１】実施形態における内燃機関の燃料供給装置を示すシステム図である。
【図２】実施形態における燃料ポンプの駆動制御を示すフローチャートである。
【図３】実施形態における目標燃料圧力の設定を示すブロック図である。
【図４】実施形態における燃料ポンプの駆動制御を示すフローチャートである。
【図５】実施形態における制御デューティ（操作量）の学習制御を示すフローチャートである。
【図６】実施形態における燃料圧力センサの異常状態での燃料ポンプの駆動制御を示すフローチャートである。
【図７】実施形態における制御デューティ（操作量）の学習値の補正制御を示すフローチャートである。
【図８】実施形態における制御デューティ（操作量）の変化速度の制限処理を示すフローチャートである。
【図９】実施形態における制御デューティ（操作量）の変化速度の制限処理を示すフローチャートである。
【図１０】実施形態における過渡状態での燃料圧力の推定制御及び推定圧力に基づく噴射パルス補正制御を示すフローチャートである。
【図１１】実施形態における規範モデルを用いた過渡状態での燃料ポンプの駆動制御を示すフローチャートである。
【図１２】実施形態における規範モデルに基づく燃料圧力の推定制御及び推定圧力に基づく噴射パルス補正制御を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に本発明の実施の形態を説明する。
図１は、本発明に係る燃料ポンプの駆動制御装置を含む、車両用内燃機関の燃料供給装置を示す。
【００１２】
図１において、内燃機関１は、その吸気通路（吸気ポート）２に燃料噴射弁３を備え、この燃料噴射弁３が開弁することで内燃機関１に対する燃料噴射がなされる。
前記燃料噴射弁３が噴射した燃料は、空気と共に吸気バルブ4を介して燃焼室５内に吸引され、点火プラグ６による火花点火によって着火燃焼する。燃焼室５内の燃焼ガスは、排気バルブ７を介して排気通路８に排出される。
【００１３】
前記吸気通路２の燃料噴射弁３が配設される部分よりも上流側には、スロットルモータ９で開閉される電子制御スロットル１０が配され、この電子制御スロットル１０の開度によって内燃機関１の吸入空気量が調整される。
【００１４】
また、燃料タンク１１内の燃料を燃料ポンプ１２によって前記燃料噴射弁３に圧送する燃料供給装置１３が設けられている。
前記燃料供給装置１３は、燃料タンク１１、燃料ポンプ１２、圧力調整弁１４、オリフィス１５、燃料ギャラリー配管１６、燃料供給配管１７、燃料戻し配管１８を含んで構成される。
【００１５】
前記燃料ポンプ１２は、モータでポンプインペラを回転駆動する電動式ポンプであり、燃料タンク１１内に配置される。
前記燃料ポンプ１２の吐出口には燃料供給配管１７の一端が接続され、燃料供給配管１７の他端は前記燃料ギャラリー配管１６に接続され、更に、前記燃料ギャラリー配管１６に前記燃料噴射弁３の燃料供給口が接続される。
【００１６】
前記燃料ギャラリー配管１６の下流端は閉塞されており、燃料ギャラリー配管１６から燃料タンク１１への燃料戻しが行われないシステム（ノンリターンシステム）である。
前記燃料タンク１１内で、燃料供給配管１７から分岐して前記燃料戻し配管１８が延設され、前記燃料戻し配管１８の他端は、燃料タンク１１内に開口される。
【００１７】
前記燃料戻し配管１８には、上流側から順に、圧力調整弁１４、オリフィス１５が介装されている。
尚、前記圧力調整弁１４、オリフィス１５を、前記燃料ポンプ１２のケース内に一体的に備えるようにすることができ、また、燃料戻し配管１８、圧力調整弁１４、オリフィス１５を備えない構成であってもよい。
【００１８】
前記圧力調整弁１４は、燃料戻し配管１８を開閉する弁体１４ａと、該弁体１４ａを燃料戻し配管２０上流側の弁座に向けて押圧するコイルスプリングなどの弾性部材１４ｂとから概略構成されており、この圧力調整弁１４は、燃料噴射弁３に供給される燃料圧力が最小圧力ＦＰＭＩＮを超えたときに開弁し、燃料圧力が最小圧力ＦＰＭＩＮ以下であるときに閉弁する。
【００１９】
これにより、機関停止時などの燃料ポンプ１２の駆動を停止したときに、燃料圧力が最小圧力ＦＰＭＩＮ以下に低下するのを抑制し、機関停止直後など機関温度が高い状態で、燃料配管内でベーパが発生するのを抑制し、高温再始動での始動性の悪化を抑制する。
【００２０】
従って、圧力調整弁１４の開弁圧（調圧値）である最小圧力ＦＰＭＩＮは、例えば、ベーパの発生による始動性の悪化が抑制できる圧力に設定することが好ましい。
前述のように、圧力調整弁１４は、燃料噴射弁３に供給される燃料圧力が最小圧力ＦＰＭＩＮよりも高くなると開弁するが、圧力調整弁１４の下流側に設けられるオリフィス１５によって、燃料戻し配管１８を介して燃料タンク１１内に戻される燃料流量が絞られるようになっているため、燃料ポンプ１２からの燃料の吐出量を戻し流量以上に増やすことで、前記最小圧力ＦＰＭＩＮを超える圧力にまで燃料圧力を昇圧できるようになっている。
【００２１】
換言すれば、圧力調整弁１５で調整される所定最小圧ＦＰＭＩＮをベースに、燃料ポンプ１２の吐出量を制御することで、燃料圧力を機関運転状態に応じて要求される目標値（目標値≧ＦＰＭＩＮ）にまで昇圧できるようになっている。
【００２２】
尚、燃料ポンプ１２の吐出量の制御によって、所定最小圧ＦＰＭＩＮを超える燃料圧力にまで昇圧できる程度に、燃料戻し配管２０によって燃料タンク１１内に戻される燃料量（リリーフ流量）が絞られるようになっていればよく、例えば、前記オリフィス１５を設けずに、圧力調整弁１４が流量を絞る機能を備える構成であってもよい。
【００２３】
また、前記燃料ポンプ１２を駆動制御する駆動制御手段としてＥＣＭ（エンジン・コントロール・モジュール）３１を備え、このＥＣＭ３１は、燃料ポンプ１２のオン・オフのデューティ比を演算し、該デューティ比に応じて燃料ポンプ１２の通電を制御することで、燃料ポンプ１２の駆動電流（平均印加電圧）を可変に制御する。
【００２４】
また、マイクロコンピュータを備えるＥＣＭ３１は、燃料ポンプ１２を駆動制御する他、前記燃料噴射弁３の噴射量、点火プラグ６の点火時期、電子制御スロットル１０の開度などを制御する機能をソフトウエアとして有している。
【００２５】
尚、前記ＥＣＭ３１とは別体に、前記燃料ポンプ１２の駆動回路を含むＦＰＣＭ（フューエル・ポンプ・コントロール・モジュール）を設け、ＥＣＭ３１から出力される駆動指令信号（パルス信号）に応じて前記ＦＰＣＭが燃料ポンプ１２への供給電流を制御する構成とすることができる。
【００２６】
前記ＥＣＭ３１には、前記燃料ギャラリー配管１６内の燃料圧力ＦＵＰＲ（燃料ポンプ１２の吐出圧、燃料噴射弁３への供給圧、燃料噴射弁３の噴射圧）を検出する燃料圧力センサ（燃圧検出手段）３３、図外のアクセルペダルの踏み込み量（アクセル開度）ＡＣＣを検出するアクセル開度センサ３４、内燃機関１の吸入空気流量ＱＡを検出するエアフローセンサ３５、内燃機関１の回転速度ＮＥを検出する回転センサ３６、内燃機関１の冷却水温度ＴＷを検出する水温センサ３７、排気中の酸素濃度に応じて内燃機関１の空燃比の理論空燃比（目標空燃比）に対するリッチ・リーンＲＬを検出する酸素センサ３８などからの検出信号が入力される。
【００２７】
尚、前記酸素センサ３８に代えて、空燃比に応じた出力を発生する空燃比センサを備える構成であってもよい。
前記ＥＣＭ３１は、吸入空気流量ＱＡと機関回転速度ＮＥとに基づいて基本噴射パルス幅ＴＰを演算し、前記基本噴射パルス幅ＴＰをそのときの燃圧に応じて補正する一方、前記酸素センサ３８の出力に基づいて実際の空燃比を目標空燃比に近づけるための空燃比フィードバック補正係数を演算し、前記燃圧に応じて補正した基本噴射パルス幅ＴＰを、更に前記空燃比フィードバック補正係数などで補正して、最終的な噴射パルス幅ＴＩを演算する。
【００２８】
そして、各気筒の噴射タイミングになると、燃料噴射弁３に対して前記噴射パルス幅ＴＩの噴射パルス信号を出力し、燃料噴射弁３による燃料噴射を制御する。
また、前記ＥＣＭ３１は、内燃機関１の負荷を示す前記基本噴射パルス幅ＴＰや機関回転速度ＮＥなどに基づいて点火時期（点火進角値）を演算し、該点火時期において点火プラグ６による火花放電がなされるように、図外の点火コイルへの通電を制御する。
【００２９】
また、前記ＥＣＭ３１は、前記アクセル開度ＡＣＣなどから電子制御スロットル１０の目標開度を演算し、該目標開度になるように、前記スロットルモータ９を駆動制御する。
以下では、前記ＥＣＭ３１による燃料ポンプ１２の駆動制御を詳細に説明する。
【００３０】
図２のフローチャートは、燃料ポンプ１２の駆動制御ルーチンを示し、該駆動制御ルーチンは、所定時間（例えば１０ms）毎に割り込み実行される。
まず、ステップＳ１０１では、機関運転状態に応じて設定される目標燃圧値（目標燃料圧力）ＴＰＦＵＥＬを読み込む。
【００３１】
前記目標燃圧値ＴＰＦＵＥＬは、図３に示すように、始動状態、水温、機関負荷、機関回転速度などの機関運転状態に応じて設定される。
具体的には、内燃機関１のメインスイッチであるイグニッションキースイッチ（エンジンスイッチ）がオフからオンに切り換えられると、始動用の高燃圧（＞ＦＰＭＩＮ）に目標燃圧値ＴＰＦＵＥＬが設定され、始動からファーストアイドル運転において前記始動用の高燃圧を保持する。
【００３２】
尚、イグニッションキースイッチ（エンジンスイッチ）がオン状態に保持されたまま、内燃機関１が始動されない場合には、一旦、燃料ポンプ１２への通電を遮断し、前記圧力調整弁１４の開弁圧（最小圧ＦＰＭＩＮ）にまで燃料圧力を降圧させる。
【００３３】
また、始動からファーストアイドル運転までの間とは、スタートスイッチがオフされてから一定時間内であって、かつ、スロットルの全閉状態である期間である。
ファーストアイドル運転後は、内燃機関１の温度を示す冷却水温度ＴＷと閾値（例えば６０℃）とを比較して、冷却水温度ＴＷが閾値よりも低い冷機状態と冷却水温度ＴＷが閾値を超えた暖機後状態とに判別し、冷機状態では、始動時に引き続き目標燃圧値ＴＰＦＵＥＬを高燃圧として、燃料の微粒化によって霧化の促進を図り、燃焼安定性を確保する。
【００３４】
一方、暖機後状態では、運転領域を高負荷域と低中負荷域とに判別し、高負荷域では、目標燃圧値ＴＰＦＵＥＬを高燃圧とし、高負荷高回転域で要求燃料量を短時間で噴射できるようにし、また、微粒化による噴霧の均質化などを図り、低中負荷域では高負荷域よりも、目標燃圧値ＴＰＦＵＥＬを低下させ、燃料ポンプ１２の駆動負荷による内燃機関１の燃費性能の低下を抑制する。
【００３５】
内燃機関１の運転状態から、イグニッションキースイッチ（エンジンスイッチ）がオフされ、燃料噴射が停止されると、燃料ポンプ１２の駆動を停止させ、最小圧ＦＰＭＩＮよりも高い燃圧を、前記圧力調整弁１４の開弁による燃料のリリーフによって、最小圧ＦＰＭＩＮ（Ｐ／Ｒｅｇ圧）にまで徐々に低下させる。
【００３６】
但し、目標燃圧値ＴＰＦＵＥＬの設定特性を、図３に示した特性に限定するものでなく、例えば、機関負荷・機関回転速度に応じて３段階以上に目標燃圧値ＴＰＦＵＥＬを設定してもよい。
【００３７】
ステップＳ１０１で、上記のようにして機関運転状態に応じて設定される目標燃圧値ＴＰＦＵＥＬを読み込むと、次のステップＳ１０２では、燃料圧力センサ３３が検出した燃料圧力ＦＵＰＲ（実燃圧）を読み込む。
【００３８】
そして、ステップＳ１０３では、前記目標燃圧値ＴＰＦＵＥＬと燃料圧力ＦＵＰＲとの偏差に基づく比例・積分・微分動作（ＰＩＤ制御）によって、燃料ポンプ１２の通電をデューティ制御するときのデューティ比（オン時間割合）のフィードバック分ＦＢＧＡＩＮを算出する。
【００３９】
即ち、前記目標燃圧値ＴＰＦＵＥＬよりも燃料圧力ＦＵＰＲが低い場合には、デューティ比を増大変化させて、燃料ポンプ１２の駆動電流引いては吐出流量を増やし、燃料圧力ＦＵＰＲを昇圧させ、逆に、前記目標燃圧値ＴＰＦＵＥＬよりも燃料圧力ＦＵＰＲが高い場合には、デューティ比を減少変化させて、燃料ポンプ１２の駆動電流引いては吐出流量を減らし、燃料圧力ＦＵＰＲを降圧させるように、前記フィードバック分ＦＢＧＡＩＮを設定する。
【００４０】
ステップＳ１０４では、回転センサ３６の出力信号から算出された機関回転速度ＮＥ（機関回転数ＮＥrpm）を読み込み、ステップＳ１０５では、機関負荷を示す燃料噴射弁３の基本噴射パルス幅ＴＰを読み込む。
【００４１】
前記基本噴射パルス幅ＴＰ（ms）は、前述のように、エアフローセンサ３５で検出される内燃機関１の吸入空気流量ＱＡと、回転センサ３６の出力信号から算出される機関回転速度ＮＥとに基づいて算出される、シリンダ吸入空気量に比例する値であり、基準燃料圧力で要求燃料量を噴射させるための噴射時間（ms）として算出される。
【００４２】
尚、前記基本燃料噴射量ＴＰに代えて、吸気管負圧などの機関負荷を示す状態量として公知の値を用いることができる。
ステップＳ１０６では、予め基本燃料噴射量ＴＰ（機関負荷）と機関回転速度ＮＥとで区分される運転領域毎に、基本デューティ比ＢＤＵＴＹを記憶したマップを参照し、そのときの基本燃料噴射量ＴＰ（機関負荷）と機関回転速度ＮＥとに対応する基本デューティ比ＢＤＵＴＹを検索する。
【００４３】
前記マップに記憶される基本デューティ比ＢＤＵＴＹは、高負荷高回転時ほどより大きな値に設定される。これは、高負荷域では１回当たりの噴射量が多く、また、高回転域では単位時間当たりの噴射回数が多く、高負荷高回転域では、燃料ギャラリー配管１６から持ち去れる燃料量が多くなって、その分、燃料ポンプ１２からの吐出流量を増やす必要があるためである。
【００４４】
ステップＳ１０７では、前記フィードバック分ＦＢＧＡＩＮと基本デューティ比ＢＤＵＴＹとの加算値を、制御デューティＰＦＤＵＴＹとして算出し、該制御デューティＰＦＤＵＴＹのパルス信号（操作量）で前記燃料ポンプ１２の通電を制御させる。
【００４５】
図２に示すフローチャートでは、目標燃圧値ＴＰＦＵＥＬと燃料圧力ＦＵＰＲとの偏差に基づく比例・積分・微分動作（ＰＩＤ制御）によって燃料ポンプ１２の制御デューティを決定したが、図４のフローチャートに示すように、燃料圧力ＦＵＰＲを規範モデルに追従変化させるように燃料ポンプ１２の制御デューティを設定させることができる。
【００４６】
図４のフローチャートに示す駆動制御ルーチンは、図２のフローチャートに示すルーチンに代えて実行されるルーチンであり、所定時間毎に割り込み実行される。
まず、ステップＳ１２１では、前述のように機関運転状態に応じて設定される目標燃圧値ＴＰＦＵＥＬを読み込む。
【００４７】
ステップＳ１２２では、前記目標燃圧値ＴＰＦＵＥＬのステップ変化に対して遅れて追従変化する燃圧変化の規範モデル（規範応答）を設定する。
前記規範モデルは、前記目標燃圧値ＴＰＦＵＥＬを、伝達関数の変数として入力したり、ローパスフィルタに通過させたり、移動平均演算させることで、求めることができる。
【００４８】
ステップＳ１２３では、燃料圧力センサ３３が検出した燃料圧力ＦＵＰＲを読み込む。
ステップＳ１２４では、前記規範モデル（規範応答）の目標燃圧と実際の燃料圧力ＦＵＰＲとの偏差に基づく比例・積分・微分動作（ＰＩＤ制御）によって、燃料ポンプ１２の通電をデューティ制御するときのデューティ比（オン時間割合）のフィードバック分を算出する。
【００４９】
ステップＳ１２５では、燃料圧力ＦＵＰＲを前記規範モデル（規範応答）に沿って変化させるためのフィードフォワード分を、前記燃料供給装置のモデルに基づいて算出する。
そして、ステップＳ１２６では、前記フィードバック分とフィードフォワード分との加算値を、制御デューティＰＦＤＵＴＹとして算出し、該制御デューティＰＦＤＵＴＹのパルス信号（操作量）で前記燃料ポンプ１２の通電を制御させる。
【００５０】
図５のフローチャートは、燃料圧力センサ３３に異常が発生した場合に備えて前記制御デューティＰＦＤＵＴＹを更新記憶するルーチン（学習ルーチン）を示し、この学習ルーチンによって制御デューティＰＦＤＵＴＹ（操作量）の要求値を機関運転領域毎に更新記憶（学習）し、後述するように、燃料圧力センサ３３に異常が発生すると、学習した制御デューティＰＦＤＵＴＹで燃料ポンプ１２を駆動制御する。
【００５１】
前記学習ルーチンは、燃料圧力センサ３３に異常がなく、かつ、燃料圧力センサ３３の出力に基づいて燃料ポンプ１２の制御デューティＰＦＤＵＴＹがフィードバック制御されていることを実行条件として、所定時間毎に割り込み実行され、まず、ステップＳ１４１では、機関回転速度ＮＥ、機関負荷を示す基本燃料噴射量ＴＰ（機関運転状態）を読み込む。
【００５２】
ステップＳ１４２では、前記図２又は図４のフローチャートに示すルーチンで算出した制御デューティＰＦＤＵＴＹを読み込む。
ステップＳ１４３では、実際の燃料圧力ＦＵＰＲが目標燃圧値ＴＰＦＵＥＬに安定している燃圧フィードバック制御の収束状態であるか否かを判断し、収束状態であれば、ステップＳ１４４へ進み、収束状態でなければ、後述する制御デューティＰＦＤＵＴＹの更新記憶処理を実行することなく、本ルーチンをそのまま終了させる。
【００５３】
実際の燃料圧力ＦＵＰＲが目標燃圧値ＴＰＦＵＥＬに安定している収束状態とは、実際の燃料圧力ＦＵＰＲと目標燃圧値ＴＰＦＵＥＬとの偏差の絶対値が規定値よりも小さい状態が所定時間以上継続していて、操作量が略一定している状態である。
【００５４】
ステップＳ１４４では、機関回転速度ＮＥと機関負荷を示す基本燃料噴射量ＴＰとで複数に区分される機関運転領域毎に、前記制御デューティＰＦＤＵＴＹを書き換え可能に記憶するデューティ記憶マップにおいて、現在の機関回転速度ＮＥ及び基本燃料噴射量ＴＰが対応する領域の記憶値を、ステップＳ１４２で読み込んだ制御デューティＰＦＤＵＴＹ（操作量）に基づいて更新する。
【００５５】
前記更新処理は、該当領域の記憶値を、今回ステップＳ１４２で読み込んだ値に書き換える処理であっても良いし、前回までの記憶値と今回ステップＳ１４２で読み込んだ値との加重平均値に書き換える処理であってもよく、更に、前回までの記憶値と今回ステップＳ１４２で読み込んだ値との偏差の絶対値が閾値を超えて大きい場合に、更新を禁止するようにすることができる。
【００５６】
また、前記デューティ記憶マップは、前記ＥＣＭ３１に備えられる書き換え可能な不揮発性メモリ（記憶手段）に格納させることが好ましい。
また、前記デューティ記憶マップは、目標燃圧値ＴＰＦＵＥＬが機関始動状態、水温（機関温度）などに応じて可変に設定されることに対応して、始動時用のデューティ記憶マップ（テーブル）、冷機状態用のデューティ記憶マップ、暖機後用のデューティ記憶マップを個別に備え、そのときが始動〜ファーストアイドル時であるか、また、冷機状態或いは暖機後のいずれかであるかによって書き換えを行うマップ（テーブル）を切り換えるようにする。
【００５７】
前記デューティ記憶マップに記憶される制御デューティＰＦＤＵＴＹは、機関負荷（要求燃料量）及び機関回転速度ＮＥ（噴射頻度）に対して、目標燃圧値ＴＰＦＵＥＬを得るのに要求される制御デューティＰＦＤＵＴＹである。
【００５８】
上記図５のフローチャートに示す学習ルーチンによってデューティ記憶マップに更新・記憶した制御デューティＰＦＤＵＴＹは、図６のフローチャートに示すフェイルセーフ制御ルーチンにおいて参照され、燃料ポンプ１２のフェイルセーフ制御に用いられる。
【００５９】
図６のフローチャートに示すフェイルセーフ制御ルーチンは、所定時間毎に割り込み実行され、まず、ステップＳ１６１（診断手段）では、前記燃料圧力センサ３３が正常であるか否か（故障しているか否か）を診断する。
【００６０】
前記燃料圧力センサ３３の正常・異常（故障の有無）は、燃料圧力センサ３３の出力アナログ信号をＡ／Ｄ変換するＡ／Ｄ変換器の正常・異常などを含み、制御デューティＰＦＤＵＴＹの演算に用いる燃料圧力検出値の異常は、燃料圧力センサ３３の異常と見なすものとする。
【００６１】
前記燃料圧力センサ３３の診断においては、例えば、センサ出力（Ａ／Ｄ変換後の値）が出力範囲の最小値又は最大値に張り付いている状態を保持する場合に異常と判定し、また、制御デューティＰＦＤＵＴＹ（操作量）の変化に対して前記燃料圧力センサ３３の出力が変化しない場合（変化速度が遅い場合）に異常と判定することができ、公知の種々の診断方法を適用できる。
【００６２】
ステップＳ１６１で、前記燃料圧力センサ３３が正常であると判断された場合には、フェイルセーフ制御を実行することなく、そのまま本ルーチンを終了させる。
一方、ステップＳ１６１で、前記燃料圧力センサ３３が異常（劣化状態、故障状態）であると判断された場合には、ステップＳ１６２へ進み、そのときの機関回転速度ＮＥ及び機関負荷（基本燃料噴射量ＴＰ）を読み込む。
【００６３】
尚、燃料圧力センサ３３の異常が診断された場合には、異常の発生を車両の運転者にランプやブザーなどで知らせる警告処理を別途実行させることが好ましい。
ステップＳ１６３では、前記図５のフローチャートで更新されるデューティ記憶マップ上において、現在の機関回転速度ＮＥ及び機関負荷（基本燃料噴射量ＴＰ）に対応する領域に記憶されている制御デューティＰＦＤＵＴＹを学習値ＦＳＤＵＴＹとして読み出す。
【００６４】
尚、前述のように、始動時用マップ（テーブル）、冷機状態用マップ、暖機後マップなどに分けて制御デューティＰＦＤＵＴＹが更新記憶される場合には、そのときの機関運転状態が始動時、冷機時、暖機後のいずれに該当するかによって、参照するマップ（テーブル）を切り換え、学習値ＦＳＤＵＴＹの読み出しを行う。
【００６５】
ステップＳ１６４（異常時駆動制御手段）では、前記学習値ＦＳＤＵＴＹを、最終的な制御デューティＰＦＤＵＴＹにセットし、該制御デューティＰＦＤＵＴＹ（学習値ＦＳＤＵＴＹ）のパルス信号（操作量）で前記燃料ポンプ１２の通電を制御させる。
【００６６】
燃料圧力センサ３３に異常が生じると、図２又は図４のフローチャートに示すルーチンによる燃料ポンプ１２の駆動制御を停止させ、前記デューティ記憶マップに記憶されている制御デューティＰＦＤＵＴＹ、即ち、燃料圧力センサ３３の正常時にフィードバック制御の結果として要求された制御デューティＰＦＤＵＴＹを用いたフィードフォワード制御によって燃料ポンプ１２の駆動制御を行う。
【００６７】
尚、燃料圧力センサ３３の異常が診断された場合には、前記図５のフローチャートに示す学習ルーチンの実行は停止され、燃料圧力センサ３３が正常でフィードバック制御が行われるときの制御デューティＰＦＤＵＴＹが運転領域毎に更新記憶されるようになっている。
【００６８】
燃料圧力センサ３３が異常であって、その出力が実際の燃料圧力ＦＵＰＲを正しく示さない場合には、燃料圧力センサ３３の出力（検出結果）に基づいて制御デューティＰＦＤＵＴＹをフィードバック制御すると、目標燃圧値ＴＰＦＵＥＬとは大きく異なる値に燃料圧力が制御され、空燃比ずれや噴霧特性の変化を招き、内燃機関１の運転性が大きく損なわれることになってしまう。
【００６９】
そこで、燃料圧力センサ３３に異常が生じると、予め運転状態毎に記憶しておいた制御デューティＰＦＤＵＴＹで燃料ポンプ１２を駆動制御させることで、目標燃圧値ＴＰＦＵＥＬ付近に実際の燃料圧力ＦＵＰＲが制御されるようにする。
【００７０】
即ち、前記デューティ記憶マップに記憶される制御デューティＰＦＤＵＴＹは、前述のように、機関負荷（要求燃料量）及び機関回転速度ＮＥ（噴射頻度）の条件毎に、燃料ポンプ１２の特性ばらつきなどに対応して目標燃圧値ＴＰＦＵＥＬを得るのに要求される制御デューティＰＦＤＵＴＹであり、換言すれば、前記制御デューティＰＦＤＵＴＹで燃料ポンプ１２を駆動することで、目標燃圧値ＴＰＦＵＥＬ付近に制御されることが予め確かめられている。
【００７１】
従って、実際の燃圧が不明であっても制御デューティＰＦＤＵＴＹで燃料ポンプ１２を駆動すれば、目標燃圧値ＴＰＦＵＥＬ付近に実際の燃料圧力ＦＵＰＲを制御させることができ、燃料圧力センサ３３に異常が生じ、燃料圧力センサ３３の出力に基づくフィードバック制御が実行できなくなっても、燃料噴霧特性及び噴射量の計量精度を維持して、内燃機関１の運転性を維持できる。
【００７２】
また、本実施形態の燃料圧力センサ３３の異常時におけるポンプ駆動制御では、燃料ポンプ１２の駆動電流の検出を行う必要がないので、電流検出回路を設けることによるＥＣＭ３１のコスト上昇を抑制することができる。
【００７３】
また、燃料圧力センサ３３の異常発生に基づき、デューティ記憶マップに記憶される制御デューティＰＦＤＵＴＹを用いて制御する期間は比較的短いから、デューティ記憶マップに記憶される制御デューティＰＦＤＵＴＹを用いている間での燃料供給系部品の経時劣化・経時変化は殆どなく、デューティ記憶マップに記憶される制御デューティＰＦＤＵＴＹが不適合となって、目標燃圧値ＴＰＦＵＥＬから実際の燃料圧力ＦＵＰＲが大きくずれてしまうことはない。
【００７４】
但し、燃料の粘性が、燃料タンク１１に対する異なる燃料の補充や燃料温度の変化によって変化したり、燃料ポンプ１２の駆動電源であるバッテリの電圧が変化したりすると、デューティ記憶マップに記憶される制御デューティＰＦＤＵＴＹが最適値からずれ、目標燃圧値ＴＰＦＵＥＬに対する実際の燃料圧力ＦＵＰＲのずれが生じ、目標燃圧値ＴＰＦＵＥＬ付近に制御されているとの前提で燃料噴射パルス幅を決定すると、実際の噴射量が要求値からずれ、空燃比が目標空燃比からずれる不具合が生じる。
【００７５】
そこで、図７のフローチャートに示すデューティ補正ルーチンを実行し、デューティ記憶マップに記憶した制御デューティＰＦＤＵＴＹを補正設定することが好ましい。
前記図７のフローチャートに示すデューティ補正ルーチンは、図６のフローチャートに示すフェイルセーフ制御ルーチンに従い、燃料圧力センサ３３の異常発生時にデューティ記憶マップに記憶した制御デューティＰＦＤＵＴＹで燃料ポンプ１２を制御しているときに、所定時間毎に割り込み実行される。
【００７６】
まず、ステップＳ１８１では、デューティ記憶マップに記憶した制御デューティＰＦＤＵＴＹで燃料ポンプ１２を駆動制御している状態での実空燃比から、前記デューティ記憶マップに記憶されている制御デューティＰＦＤＵＴＹを補正するための補正値ＦＰＢＡＲＩを演算する。
【００７７】
本実施形態では、前記酸素センサ３８に出力に基づき、実際の空燃比を目標空燃比とするための空燃比フィードバック補正係数ＡＬＰＨＡを演算し、この空燃比フィードバック補正係数ＡＬＰＨＡで噴射パルス幅を増減補正するから、前記空燃比フィードバック補正係数ＡＬＰＨＡは、実際の空燃比の目標空燃比に対するずれを示す。
【００７８】
そこで、内燃機関１の定常運転状態であるときに、前記空燃比フィードバック補正係数ＡＬＰＨＡの移動平均値を求め、該移動平均値から、空燃比フィードバック補正係数ＡＬＰＨＡによる補正なしで得られるベース空燃比の目標空燃比（理論空燃比）に対する偏差を求める。
【００７９】
更に、前記空燃比偏差から、目標燃圧値ＴＰＦＵＥＬに対する実際の燃料圧力ＦＵＰＲのずれを推定し、前記燃圧ずれを補償するためのデューティ補正値ＦＰＢＡＲＩを求める。
【００８０】
前記空燃比フィードバック補正係数ＡＬＰＨＡは、酸素センサ３８で検出される実際の空燃比が理論空燃比に対してリッチ（リーン）であると、所定の積分分ずつ空燃比フィードバック補正係数ＡＬＰＨＡを減少（増大）させ、リッチからリーン（リーンからリッチ）への反転時には所定の比例分だけ空燃比フィードバック補正係数ＡＬＰＨＡを増大（減少）させて設定され、この空燃比フィードバック補正係数ＡＬＰＨＡで噴射パルス幅を補正することで、実際の空燃比を目標空燃比（理論空燃比）に近づける。
【００８１】
従って、空燃比フィードバック補正係数ＡＬＰＨＡによる増量分が多いほど、燃料圧力としては目標よりも低く、単位時間当たりの噴射量が低下していることになり、逆に、空燃比フィードバック補正係数ＡＬＰＨＡによる減量分が多いほど、燃料圧力としては目標よりも高く、単位時間当たりの噴射量が増大していることになり、前記空燃比フィードバック補正係数ＡＬＰＨＡによる補正レベルから、目標燃圧値ＴＰＦＵＥＬに対する実際の燃料圧力ＦＵＰＲのずれを推定でき、更には、前記燃料圧力のずれを補正するためのデューティ補正値ＦＰＶＡＲＩが求まる。
【００８２】
例えば、空燃比フィードバック補正係数ＡＬＰＨＡによって燃料噴射量を増量補正していた場合には、燃料噴射弁３の単位時間当たりの噴射量が所期の値よりも少ないために、噴射パルス幅に対応する噴射量が不足し、空燃比がリーン化したものと推定でき、噴射量の不足分は、前記空燃比フィードバック補正係数ＡＬＰＨＡから求めることができる。
【００８３】
更に、噴射量の不足分から実際の単位時間当たりの噴射量が算出され、実際の単位時間当たりの噴射量から実際の燃料圧力ＦＵＰＲを推定でき、この実際の燃料圧力ＦＵＰＲを目標燃圧値ＴＰＦＵＥＬにまで増大させるための制御デューティＰＦＤＵＴＹの増大補正分を、プラスのデューティ補正値ＦＰＶＡＲＩとして算出する。
【００８４】
逆に、空燃比フィードバック補正係数ＡＬＰＨＡによって燃料噴射量を減量補正しているベース空燃比のリッチ状態では、燃料圧力が過大であるから、制御デューティＰＦＤＵＴＹを減少補正するためのマイナスのデューティ補正値ＦＰＶＡＲＩを算出する。
【００８５】
尚、酸素センサ３８に代えて、空燃比を広域に検出できる空燃比センサを備える場合には、該空燃比センサの出力に基づいて演算される空燃比フィードバック補正係数ＡＬＰＨＡから実際の空燃比の目標空燃比に対するずれが求まり、また、前記空燃比フィードバック補正係数ＡＬＰＨＡによる補正をキャンセルしている状態での空燃比センサの出力から求められる実際の空燃比から目標空燃比に対するずれが求まり、前記空燃比ずれに基づいて推定される燃料圧力のずれを補正するように、デューティ補正値ＦＰＶＡＲＩを設定することができる。
【００８６】
また、空燃比を検出する方法を、排気中の成分濃度（酸素濃度）に基づく方法に限定するものではなく、公知の種々の検出方法を適用することができる。
ステップＳ１８２では、そのときの機関回転速度ＮＥ及び機関負荷（基本燃料噴射量ＴＰ）を読み込む。
【００８７】
そして、ステップＳ１８３では、そのときの機関運転状態（始動、水温、機関回転・機関負荷）に対応してデューティ記憶マップに記憶されている学習値ＦＳＤＵＴＹを読み出し、読み出した学習値ＦＳＤＵＴＹを前記デューティ補正値ＦＰＶＡＲＩで補正し、補正後のデューティを当該運転領域の学習値ＦＳＤＵＴＹとして更新記憶させる。
【００８８】
尚、ステップＳ１８１で求めた前記デューティ補正値ＦＰＶＡＲＩで、デューティ記憶マップに記憶されている学習値ＦＳＤＵＴＹの全てを一律に増減補正してもよく、また、デューティ記憶マップに記憶されている学習値ＦＳＤＵＴＹを補正する代わりに、デューティ記憶マップから読み出した学習値ＦＳＤＵＴＹで燃料ポンプ１２を駆動制御する際に、制御デューティＰＦＤＵＴＹ（＝学習値ＦＳＤＵＴＹ）を、デューティ補正値ＦＰＶＡＲＩで補正してから燃料ポンプ１２を駆動制御に用いるようにできる。
【００８９】
上記のように、デューティ記憶マップに記憶されている学習値ＦＳＤＵＴＹに基づいて燃料ポンプ１２をフィードフォワード制御している状態での空燃比から、実際の燃料圧力ＦＵＰＲの目標燃圧値ＴＰＦＵＥＬに対するずれを求め、燃料圧力のずれを縮小させるように制御デューティＰＦＤＵＴＹを補正すれば、燃料粘性やバッテリ電圧の変化があっても、実際の燃料圧力ＦＵＰＲを目標燃圧値ＴＰＦＵＥＬ付近に制御でき、空燃比のずれによる排気性状の悪化などを抑制できる。
【００９０】
上記デューティ補正値ＦＰＶＡＲＩによって制御デューティＰＦＤＵＴＹを補正することで、学習値ＦＳＤＵＴＹの定常的な誤差を補正することができるが、機関運転状態の変化（機関の過渡運転）に伴って目標燃圧値ＴＰＦＵＥＬが変化するときに、デューティ記憶マップから読み出される学習値ＦＳＤＵＴＹに基づいて燃料ポンプ１２に出力する制御デューティＰＦＤＵＴＹをステップ変化させると、実際の燃料圧力ＦＵＰＲが急激に大きく変動することで、過渡的に大きな空燃比ずれが発生し、排気性状の悪化や加速性の低下などを招く可能性がある。
【００９１】
そこで、学習値ＦＳＤＵＴＹによって燃料ポンプ１２を駆動制御する燃料圧力センサ３３の異常時に、図８，９のフローチャートに示す過渡時制御ルーチンによって、制御デューティＰＦＤＵＴＹの変化速度を上限値以下に制限することが好ましい。
【００９２】
図８，９のフローチャートに示す過渡時制御ルーチンは、燃料圧力センサ３３の異常発生時であってデューティ記憶マップの学習値ＦＳＤＵＴＹに基づいて燃料ポンプ１２を駆動制御するときに、所定時間毎に割り込み実行される。
【００９３】
まず、ステップＳ２０１では、機関運転状態（始動、水温、機関負荷、機関回転速度）に応じて設定される目標燃圧値ＴＰＦＵＥＬを読み込む。
ステップＳ２０２では、前記ステップＳ２０１で今回読み込んだ目標燃圧値ＴＰＦＵＥＬと、ステップＳ２０１で前回読み込んだ目標燃圧値ＴＰＦＵＥＬとの差から、目標燃圧値ＴＰＦＵＥＬの昇圧時であるか降圧時であるかを判断し、昇圧時であればフラグfPFUPLIMに１をセットし、降圧時であればフラグfPFDOWNLIに１をセットする。
【００９４】
前記フラグfPFUPLIM，fPFDOWNLIの初期値は０であって、ステップＳ２０２で１がセットされると、後述するステップＳ２０８又はステップＳ２１４で０にリセットされるまで、１を保持するようになっている。
【００９５】
また、目標燃圧値ＴＰＦＵＥＬの本ルーチン実行周期当たりの変化量が、後述する上限幅ＵＰＬＤＵＴＹ・下限幅ＤＷＤＵＴＹに相当する燃圧変化幅よりも大きい場合に、昇圧時・降圧時の判定がなされるようにしてある。
【００９６】
ステップＳ２０３では、フラグfPFUPLIMに１がセットされている目標燃圧値ＴＰＦＵＥＬの昇圧時であるか否かを判断する。
そして、昇圧時であれば、ステップＳ２０４へ進み、前回の制御デューティＰＦＤＵＴＹに、デューティ増大変化の上限幅ＵＰＬＤＵＴＹを加算した値を、今回出力する制御デューティＰＦＤＵＴＹに設定する。
【００９７】
即ち、目標燃圧値ＴＰＦＵＥＬの昇圧時には、マップから読み出される学習値ＦＳＤＵＴＹに従って、制御デューティＰＦＤＵＴＹをステップ的に増大変化させるのではなく、制御デューティＰＦＤＵＴＹの増大変化速度を、本ルーチンの実行周期（更新周期）当たり前記上限幅ＵＰＬＤＵＴＹに制限し、徐々に制御デューティＰＦＤＵＴＹを増大変化させることで、マップから読み出される学習値ＦＳＤＵＴＹの間でステップ的に変化させる場合に比べて、実際の燃料圧力ＦＵＰＲの変化速度を遅くする。
【００９８】
目標燃圧値ＴＰＦＵＥＬが一定である定常運転時には、マップから読み出される学習値ＦＳＤＵＴＹをそのまま燃料ポンプ１２の駆動制御に用い、目標燃圧値ＴＰＦＵＥＬの昇圧変化が検出されると、前記マップから読み出される学習値ＦＳＤＵＴＹを初期値として、前記上限幅ＵＰＬＤＵＴＹずつ制御デューティＰＦＤＵＴＹを増大変化させる。
【００９９】
実際の燃料圧力ＦＵＰＲが増大変化すると、燃料噴射弁３における単位時間当たりの噴射量が増えて空燃比がリッチ化するが、前記酸素センサ３８の出力に基づく噴射パルス幅のフィードバック補正によって前記空燃比のリッチ化が補正される。
【０１００】
ここで、実際の燃料圧力ＦＵＰＲの増大変化速度が速いと、空燃比が急激にリッチ化するため、前記空燃比フィードバック制御による補正が追い付かずに、目標空燃比に対して実際の空燃比が大きくリッチ化してしまうが、実際の燃料圧力ＦＵＰＲの増大変化速度を遅くすれば、リッチ化のペースが遅くなるから、フィードバック補正によって空燃比のリッチ化を抑え込むことが可能となり、過渡的に空燃比が大きくリッチ化することを抑制できる。
【０１０１】
従って、前記上限幅ＵＰＬＤＵＴＹは、酸素センサ３８の出力に基づく噴射パルス幅のフィードバック補正によって、空燃比のリッチ化を許容レベル内に抑制することができる値として設定され、前記リッチ化の許容レベルは、排気性状（ＨＣ排出量など）から設定される。
【０１０２】
即ち、前記上限幅ＵＰＬＤＵＴＹは、空燃比フィードバック制御を行いつつ、燃料圧力を昇圧させるときに、空燃比が許容限界を超えてリッチ化しないような値に予め適合されている。
【０１０３】
ステップＳ２０４で、昇圧要求に対する制御デューティＰＦＤＵＴＹの増大変化を制限する処理を行うと、次のステップＳ２０５では、そのときの機関回転速度ＮＥ及び機関負荷（基本燃料噴射量ＴＰ）を読み込む。
【０１０４】
ステップＳ２０６では、ステップＳ２０５で読み込んだ機関回転速度ＮＥ及び機関負荷（基本燃料噴射量ＴＰ）に基づいて前記デューティ記憶マップを参照することで、増大変化後の目標燃圧値ＴＰＦＵＥＬに対応する学習値ＦＳＤＵＴＹを、到達目標値ＴＲＦＳＤＵＴＹとして読み出す。
【０１０５】
そして、ステップＳ２０７では、上限幅ＵＰＬＤＵＴＹずつ増大変化させた制御デューティＰＦＤＵＴＹが、前記到達目標値ＴＲＦＳＤＵＴＹ以下であるか否かを判断し、前記到達目標値ＴＲＦＳＤＵＴＹ以下であれば、そのまま本ルーチンを終了させることで、本ルーチンの次回実行時も、ステップＳ２０４において制御デューティＰＦＤＵＴＹを上限幅ＵＰＬＤＵＴＹだけ増大変化させる処理を行わせるようにする。
【０１０６】
一方、ステップＳ２０７で、上限幅ＵＰＬＤＵＴＹずつ増大変化させた制御デューティＰＦＤＵＴＹが、前記到達目標値ＴＲＦＳＤＵＴＹを超えたと判断されると、ステップＳ２０８へ進み、制御デューティＰＦＤＵＴＹを到達目標値ＴＲＦＳＤＵＴＹに設定すると共に、前記フラグfPFUPLIMを０にリセットする。
【０１０７】
即ち、目標燃圧値ＴＰＦＵＥＬが昇圧変化すると、変化前の状態に対応する学習値ＦＳＤＵＴＹから、変化後の状態に対応する学習値ＦＳＤＵＴＹにまで、本ルーチンの実行周期毎に上限幅ＵＰＬＤＵＴＹずつ増大変化させるものであり、目標燃圧値ＴＰＦＵＥＬのステップ的な増大変化が発生した時点から、制御デューティＰＦＤＵＴＹが到達目標値ＴＲＦＳＤＵＴＹに達するまでの間は、前記フラグfPFUPLIMは１に保持される。
【０１０８】
また、ステップＳ２０３でフラグfPFUPLIMに１がセットされていないと判断されると、ステップＳ２０９へ進み、フラグfPFDOWNLIに１がセットされている目標燃圧値ＴＰＦＵＥＬの降圧時であるか否かを判断する。
【０１０９】
そして、降圧時であれば、ステップＳ２１０へ進み、前回の制御デューティＰＦＤＵＴＹから、デューティ減少変化の下限幅ＤＷＤＵＴＹを減算した値を、今回出力する制御デューティＰＦＤＵＴＹに設定する。
【０１１０】
即ち、目標燃圧値ＴＰＦＵＥＬの降圧時には、マップから読み出される学習値ＦＳＤＵＴＹに従って、制御デューティＰＦＤＵＴＹをステップ的に減少変化させるのではなく、制御デューティＰＦＤＵＴＹの減少変化速度を、本ルーチンの実行周期当たり前記下限幅ＤＷＤＵＴＹに制限し、マップから読み出される学習値ＦＳＤＵＴＹを初期値として徐々に制御デューティＰＦＤＵＴＹを減少変化させることで、実際の燃料圧力ＦＵＰＲの変化速度を、マップから読み出される学習値ＦＳＤＵＴＹに基づいて制御デューティＰＦＤＵＴＹをステップ的に変化させる場合に比べて遅くする。
【０１１１】
実際の燃料圧力ＦＵＰＲが減少変化すると、燃料噴射弁３における単位時間当たりの噴射量が減って空燃比がリーン化するが、前記酸素センサ３８の出力に基づく噴射パルス幅のフィードバック補正によって前記空燃比のリーン化が補正される。
【０１１２】
ここで、実際の燃料圧力ＦＵＰＲの減少変化速度が速いと、空燃比が急激にリーン化するため、前記空燃比フィードバック制御による補正が追い付かずに、目標空燃比に対して実際の空燃比が大きくリーン化してしまうが、実際の燃料圧力ＦＵＰＲの減少変化速度を遅くすれば、リーン化のペースが遅くなるから、フィードバック補正によって空燃比のリーン化を抑え込むことが可能となり、過渡的に空燃比が大きくリーン化することを抑制できる。
【０１１３】
従って、前記下限幅ＤＷＤＵＴＹは、酸素センサ３８の出力に基づく噴射パルス幅のフィードバック補正によって、空燃比のリーン化を許容レベル内に抑制することができる値として設定され、前記リーン化の許容レベルは、燃焼安定性の限界空燃比や排気性状などから設定される。
【０１１４】
即ち、前記下限幅ＤＷＤＵＴＹは、空燃比フィードバック制御を行いつつ、燃料圧力を降圧させるときに、空燃比が許容限界を超えてリーン化しないような値に予め適合されている。
【０１１５】
ステップＳ２１０で、降圧要求に対する制御デューティＰＦＤＵＴＹの減少変化を制限する処理を行うと、次のステップＳ２１１では、そのときの機関回転速度ＮＥ及び機関負荷（基本燃料噴射量ＴＰ）を読み込む。
【０１１６】
ステップＳ２１２では、ステップＳ２１１で読み込んだ機関回転速度ＮＥ及び機関負荷（基本燃料噴射量ＴＰ）に基づいて前記デューティ記憶マップを参照することで、減少変化後の目標燃圧値ＴＰＦＵＥＬに対応する学習値ＦＳＤＵＴＹを、到達目標値ＴＲＦＳＤＵＴＹとして読み出す。
【０１１７】
そして、ステップＳ２１３では、下限幅ＤＷＤＵＴＹずつ減少変化させた制御デューティＰＦＤＵＴＹが、前記到達目標値ＴＲＦＳＤＵＴＹ以上であるか否かを判断し、前記到達目標値ＴＲＦＳＤＵＴＹに達していない場合には、そのまま本ルーチンを終了させることで、本ルーチンの次回実行時も、ステップＳ２１０において制御デューティＰＦＤＵＴＹを下限幅ＤＷＤＵＴＹだけ減少変化させる処理を行わせるようにする。
【０１１８】
一方、ステップＳ２１３で、下限幅ＤＷＤＵＴＹずつ減少変化させた制御デューティＰＦＤＵＴＹが、前記到達目標値ＴＲＦＳＤＵＴＹを下回ったと判断されると、ステップＳ２１４へ進み、制御デューティＰＦＤＵＴＹを到達目標値ＴＲＦＳＤＵＴＹに設定すると共に、前記フラグfPFDOWNLIを０にリセットする。
【０１１９】
即ち、目標燃圧値ＴＰＦＵＥＬが降圧変化すると、変化前の状態に対応する学習値ＦＳＤＵＴＹから、変化後の状態に対応する学習値ＦＳＤＵＴＹにまで、本ルーチンの実行周期毎に下限幅ＤＷＤＵＴＹずつ減少変化させるものであり、目標燃圧値ＴＰＦＵＥＬのステップ的な減少変化が発生した時点から、制御デューティＰＦＤＵＴＹが到達目標値ＴＲＦＳＤＵＴＹに達するまでの間は、前記フラグfPFDOWNLIは１に保持される。
【０１２０】
上記のように、目標燃圧値ＴＰＦＵＥＬのステップ的な昇圧時・降圧時に、制御デューティＰＦＤＵＴＹの変化速度を強制的に遅くすれば、過渡的に空燃比が大きくリッチ化又はリーン化して、排気性状や運転性が悪化することを抑制できる。
【０１２１】
尚、酸素センサ３８の出力に基づく噴射パルス幅のフィードバック補正のゲインを、目標燃圧値ＴＰＦＵＥＬのステップ的な昇圧時・降圧時には、目標燃圧値ＴＰＦＵＥＬが一定である場合に比べて大きくすることができる。
【０１２２】
図８，９のフローチャートに示す過渡時制御ルーチンでは、制御デューティＰＦＤＵＴＹの変化速度、引いては、実際の燃料圧力ＦＵＰＲの変化速度を遅くすることで、空燃比フィードバック制御で空燃比の変動を抑えられるようにしたが、制御デューティＰＦＤＵＴＹの変化速度が遅ければ、そのときの制御デューティＰＦＤＵＴＹから実際の燃料圧力ＦＵＰＲを推定することが可能であり、前記推定値に基づいて燃料噴射パルス幅を補正すれば、燃料圧力の過渡変化時における空燃比の変化を更に小さく抑制することが可能である。
【０１２３】
図１０のフローチャートは、制御デューティＰＦＤＵＴＹから実際の燃料圧力ＦＵＰＲを推定して燃料噴射パルス幅の補正を行う過渡時パルス幅補正ルーチンであり、前記図８，９のフローチャートに示す過渡時制御ルーチンで制御デューティＰＦＤＵＴＹを徐々に変化させるときに、並行して所定時間毎に割り込み実行される。
【０１２４】
ステップＳ２２１では、そのときの機関回転速度ＮＥ及び機関負荷（基本燃料噴射量ＴＰ）を読み込む。
ステップＳ２２２では、前記読み込んだ機関回転速度ＮＥ及び機関負荷に基づいて、前記デューティ記憶マップを参照し、そのときの機関回転速度ＮＥ及び機関負荷に対応して記憶されている学習値ＦＳＤＵＴＹを、目標値ＴＲＦＳＤＵＴＹとして設定する。
【０１２５】
ステップＳ２２３では、ステップ変化前後の目標燃圧値ＴＰＦＵＥＬを読み込む。
ステップＳ２２４では、前記図８，９のフローチャートで設定される燃圧の過渡変化時の制御デューティＰＦＤＵＴＹを読み込む。
【０１２６】
ステップＳ２２５では、ステップ変化前後の目標燃圧値ＴＰＦＵＥＬと、ステップ変化前後の状態それぞれに対応して前記デューティ記憶マップから求められる学習値ＦＳＤＵＴＹとから、制御デューティを横軸とし、燃圧を縦軸とする２次元領域上で目標燃圧値ＴＰＦＵＥＬの変化前後に相当する２点を設定し、前記２点間を直線で結ぶ関数ｆ（ＤＵＴＹ）を求める。
【０１２７】
即ち、目標燃圧値ＴＰＦＵＥＬのステップ変化前の状態からステップ変化後の状態に向けて、制御デューティの変化に対して比例的に燃料圧力が変化するものと仮定して、制御デューティと燃料圧力との相関を求める。
【０１２８】
そして、前記関数ｆ（ＤＵＴＹ）を用いて、前記ステップＳ２２４で読み込んだ過渡時の制御デューティＰＦＤＵＴＹに対応する燃圧を推定する。
ステップＳ２２６では、ステップＳ２２５で推定した燃圧に基づいて噴射パルス幅を補正し、推定燃圧の下で要求量の燃料を噴射できる噴射パルス幅を設定する。
【０１２９】
従って、上記図１０のフローチャートに示すルーチンを実行すれば、燃料圧力の過渡変化時に、変化しつつある実際の燃料圧力ＦＵＰＲに見合った噴射パルス幅で燃料噴射を行わせることができ、実際の燃料圧力ＦＵＰＲの過渡変化に伴って空燃比ずれが発生することを抑制でき、過渡変化時の空燃比ずれをより一層低下させて、排気性状・運転性を改善できる。
【０１３０】
ところで、前記図４のフローチャートに示した制御ルーチンに従って、規範モデルを用いて燃料ポンプ１２を駆動制御する場合には、目標燃圧値ＴＰＦＵＥＬのステップ変化に対する空燃比ずれの発生を抑制する制御として、前記図１１のフローチャートに示す制御を適用することができる。
【０１３１】
図１１のフローチャートに示す過渡時制御ルーチンは、所定時間毎に割り込み実行され、まず、ステップＳ２４１では、そのときの目標燃圧値ＴＰＦＵＥＬを読み込む。
ステップＳ２４２では、前記ステップＳ２４１で読み込んだ目標燃圧値ＴＰＦＵＥＬの前回値と今回値とを比較し、目標燃圧値ＴＰＦＵＥＬのステップ変化が発生したか否かを判断する。
【０１３２】
そして、目標燃圧値ＴＰＦＵＥＬのステップ変化の発生が判断されると、ステップＳ２４３へ進み、目標燃圧値ＴＰＦＵＥＬのステップ変化に対して規範モデルの燃圧で追従変化させるためのフィードフォワードデューティＦＦＤＵＴＹを算出する。
【０１３３】
次のステップＳ２４４では、前記フィードフォワードデューティＦＦＤＵＴＹを、制御デューティＰＦＤＵＴＹに設定し、前記フィードフォワードデューティＦＦＤＵＴＹで燃料ポンプ１２を駆動制御させる。
【０１３４】
即ち、目標燃圧値ＴＰＦＵＥＬがステップ変化する前の燃圧の定常状態では、前記デューティ記憶マップから求められる学習値ＦＳＤＵＴＹで燃料ポンプ１２を駆動制御するが、目標燃圧値ＴＰＦＵＥＬがステップ変化すると、ステップ変化後の状態に対応するマップ値にまでデューティをステップ的に変化させるのではなく、規範モデルの応答で燃圧を変化させるデューティを設定し、該デューティに基づいて燃料ポンプ１２を駆動制御し、ステップ変化後の状態に収束すると、前記デューティ記憶マップから求められる学習値ＦＳＤＵＴＹで燃料ポンプ１２を駆動制御する状態に復帰させる。
【０１３５】
上記のように、燃料圧力センサ３３の異常時においても規範モデルの応答で燃圧を変化させるようにすれば、過渡時の燃圧変化は、燃料圧力センサ３３が正常で燃圧検出値に基づくフィードバック制御が行われる場合と略同等になるから、過渡運転時に発生する空燃比ずれを正常時と同程度に抑制することができる。
【０１３６】
換言すれば、燃料圧力センサ３３の正常であるときに、過渡的な燃圧変化に対して空燃比ずれを充分に抑制できるように、規範モデルや空燃比フィードバック制御のゲインなどを設定してあれば、燃料圧力センサ３３に異常が生じたときに正常時と同等の燃圧変化を発生させることで、正常時と同様に、空燃比ずれを充分に抑制できることになる。
【０１３７】
また、上記の規範モデルでの燃圧変化を発生させつつ、規範モデルに基づいて過渡状態での燃圧を推定し、該推定値を燃料噴射パルスの補正に用いれば、より空燃比ずれの発生を抑制できることになる。
【０１３８】
図１２のフローチャートに示す過渡制御ルーチンは、前記図４のフローチャートに示すルーチンと並行して実行されるものであり、所定時間毎に割り込み実行される。
まず、ステップＳ２６１では、そのときの目標燃圧値ＴＰＦＵＥＬを読み込む。
【０１３９】
ステップＳ２６２では、前記ステップＳ２６１で読み込んだ目標燃圧値ＴＰＦＵＥＬの前回値と今回値とを比較し、目標燃圧値ＴＰＦＵＥＬのステップ変化が発生したか否かを判断する。
【０１４０】
そして、目標燃圧値ＴＰＦＵＥＬのステップ変化の発生が判断されると、ステップＳ２６３へ進み、規範モデルに沿って実際の燃料圧力ＦＵＰＲが変化しているものと仮定して、そのときの実際の燃料圧力ＦＵＰＲを推定する。
【０１４１】
ステップＳ２６４では、前記ステップＳ２６３で推定した実際の燃料圧力ＦＵＰＲに基づいて燃料噴射パルス幅を補正することで、推定した燃料圧力ＦＵＰＲの下で、要求量の燃料を噴射できる時間に補正する。
【０１４２】
即ち、規範モデルに従って燃圧が変化するように、制御デューティＰＦＤＵＴＹを変化させ、かつ、この規範モデルに基づいてそのときの燃圧を逐次推定し、該推定した燃圧に基づいて噴射パルス幅を補正すれば、燃圧の過渡変化時に発生する空燃比ずれを抑制でき、更に、空燃比フィードバック制御を行って修正を施せば、過渡運転時に実際の空燃比を目標空燃比付近で推移させて、排気性状・運転性の低下を抑制できる。
【符号の説明】
【０１４８】
１…内燃機関、３…燃料噴射弁、１１…燃料タンク、１２…燃料ポンプ、３１…ＥＣＭ（エンジン・コントロール・モジュール）、３３…燃料圧力センサ
【図１】
0005411636.tif 000002
【図２】
0005411636.tif 000003
【図３】
0005411636.tif 000004
【図４】
0005411636.tif 000005
【図５】
0005411636.tif 000006
【図６】
0005411636.tif 000007
【図７】
0005411636.tif 000008
【図８】
0005411636.tif 000009
【図９】
0005411636.tif 000010
【図１０】
0005411636.tif 000011
【図１１】
0005411636.tif 000012
【図１２】
0005411636.tif 000013