(57)【特許請求の範囲】
【請求項１】
ＥＧＲ装置を備え、
エンジンの運転条件を検出する手段と、
この運転条件の検出値に応じて前記ＥＧＲ装置の制御目標値を演算する手段と、
前記運転条件の検出値に基づいて目標吸入空気量または目標吸入空気量相当値を演算する手段と、
実吸入空気量または実吸入空気量相当値を演算する手段と、
学習許可条件でこの実吸入空気量または実吸入空気量相当値と前記目標吸入空気量または目標吸入空気量相当値との間の空気量誤差に基づいて１つの学習値を演算する手段と、
学習許可条件でＥＧＲに対する感度に影響するパラメータの学習値を演算する手段と、
このＥＧＲに対する感度に影響するパラメータの学習値とその現在値との比較結果および前記空気量誤差の学習値に基づいて学習値反映許可条件での学習補正係数を演算する手段と、
前記学習値反映許可条件で前記ＥＧＲ装置の制御目標値とこの学習補正係数とを用いて前記ＥＧＲ装置を制御する手段と
を設けたことを特徴とするディーゼルエンジンの制御装置。
【請求項２】
前記ＥＧＲに対する感度に影響するパラメータはＥＧＲ率、燃料噴射量、エンジン負荷のうち少なくとも一つであることを特徴とする請求項１に記載のディーゼルエンジンの制御装置。
【請求項３】
前記ＥＧＲに対する感度に影響するパラメータはエンジン回転速度であることを特徴とする請求項１に記載のディーゼルエンジンの制御装置。
【請求項４】
前記ＥＧＲに対する感度に影響するパラメータがＥＧＲ率であるとき、このＥＧＲ率の学習値は学習許可条件でのＥＧＲ率の平均値であることを特徴とする請求項２に記載のディーゼルエンジンの制御装置。
【請求項５】
前記ＥＧＲに対する感度に影響するパラメータがエンジン回転速度であるとき、このエンジン回転速度の学習値は学習許可条件でのエンジン回転速度の平均値であることを特徴とする請求項３に記載のディーゼルエンジンの制御装置。
【請求項６】
前記学習許可条件が成立して所定期間の経過後を前記学習値反映許可条件とすることを特徴とする請求項１に記載のディーゼルエンジンの制御装置。
【請求項７】
前記空気量誤差の学習値と前記ＥＧＲに対する感度に影響するパラメータの学習値との２種類の学習値の学習許可条件は同じであることを特徴とする請求項１に記載のディーゼルエンジンの制御装置。
【請求項８】
前記ＥＧＲに対する感度に影響するパラメータの学習値とその現在値との比較結果は、ＥＧＲに対する感度に影響するパラメータの学習値とその現在値との差分であることを特徴とする請求項７に記載のディーゼルエンジンの制御装置。
【請求項９】
前記ＥＧＲに対する感度に影響するパラメータがＥＧＲ率であるとき、このＥＧＲ率の学習値を学習許可条件でのＥＧＲ率の平均値とするとともに、前記学習補正係数を学習反映値と１との加算値で構成する場合に、前記学習反映値を、ＥＧＲ率の現在値がＥＧＲ率の学習値より小さいときのほうがＥＧＲ率の現在値がＥＧＲ率の学習値より大きいときより絶対値で大きくなるように設定することを特徴とする請求項８に記載のディーゼルエンジンの制御装置。
【請求項１０】
前記学習補正係数を水温または大気圧で補正することを特徴とする請求項１に記載のディーゼルエンジンの制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はディーゼルエンジンの制御装置、特にＥＧＲ装置（排気の一部を吸気通路へ再循環させる装置）と過給機を備えるものに関する。
【０００２】
【従来の技術】
排気通路にＮＯｘ還元触媒などの触媒を備える場合に、その触媒が劣化してくると、排気圧が上昇し、こうした排気圧の上昇や可変容量ターボ過給機の作動バラツキによる吸入空気量の変動でＥＧＲ量が増大すると、空気過剰率が小さくなり、スモーク特性が悪くなる。そこで、実吸入空気量が目標吸入空気量と一致するようにフィードバック制御を行うもの（特開平１１−８２１８３号公報参照）や実ＥＧＲ量が目標ＥＧＲ量と一致するようにフィードバック制御を行うものがある（特開平１１−５０９１７号公報参照）。
【０００３】
【発明が解決しようとする課題】
しかしながら、単なるフィードバック制御だけでは、過渡時の目標追従性が不十分である上に、フィードバックゲインの設定が煩雑となる。
【０００４】
また、実吸入空気量の目標吸入空気量からの偏差とＥＧＲ弁開度の関係は、線型でなくそのときのＥＧＲ弁前後の差圧やＥＧＲ流量によって変化するため、運転条件に応じてフィードバックゲインを変化させる必要があり、条件によっては大きなフィードバック量が生じてしまい、制御精度を十分確保できにくい。
【０００５】
このため、各種の実験を行ってみたところ、シリンダＥＧＲ量Ｑｅｃと目標ＥＧＲ率ＭｅｇｒとＥＧＲガス（ＥＧＲ弁を流れるガス）の流速（このＥＧＲガスの流速を以下、単に「ＥＧＲ流速」という）Ｃｑｅの間に、可変ノズルのノズル開度に関係なく強い相関があることを新たに発見したことから、目標ＥＧＲ量と目標ＥＧＲ率に基づいてＥＧＲ流速（またはこの流速と一定の関係にあるＥＧＲ弁の前後差圧）を予測し、この予測値に基づいてＥＧＲ弁を制御するとともに、実吸入空気量と目標吸入空気量の差（誤差量）や比（誤差割合）の学習値を演算し、この空気量誤差の学習値に基づいて前記ＥＧＲ流速またはＥＧＲ流速の演算に用いるパラメータ（目標ＥＧＲ量や目標ＥＧＲ率）を補正することにより、触媒の劣化による排気圧上昇や可変容量ターボ過給機を使用した場合の作動バラツキによる吸入空気量の変動があっても、空気過剰率の低下を確実に防止して、排気へのロバスト性を一段と向上するようにしたものを提案した（特願平１１−２３３１５２号参照）。
【０００６】
その後、ＥＧＲ量の状態が実吸入空気量の目標吸入空気量への制御性に影響することがわかった。これは、ＥＧＲ量が多い状態では実吸入空気量（あるいは実吸入空気圧）を変化させようとしてもあまり変化しないのに対してＥＧＲ量が少ない状態になると、実吸入空気量を大きく変化させることができる点に起因するものである。ＥＧＲに対するこの吸入空気量の変化の程度を感度といい、上記のようにＥＧＲ量が多い状態ではＥＧＲに対する感度が小さい、またＥＧＲ量が少ない状態になるとＥＧＲに対する感度が大きくなる、といった使い方をする。
【０００７】
この場合に、ＥＧＲに対する感度が小さい領域で上記空気量誤差の学習値を演算すると、学習誤差が大きくなる。これについて具体的に述べると、上記の先願装置では、回転速度Ｎｅと目標燃料噴射量Ｑｓｏｌをパラメータとする運転領域が複数個の領域に区画され、その区画された１の領域毎に独立に空気量誤差の学習値を格納するようにしている。このため基本的に全ての領域の学習値を演算させる必要があることから、学習値反映許可条件の成立中に学習許可条件が成立すればその都度、学習許可条件の成立した領域毎にフィードバック補正係数に基づいて空気量誤差の学習値の演算を行う。詳細には、フィードバック許可条件、学習許可条件で次のようにしてフィードバック補正係数Ｋｑａｃ０、誤差割合学習値Ｒｑａｃを演算している。
【０００８】
Ａ．フィードバック許可条件：実吸入空気量Ｑａｃと目標吸入空気量遅れ処理値ｔＱａｃｄとに基づいて後述する数２１式より目標からの空気量の誤差割合Ｒｑａｃ０を演算し、この誤差割合Ｒｑａｃ０に１を加えた値をフィードバック補正係数Ｋｑａｃ０として算出する（補正係数の制御中心を１．０としたいため）。
【０００９】
Ｂ．学習許可条件：フィードバック補正係数Ｋｑａｃ０から１を減算して誤差割合Ｒｑａｃｎとし、この誤差割合Ｒｑａｃｎに基づいて後述する数２２式により誤差割合学習値Ｒｑａｃを演算する。
【００１０】
さて、実吸入空気量Ｑａｃが目標としてのｔＱａｃｄよりたとえば小さいときで考えると、フィードバック補正係数Ｋｑａｃ０が１より大きくなり、学習値Ｒｑａｃも１．０以下の正の値となる。この場合に、ＥＧＲに対する感度が大きい領域では、実吸入空気量Ｑａｃを大きくしようとフィードバック補正係数Ｋｑａｃ０を１より大きくしたとき、すぐに実吸入空気量Ｑａｃが増えて目標としてのｔＱａｃｄと一致するとしても、ＥＧＲに対する感度が小さい領域では、実吸入空気量Ｑａｃを大きくしようとフィードバック補正係数Ｋｑａｃ０を大きくするものの、なかなか実吸入空気量Ｑａｃが増えないためにフィードバック補正係数Ｋｑａｃ０がますます大きくなり、これに基づいて演算される学習値Ｒｑａｃが大きくなる。すなわち、ＥＧＲに対する感度が小さくなる領域ほど学習値Ｒｑａｃが大きめに演算されてしまい、学習誤差が大きくなるのである。
【００１１】
そこで本発明は、
▲１▼空気量誤差の学習値Ｒｑａｃを１つだけとし、学習許可条件が成立して学習値Ｒｑａｃの演算を１回行って学習を終了した後は、その同じ１つの学習値Ｒｑａｃを用いて学習値反映許可条件で学習補正係数Ｋｑａｃを演算し、この補正係数ＫｑａｃでＥＧＲ流速またはＥＧＲ流速の演算に用いるパラメータを補正する。
【００１２】
▲２▼この場合、学習補正係数Ｋｑａｃを演算するに際しては空気量誤差の学習値Ｒｑａｃに加えて、本発明で新たに導入するＥＧＲに対する感度に影響するパラメータ（ＥＧＲ率、エンジン回転速度）の学習値とその現在値との比較結果を考慮する。
【００１３】
これら▲１▼、▲２▼により、学習許可条件での空気量誤差の学習値Ｒｑａｃの精度を高め、かつ学習値反映許可条件ではＥＧＲに対する感度の違いに対応した学習補正係数を与えることを目的とする。
【００１４】
【課題を解決するための手段】
第１の発明は、図７０に示すように、ＥＧＲ装置６１を備え、エンジンの運転条件（たとえば回転数と負荷）を検出する手段６２と、この運転条件の検出値に応じて前記ＥＧＲ装置６１の制御目標値を演算する手段６３と、前記運転条件の検出値に基づいて目標吸入空気量ｔＱａｃまたは目標吸入空気量相当値（たとえば目標吸気圧）を演算する手段６４と、実吸入空気量Ｑａｃまたは実吸入空気量相当値（たとえば実吸気圧）を演算する手段６５と、学習許可条件でこの実吸入空気量Ｑａｃまたは実吸入空気量相当値と前記目標吸入空気量ｔＱａｃまたは目標吸入空気量相当値との間の空気量誤差に基づいて１つの学習値を演算する手段６６と、学習許可条件でＥＧＲに対する感度に影響するパラメータの学習値を演算する手段６７と、このＥＧＲに対する感度に影響するパラメータの学習値とその現在値との比較結果（差分または比）および前記空気量誤差の学習値に基づいて学習値反映許可条件での学習補正係数Ｋｑａｃを演算する手段６８と、前記学習値反映許可条件で前記ＥＧＲ装置６２の制御目標値とこの学習補正係数Ｋｑａｃとを用いて前記ＥＧＲ装置６２を制御する手段６９とを設けた。
【００１５】
第２の発明では、第１の発明において前記ＥＧＲに対する感度に影響するパラメータがＥＧＲ率、燃料噴射量、エンジン負荷のうち少なくとも一つである。
【００１６】
第３の発明では、第１の発明において前記ＥＧＲに対する感度に影響するパラメータがエンジン回転速度である。
【００１７】
第４の発明では、第２の発明において前記ＥＧＲに対する感度に影響するパラメータがＥＧＲ率であるとき、このＥＧＲ率の学習値が学習許可条件でのＥＧＲ率の平均値である。
【００１８】
第５の発明では、第３の発明において前記ＥＧＲに対する感度に影響するパラメータがエンジン回転速度であるとき、このエンジン回転速度の学習値が学習許可条件でのエンジン回転速度の平均値である。
【００１９】
第６の発明では、第１の発明において前記学習許可条件が成立して所定期間（たとえば所定時間）の経過後を前記学習値反映許可条件とする。
【００２０】
第７の発明では、第１の発明において前記空気量誤差の学習値と前記ＥＧＲに対する感度に影響するパラメータの学習値との２種類の学習値の学習許可条件が同じである。
【００２１】
第８の発明では、第７の発明において前記ＥＧＲに対する感度に影響するパラメータの学習値とその現在値との比較結果が、ＥＧＲに対する感度に影響するパラメータの学習値とその現在値との差分である。
【００２２】
第９の発明では、第８の発明において前記ＥＧＲに対する感度に影響するパラメータがＥＧＲ率であるとき、このＥＧＲ率の学習値を学習許可条件でのＥＧＲ率の平均値とするとともに、前記学習補正係数Ｋｑａｃを学習反映値Ｒｑａｃｌｓと１との加算値で構成する場合に、前記学習反映値Ｒｑａｃｌｓを、ＥＧＲ率の現在値がＥＧＲ率の学習値より小さいときのほうがＥＧＲ率の現在値がＥＧＲ率の学習値より大きいときより絶対値で大きくなるように設定する。
【００２３】
第１０の発明では、第１の発明において前記学習補正係数Ｋｑａｃを水温または大気圧で補正する。
【００２４】
【発明の効果】
第１、第２、第３、第４、第６の発明によれば、学習許可条件をＥＧＲに対する感度が大きい領域に設定することで、学習誤差が大きくなるの避けて空気量誤差の学習値の精度を高めることができる。また、運転領域を複数に分割し、その各領域毎に独立に値を有するように空気量誤差の学習値を構成するときには、学習値の初期値を設定する際に各領域毎に運転性、ＥＧＲ制御時の安定性、スモーク特性を考慮しなければならず、相当の気遣いが要求されるのであるが、第１、第２、第３、第４、第６の発明によれば空気量誤差の学習値は１つであるので、初期値設定の気遣いが低減されて適合が容易となる。
【００２５】
また、ＥＧＲに対する感度に影響するパラメータの学習値とその現在値との比較結果および空気量誤差の学習値に基づいて学習値反映許可条件での学習補正係数を演算するので、学習値反映許可条件ではＥＧＲに対する感度の違いに対応した学習補正係数を与えることができる。
【００２６】
第４、第５の発明によれば、ＥＧＲ率の平均値やエンジン回転速度の平均値を得るにはある広がりをもった領域が学習領域となるので、運転条件の一点を学習領域とする場合より学習の頻度を高めることができ、かつ少しの運転条件の変動でＥＧＲ率やエンジン回転速度が変化したり、ノイズが乗ってもこの影響を受けることがない。また、ＥＧＲ率や回転速度の学習値を演算するのに定常、過渡を問題としないので、学習禁止条件を簡易にできる。
【００２７】
２種類の学習値について学習許可条件を相違させると、学習値反映許可条件でのロジックが複雑になるのであるが、第７の発明によれば、２種類の学習値について学習許可条件と学習値反映許可条件とが同じになるので、各学習値について学習許可条件を相違させる場合に比べて、学習値反映許可条件でのロジックを簡易にすることができる。
【００２８】
第８の発明によれば、学習許可条件でのＥＧＲに対する感度に影響するパラメータの学習値と、学習値を反映させる条件でのＥＧＲに対する感度に影響するパラメータの現在値との差分で学習補正係数を決めるので、ロジックを簡単にできる。
【００２９】
ＥＧＲ率の現在値がＥＧＲ率の学習値より小さいときはＥＧＲに対する感度が大きく、ＥＧＲ率の現在値がＥＧＲ率の学習値より大きいときはＥＧＲに対する感度が小さいので、第９の発明によれば、ＥＧＲに対する感度に応じた学習反映値を与えることができる。
【００３０】
水温や大気圧もＥＧＲに対する感度に影響するので、第１０の発明によれば、これらに対応した学習補正係数を与えることができる。
【００３１】
【発明の実施の形態】
図１に、熱発生のパターンが単段燃焼となる、いわゆる低温予混合燃焼を行わせるための構成を示す。なお、この構成そのものは特開平８−８６２５１号公報などにより公知である。
【００３２】
さて、ＮＯｘの生成は燃焼温度に大きく依存し、その低減には燃焼温度の低温化が有効である。低温予混合燃焼では、ＥＧＲによる酸素濃度の低減で、低温燃焼を実現するため、排気通路２と吸気通路３のコレクタ部３ａとを結ぶＥＧＲ通路４に、圧力制御弁５からの制御圧力に応動するダイヤフラム式のＥＧＲ弁６を備えている。
【００３３】
圧力制御弁５は、コントロールユニット４１からのデューティ制御信号により駆動されるもので、これによって運転条件に応じた所定のＥＧＲ率を得るようにしている。たとえば、低回転低負荷域でＥＧＲ率を最大の１００パーセントとし、回転速度、負荷が高くなるに従い、ＥＧＲ率を減少させる。高負荷側では排気温度が上昇するため、多量のＥＧＲガスを還流すると、吸気温度の上昇によってＮＯｘ低減の効果が減少したり、噴射燃料の着火遅れ期間が短くなって予混合燃焼が実現できなくなる等のため、ＥＧＲ率を段階的に減少させている。
【００３４】
ＥＧＲ通路４の途中には、ＥＧＲガスの冷却装置７を備える。これは、ＥＧＲ通路４の周りに形成されエンジン冷却水の一部が循環されるウォータジャケット８と、冷却水の導入口７ａに設けられ冷却水の循環量を調整可能な流量制御弁９とからなり、コントロールユニット４１からの指令により、制御弁９を介して循環量を増やすほどＥＧＲガスの冷却度が増す。
【００３５】
燃焼促進のため吸気ポート近傍の吸気通路に所定の切欠を有するスワールコントロールバルブ（図示しない）を備える。コントロールユニット４１により、このスワールコントロールバルブが低回転低負荷域で閉じられると、燃焼室に吸入される吸気の流速が高まり燃焼室にスワールが生成される。
【００３６】
燃焼室は大径トロイダル燃焼室（図示しない）である。これは、ピストンキャビティを、入口を絞らずピストンの冠面から底部まで円筒状に形成したもので、その底部中央には、圧縮行程後期にピストンキャビティの外部から旋回しながら流れ込むスワールに抵抗を与えないように、さらに空気と燃料の混合を良好にするため、円錐部が形成されている。この入口を絞らない円筒状のピストンキャビティにより、前述のスワールバルブ等によって生成されたスワールは、燃焼過程でピストンが下降していくのに伴い、ピストンキャビティ内からキャビティ外に拡散され、キャビティ外でもスワールが持続される。
【００３７】
エンジンにはコモンレール式の燃料噴射装置１０を備える。コモンレール式の燃料噴射装置１０の構成も公知（第１３回内燃機関シンポジウム講演論文集第７３頁〜第７７頁参照）であり、図２により概説する。
【００３８】
この燃料噴射装置１０は、主に燃料タンク１１、燃料供給通路１２、サプライポンプ１４、コモンレール（蓄圧室）１６、気筒毎に設けられるノズル１７からなり、サプライポンプ１４により加圧された燃料は燃料供給通路１５を介して蓄圧室１６にいったん蓄えられたあと、蓄圧室１６の高圧燃料が気筒数分のノズル１７に分配される。
【００３９】
ノズル１７は、針弁１８、ノズル室１９、ノズル室１９への燃料供給通路２０、リテーナ２１、油圧ピストン２２、針弁１８を閉弁方向（図で下方）に付勢するリターンスプリング２３、油圧ピストン２２への燃料供給通路２４、この通路２４に介装される三方弁（電磁弁）２５などからなり、ノズル内の通路２０と２４が連通して油圧ピストン２２上部とノズル室１９にともに高圧燃料が導かれる三方弁２５のＯＦＦ時（ポートＡとＢが連通、ポートＢとＣが遮断）には、油圧ピストン２２の受圧面積が針弁１８の受圧面積より大きいことから、針弁１８が着座状態にあるが、三方弁２５がＯＮ状態（ポートＡとＢが遮断、ポートＢとＣが連通）になると、油圧ピストン２２上部の燃料が戻し通路２８を介して燃料タンク１１に戻され、油圧ピストン２２に作用する燃料圧力が低下する。これによって針弁１８が上昇してノズル先端の噴孔より燃料が噴射される。三方弁２５をふたたびＯＦＦ状態に戻せば、油圧ピストン２２に蓄圧室１６の高圧燃料が導びかれて燃料噴射が終了する。つまり、三方弁２５のＯＦＦからＯＮへの切換時期により燃料の噴射開始時期が、またＯＮ時間により燃料噴射量が調整され、蓄圧室１６の圧力が同じであれば、ＯＮ時間が長くなるほど燃料噴射量が多くなる。２６は逆止弁、２７はオリフィスである。
【００４０】
この燃料噴射装置１０にはさらに、蓄圧室圧力を調整するため、サプライポンプ１４から吐出された燃料を戻す通路１３に圧力調整弁３１を備える。この調整弁３１は通路１３の流路を開閉するもので、蓄圧室１６への燃料吐出量を調整することにより蓄圧室圧力を調整する。蓄圧室１６の燃料圧力（噴射圧）によって燃料噴射率が変化し、蓄圧室１６の燃料圧力が高くなるほど燃料噴射率が高くなる。
【００４１】
アクセル開度センサ３３、エンジン回転速度とクランク角度を検出するセンサ３４、気筒判別のためのセンサ３５、水温センサ３６からの信号が入力されるコントロールユニット４１では、エンジン回転速度とアクセル開度に応じて目標燃料噴射量と蓄圧室１６の目標圧力を演算し、圧力センサ３２により検出される蓄圧室圧力がこの目標圧力と一致するように圧力調整弁３１を介して蓄圧室１６の燃料圧力をフィードバック制御する。
【００４２】
また、演算した目標燃料噴射量に対応して三方弁２５のＯＮ時間を制御するほか、三方弁２５のＯＮへの切換時期を制御することで、運転条件に応じた所定の噴射開始時期を得るようにしている。たとえば、高ＥＧＲ率の低回転低負荷側で噴射燃料の着火遅れ期間が長くなるように燃料の噴射時期（噴射開始時期）をピストン上死点（ＴＤＣ）にまで遅延している。この遅延により、着火時期の燃焼室内の温度を低温状態にし、予混合燃焼比率を増大させることにより、高ＥＧＲ率域でのスモークの発生を抑える。これに対して、回転速度、負荷が高くなるにしたがい、噴射時期を進めている。これは、着火遅れの時間が一定であっても、着火遅れクランク角度（着火遅れの時間をクランク角度に換算した値）がエンジン回転速度の増加に比例して大きくなり、低ＥＧＲ率時に所定の着火時期を得るために、噴射時期を進めるのである。
【００４３】
図１に戻り、ＥＧＲ通路４の開口部下流の排気通路２に可変容量ターボ過給機を備える。これは、排気タービン５２のスクロール入口に、圧力アクチュエータ５４により駆動される可変ノズル５３を設けたもので、コントロールユニット４１により、可変ノズル５３は低回転域から所定の過給圧が得られるように、低回転側では排気タービン５２に導入される排気の流速を高めるノズル開度（傾動状態）に、高回転側では排気を抵抗なく排気タービン５２に導入させノズル開度（全開状態）に制御する。
【００４４】
上記の圧力アクチュエータ５４は、制御圧力に応動して可変ノズル５３を駆動するダイヤフラムアクチュエータ５５と、このアクチュエータ５５への制御圧力を調整する圧力制御弁５６とからなり、可変ノズル５３の開口割合が、後述するようにして得られる目標開口割合Ｒｖｎｔとなるように、デューティ制御信号が作られ、このデューティ制御信号が圧力制御弁５６に出力される。
【００４５】
さて、過給圧制御という観点からみると、ＥＧＲ制御も、過給圧制御の役割を物理的に果たしている。つまり、ＥＧＲ量を変化させることにより過給圧も変化する。逆に、過給圧を変化させると、排気圧力が変化するため、ＥＧＲ量も変化することになり、過給圧とＥＧＲ量とは独立に制御できない。また、ややもするとお互いに制御上の外乱となっている。なお、一方を変化させた場合に、制御精度を確保するには、他方を適合し直すことであるが、他方を適合し直した後には、もう一方を再適合しなければならなくなるので、この方法では、過渡時の制御精度を確保することが困難である。
【００４６】
このように、過給圧とＥＧＲ量とはお互いに影響を与え、ＥＧＲ量を変えると、ノズル開度を変える必要があるなど適切な適合が困難な上に、特に過渡時は双方の制御精度が低下するので、コントロールユニット４１では、運転条件に応じて目標吸入空気量ｔＱａｃを演算し、この目標吸入空気量ｔＱａｃと目標ＥＧＲ量や目標ＥＧＲ率Ｍｅｇｒに遅れ処理を施した値である実ＥＧＲ量Ｑｅｃや実ＥＧＲ率Ｍｅｇｒｄからターボ過給機の作動目標値である可変ノズル５３の目標開口割合Ｒｖｎｔを設定する。
【００４７】
また、ＥＧＲ流速Ｃｑｅを予測し、この予測値に基づいてＥＧＲ弁６の開度Ａｅｖを制御する。
【００４８】
さらに、実吸入空気量Ｑａｃが目標吸入空気量遅れ処理値ｔＱａｃｄと一致するようにＥＧＲ流速フィードバック補正係数Ｋｑａｃ０を演算し、学習許可条件になるとこのフィードバック補正係数Ｋｑａｃ０に基づいて誤差割合学習値Ｒｑａｃ（空気量誤差の学習値）を演算するとともに、ＥＧＲに対する感度に影響するパラメータの学習値をも新たに演算し、誤差割合学習値Ｒｑａｃの演算を終了した後の学習値反映許可条件で、これら２種類の学習値に基づいて学習補正係数Ｋｑａｃを演算し、この学習補正係数Ｋｑａｃに基づいてＥＧＲ流速Ｃｑｅの演算に用いるパラメータである実ＥＧＲ量Ｑｅｃを補正する。
【００４９】
詳細には、ＥＧＲに対する感度に影響するパラメータは目標ＥＧＲ率Ｍｅｇｒおよびエンジン回転速度Ｎｅの２つであり、目標ＥＧＲ率の学習値Ｍｅｇｒｌおよびエンジン回転速度の学習値Ｎｅｌを誤差割合学習値Ｒｑａｃの学習許可条件と同じ学習許可条件で演算する。このうち目標ＥＧＲ率学習値Ｍｅｇｒｌと目標ＥＧＲ率Ｍｅｇｒ（現在値）との差分ｄＭｅｇｒと誤差割合学習値Ｒｑａｃとから学習反映基本値Ｒｑａｃｌｓを、またエンジン回転速度学習値Ｎｅｌとエンジン回転速度Ｎｅ（現在値）との差分ｄＮｅから学習反映値補正係数Ｋｒｑａｃｌｓを演算し、この補正係数Ｋｒｑａｃｌｓを基本値Ｒｑａｃｌｓに乗算した値に基づいて学習補正係数Ｋｑａｃを演算する。
【００５０】
コントロールユニット４１で実行されるこの制御の内容を、以下のフローチャートにしたがって説明する。なお、後述する図３〜図４９、図５１〜図５９、図６３、図６４は先願装置（特願平１１−２３３１５２号参照）ですでに提案しているところと同様であるため、図５０、図６０〜図６２、図６５〜図６９が本願で修正あるいは新たに追加した部分である。
【００５１】
まず、図３は目標燃料噴射量Ｑｓｏｌを演算するためのもので、ＲＥＦ信号（クランク角の基準位置信号で、４気筒エンジンでは１８０度毎、６気筒エンジンでは１２０度毎の各信号）の入力毎に実行する。
【００５２】
ステップ１、２でエンジン回転速度Ｎｅとアクセル開度Ｃｌを読み込み、ステップ３では、これらＮｅとＣｌに基づいて、図４を内容とするマップを検索すること等により、基本燃料噴射量Ｍｑｄｒｖを演算し、ステップ４ではこの基本燃料噴射量Ｍｑｄｒｖに対してエンジン冷却水温等による増量補正を行い、補正後の値を目標燃料噴射量Ｑｓｏｌとして設定する。
【００５３】
図５はＥＧＲ弁６の開口面積Ａｅｖを演算するためのもので、ＲＥＦ信号の入力毎に実行する。ステップ１では目標ＥＧＲ量Ｔｑｅｋ（ＥＧＲ装置の制御目標値）を演算する。このＴｑｅｋの演算については図７のフローにより説明する。
【００５４】
図７（図５ステップ１のサブルーチン）において、ステップ１、２では１シリンダ当たりの吸入空気量Ｑａｃｎと目標ＥＧＲ率Ｍｅｇｒを演算する。
【００５５】
ここで、Ｑａｃｎの演算については図８のフローにより、またＭｅｇｒの演算については図１１のフローにより説明する。
【００５６】
まず、図８において、ステップ１ではエンジン回転速度Ｎｅを読み込み、このエンジン回転速度Ｎｅとエアフローメータより得られる吸入空気量Ｑａｓ０とから
【００５７】
【数１】
Ｑａｃ０＝（Ｑａｓ０／Ｎｅ）×ＫＣＯＮ＃、
ただし、ＫＣＯＮ＃：定数、
の式により１シリンダ当たりの吸入空気量Ｑａｃ０を演算する。
【００５８】
上記のエアフローメータ３９（図１参照）は、コンプレッサ上流の吸気通路３に設けており、エアフローメータ３９からコレクタ部３ａまでの輸送遅れ分のディレイ処理を行うため、ステップ３ではＬ（ただしＬは定数）回前のＱａｃ０の値をコレクタ入口部３ａ位置における１シリンダ当たりの吸入空気量Ｑａｃｎとして求めている。そして、ステップ４ではこのＱａｃｎに対して
【００５９】
【数２】
Ｑａｃ＝Ｑａｃn-1×（１−ＫＩＮ×ＫＶＯＬ）＋Ｑａｃｎ×ＫＩＮ×ＫＶＯＬ、
ただし、ＫＩＮ：体積効率相当値、
ＫＶＯＬ：ＶＥ／ＮＣ／ＶＭ、
ＶＥ：排気量、
ＮＣ：気筒数、
ＶＭ：吸気系容積、
Ｑａｃn-1：前回のＱａｃ、
の式（一次遅れの式）により吸気弁位置における１シリンダ当たりの吸入空気量（この吸入空気量を、以下「シリンダ吸入空気量」で略称する。）Ｑａｃを演算する。これはコレクタ入口部３ａから吸気弁までのダイナミクスを補償するためのものである。
【００６０】
上記数１式右辺の吸入空気量Ｑａｓ０の検出については図９のフローにより説明する。図９のフローは４ｍｓｅｃ毎に実行する。
【００６１】
ステップ１ではエアフローメータ３９の出力電圧Ｕｓを読み込み、このＵｓからステップ２で図１０を内容とする電圧−流量変換テーブルを検索すること等により吸入空気量Ｑａｓ０ ｄを演算する。さらに、ステップ３でこのＱａｓ０ ｄに対して加重平均処理を行い、その加重平均処理値を吸入空気量Ｑａｓ０として設定する。
【００６２】
次に、図１１において、ステップ１ではエンジン回転速度Ｎｅ、目標燃料噴射量Ｑｓｏｌ、エンジン冷却水温Ｔｗを読み込む。ステップ２ではエンジン回転速度Ｎｅと目標燃料噴射量Ｑｓｏｌから図１２を内容とするマップを検索すること等により基本目標ＥＧＲ率Ｍｅｇｒｂを演算する。この場合、基本目標ＥＧＲ率は、エンジンの使用頻度の高い領域、つまり低回点、低負荷（低噴射量）になるほど大きくなり、スモークが発生しやすい高出力時には小さくする。
【００６３】
次にステップ３で冷却水温Ｔｗから図１３を内容とするテーブルを検索すること等により、基本目標ＥＧＲ率の水温補正係数Ｋｅｇｒ ｔｗを演算する。そして、ステップ４において、基本目標ＥＧＲ率とこの水温補正係数とから、
【００６４】
【数３】
Ｍｅｇｒ＝Ｍｅｇｒｂ×Ｋｅｇｒ ｔｗ
の式により目標ＥＧＲ率Ｍｅｇｒを算出する。
【００６５】
ステップ５ではエンジンの状態が完爆状態であるか否かを判定する。ただし、この完爆の判定は、図１４のフローで後述する。
【００６６】
ステップ６では完爆状態かどうかみて、完爆状態のときは、今回の処理をそのまま終了し、完爆状態でないと判定されたときは、目標ＥＧＲ率Ｍｅｇｒを０として今回の処理を終了する。
【００６７】
これにより、エンジンの完爆後にＥＧＲ制御が行われ、完爆前は安定した始動性を確保するためにもＥＧＲは行われない。
【００６８】
図１４はエンジンの完爆を判定するためのものである。ステップ１でエンジン回転速度Ｎｅを読み込み、このエンジン回転速度Ｎｅと完爆回転速度に相当する完爆判定スライスレベルＮＲＰＭＫとをステップ２において比較する。Ｎｅのほうが大きいときは完爆と判断し、ステップ３に進む。ここでは、カウンタＴｍｒｋｂと所定時間ＴＭＲＫＢＰとを比較し、カウンタＴｍｒｋｂが所定時間よりも大きいときは、ステップ４に進み、完爆したものとして処理を終了する。
【００６９】
これに対して、ステップ２でＮｅのほうが小さいときは、ステップ６に進み、カウンタＴｍｒｋｂをクリアし、ステップ７で完爆状態にはないものとして処理を終了する。また、ステップ２でＮｅよりも大きいときでも、ステップ３でカウンタＴｍｒｋｂが所定時間よりも小さいときは、ステップ５でカウンタをインクリメントし、完爆でないと判断する。
【００７０】
これらにより、エンジン回転速度が所定値（たとえば４００ｒｐｍ）以上であって、かつこの状態が所定時間にわたり継続されたときに完爆したものと判定するのである。
【００７１】
このようにして図８によりシリンダ吸入空気量Ｑａｃｎ、図１１により目標ＥＧＲ率Ｍｅｇｒの演算を終了したら、図７のステップ３に戻り、両者から
【００７２】
【数４】
Ｍｑｅｃ＝Ｑａｃｎ×Ｍｅｇｒ
の式により要求ＥＧＲ量Ｍｑｅｃを演算する。
【００７３】
ステップ４ではこのＭｑｅｃに対して、ＫＩＮ×ＫＶＯＬを加重平均係数とする
【００７４】
【数５】
Ｒｑｅｃ＝Ｍｑｅｃ×ＫＩＮ×ＫＶＯＬ＋Ｒｑｅｃn-1×（１−ＫＩＮ×ＫＶＯＬ）、
ただし、ＫＩＮ：体積効率相当値、
ＫＶＯＬ：ＶＥ／ＮＣ／ＶＭ、
ＶＥ：排気量、
ＮＣ：気筒数、
ＶＭ：吸気系容積、
Ｒｑｅｃn-1：前回の中間処理値、
の式により、中間処理値（加重平均値）Ｒｑｅｃを演算し、このＲｑｅｃと要求ＥＧＲ量Ｍｑｅｃを用いてステップ５で
【００７５】
【数６】
Ｔｑｅｃ＝Ｍｑｅｃ×ＧＫＱＥＣ＋Ｒｑｅｃn-1×（１−ＧＫＱＥＣ）、
ただし、ＧＫＱＥＣ：進み補正ゲイン、
の式により進み補正を行って、１シリンダ当たりの目標ＥＧＲ量Ｔｑｅｃを演算する。要求値に対して吸気系の遅れ（すなわちＥＧＲ弁６→コレクタ部３ａ→吸気マニホールド→吸気弁の容量分の遅れ）があるので、ステップ４、５はこの遅れ分の進み処理を行うものである。
【００７６】
ステップ６では
【００７７】
【数７】
Ｔｑｅｋ＝Ｔｑｅｃ×（Ｎｅ／ＫＣＯＮ＃）／Ｋｑａｃ００、
ただし、Ｋｑａｃ００：ＥＧＲ量フィードバック補正係数、
ＫＣＯＮ＃：定数、
の式により単位変換（１シリンダ当たり→単位時間当たり）を行って、目標ＥＧＲ量Ｔｑｅｋを求める。なお、ＥＧＲ量フィードバック補正係数Ｋｑａｃ００の演算については後述する（図５４参照）。
【００７８】
このようにして目標ＥＧＲ量Ｔｑｅｋの演算を終了したら、図５のステップ２に戻り、ＥＧＲ流速Ｃｑｅを演算し、このＥＧＲ流速Ｃｑｅと目標ＥＧＲ量Ｔｑｅｋとから
【００７９】
【数８】
Ａｅｖ＝Ｔｑｅｋ／Ｃｑｅ
の式でＥＧＲ弁開口面積Ａｅｖを演算する。なお、ＥＧＲ流速Ｃｑｅの演算については後述する（図６３により参照）。
【００８０】
このようにして得られたＥＧＲ弁開口面積Ａｅｖは、図示しないフローにおいて図６を内容とするテーブルを検索する等によりＥＧＲ弁６のリフト量に変換され、このＥＧＲ弁リフト量になるように、圧力制御弁５へのデューティ制御信号が作られ、このデューティ制御信号が圧力制御弁５に出力される。
【００８１】
次に、図１５、図１６はターボ過給機駆動用の圧力制御弁５６に与える制御指令デューティ値Ｄｔｙｖｎｔを演算するためのもので、一定時間毎（たとえば１０ｍｓｅｃ毎）に実行する。
【００８２】
図１５を第１実施形態、図１６を第２実施形態とすると、２つの実施形態では可変ノズル５３の目標開口割合Ｒｖｎｔを演算するのに用いるパラメータに違いがある（図１５の第１実施形態では実ＥＧＲ量Ｑｅｃに基づいて、また図１６の第２実施形態では実ＥＧＲ率Ｍｅｇｒｄに基づいて可変ノズル５３の目標開口割合Ｒｖｎｔを演算する）。
【００８３】
なお、図１５、図１６はメインルーチンで、制御の大きな流れは図示のステップに従うものであり、各ステップの処理に対してサブルーチンが用意されている。したがって、以下ではサブルーチンを中心に説明していく。
【００８４】
図１７（図１５、図１６のステップ１のサブルーチン）は実ＥＧＲ率を演算するためのもので、ＲＥＦ信号の入力毎に実行する。ステップ１で目標ＥＧＲ率Ｍｅｇｒ（図１１で既に得ている）を読み込み、ステップ２でコレクタ容量分の時定数相当値Ｋｋｉｎを演算する。このＫｋｉｎの演算については図１８のフローにより説明する。
【００８５】
図１８（図１７のステップ２のサブルーチン）において、ステップ１でエンジン回転速度Ｎｅ、目標燃料噴射量Ｑｓｏｌ、後述する実ＥＧＲ率の前回値であるＭｅｇｒｄn-1［％］を読み込み、このうちＮｅとＱｓｏｌからステップ２において図１９を内容とするマップを検索すること等により体積効率相当基本値Ｋｉｎｂを演算し、ステップ３では
【００８６】
【数９】
Ｋｉｎ＝Ｋｉｎｂ×１／（１＋Ｍｅｇｒｄn-1／１００）
の式により体積効率相当値Ｋｉｎを演算する。これはＥＧＲによって体積効率が減少するので、その分の補正を行うようにしたものである。
【００８７】
このようにして求めたＫｉｎに対し、ステップ４において吸気系容積とシリンダ容積の比相当の定数であるＫＶＯＬ（図８のステップ４参照）を乗じた値をコレクタ容量分の時定数相当値Ｋｋｉｎとして演算する。
【００８８】
このようにしてＫｋｉｎの演算を終了したら図１７のステップ３に戻り、このＫｋｉｎと目標ＥＧＲ率Ｍｅｇｒを用い、
【００８９】
【数１０】
Ｍｅｇｒｄ＝Ｍｅｇｒ×Ｋｋｉｎ×Ｎｅ×ＫＥ２＃＋Ｍｅｇｒｄn-1×（１−Ｋｋｉｎ×Ｎｅ×ＫＥ２＃）、
ただし、Ｋｋｉｎ：Ｋｉｎ×ＫＶＯＬ＃、
ＫＥ２＃：定数、
Ｍｅｇｒｄn-1：前回のＭｅｇｒｄ、
の式で遅れ処理と単位変換（１シリンダ当たり→単位時間当たり）を同時に行って吸気弁位置におけるＥＧＲ率Ｍｅｇｒｄを演算する。数１０式の右辺のＮｅ×ＫＥ２＃が単位変換のための値である。目標ＥＧＲ率Ｍｅｇｒに対してこのＭｅｇｒｄは一次遅れで応答するため、このＭｅｇｒｄを、以下「実ＥＧＲ率」という。
【００９０】
図２０（図１５、図１６のステップ２のサブルーチン）は目標吸入空気量ｔＱａｃを演算するためのものである。ステップ１でエンジン回転速度Ｎｅ、実ＥＧＲ率Ｍｅｇｒｄ、目標燃料噴射量Ｑｓｏｌを読み込み、ステップ２でＭｅｇｒｄと所定値ＭＥＧＲＬＶ＃を比較する。
【００９１】
ここで、所定値ＭＥＧＲＬＶ＃はＥＧＲの作動の有無を判定するための値（たとえば０．５）で、Ｍｅｇｒｄ＞ＭＥＧＲＬＶ＃であるときはＥＧＲの作動域であると判断してステップ３、４、５に進み、これに対してＭｅｇｒｄ≦ＭＥＧＲＬＶ＃であるときはＥＧＲの非作動域であると判断してステップ６に進む。ＭＥＧＲＬＶ＃が０でないのは、微量のＥＧＲが行われる場合にも、ＥＧＲが行われない場合と同一に扱いたいという要求があるので、これに応じるものである。
【００９２】
ＥＧＲの作動域であるときは、ステップ３でエンジン回転速度Ｎｅと実ＥＧＲ率Ｍｅｇｒｄよりたとえば図２１を内容とするマップを検索すること等により目標吸入空気量基本値ｔＱａｃｂを演算する。エンジン回転が一定の条件であれば、図２１のように実ＥＧＲ率が大きいときほど目標吸入空気量を増やすのである。
【００９３】
ステップ４ではＮｅとＱｓｏｌよりたとえば図２２を内容とするマップを検索すること等により目標吸入空気量の補正係数ｋｔＱａｃを演算し、この補正係数を上記の目標吸入空気量基本値に掛けた値を目標吸入空気量ｔＱａｃとして算出する。補正係数ｋｔＱａｃは運転条件（Ｎｅ、Ｑｓｏｌ）により目標吸入空気量を変えたいという要求に応えるためのものである。
【００９４】
一方、ＥＧＲの非作動域であるときは、ステップ６に進み、ＮｅとＱｓｏｌよりたとえば図２３を内容とするマップを検索すること等により目標吸入空気量ｔＱａｃを演算する。
【００９５】
図２４(図１５のステップ３のサブルーチン）は実ＥＧＲ量を演算するためのものである。ステップ１でコレクタ入口部３ａ位置における１シリンダ当たりの吸入空気量Ｑａｃｎ（図８のステップ３で既に得ている）、目標ＥＧＲ率Ｍｅｇｒ、コレクタ容量分の時定数相当値Ｋｋｉｎを読み込む。このうちＱａｃｎとＭｅｇｒからステップ２で
【００９６】
【数１１】
Ｑｅｃ０＝Ｑａｃｎ×Ｍｅｇｒ
の式によりコレクタ入口部３ａ位置における１シリンダ当たりのＥＧＲ量Ｑｅｃ０を演算し、このＱｅｃ０とＫｋｉｎを用いステップ３において、
【００９７】
【数１２】
Ｑｅｃ＝Ｑｅｃ０×Ｋｋｉｎ×Ｎｅ×ＫＥ＃＋Ｑｅｃn-1×（１−Ｋｋｉｎ×Ｎｅ×ＫＥ＃）、
ただし、Ｋｋｉｎ：Ｋｉｎ×ＫＶＯＬ、
ＫＥ＃：定数、
Ｑｅｃn-1：前回のＱｅｃ、
の式により、上記の数１０式と同様に遅れ処理と単位変換（１シリンダ当たり→単位時間当たり）を同時に行ってシリンダ吸入ＥＧＲ量Ｑｅｃを演算する。数１２式の右辺のＮｅ×ＫＥ＃が単位変換のための値である。このＱｅｃは目標ＥＧＲ量Ｔｑｅｋに対して一次遅れで応答するため、以下このＱｅｃを「実ＥＧＲ量」という。また、目標吸入空気量ｔＱａｃに対して一次遅れで応答する上記のＱａｃを、以下「実吸入空気量」という。
【００９８】
図２５（図１５のステップ４のサブルーチン）、図２７（図１６のステップ３のサブルーチン）は可変ノズル５３の目標開口割合Ｒｖｎｔを演算するためのものである（図２５が第１実施形態、図２７が第２実施形態）。
【００９９】
ここで、可変ノズル５３の開口割合とは、可変ノズル５３の全開時のノズル面積に対する現在のノズル面積の比のことである。したがって、可変ノズル５３の全開時に開口割合は１００％、全閉時に開口割合は０％となる。開口割合を採用する理由は汎用性を持たせる（ターボ過給機の容量と関係ない値とする）ためである。もちろん、可変ノズルの開口面積を採用してもかまわわない。
【０１００】
なお、実施形態のターボ過給機は、全開時に過給圧が最も小さく、全閉時に過給圧が最も高くなるタイプのものであるため、開口割合が小さいほど過給圧が高くなる。
【０１０１】
まず、第１実施形態の図２５のほうから説明すると、ステップ１で目標吸入空気量ｔＱａｃ、実ＥＧＲ量Ｑｅｃ、エンジン回転速度Ｎｅ、目標燃料噴射量Ｑｓｏｌを読み込む。
【０１０２】
ステップ２、３では
【０１０３】
【数１３】
ｔＱａｓ０＝（ｔＱａｃ＋Ｑｓｏｌ×ＱＦＧＡＮ＃）×Ｎｅ／ＫＣＯＮ＃、
Ｑｅｓ０＝（Ｑｅｃ＋Ｑｓｏｌ×ＱＦＧＡＮ＃）×Ｎｅ／ＫＣＯＮ＃、
ただし、ＱＦＧＡＮ＃：ゲイン、
ＫＣＯＮ＃：定数、
の２つの式により、目標開口割合を設定するための吸入空気量相当値ｔＱａｓ０（以下、この吸入空気量相当値を「設定吸入空気量相当値」という）と同じく目標開口割合を設定するためのＥＧＲ量相当値Ｑｅｓ０（以下、このＥＧＲ量相当値を「設定ＥＧＲ量相当値」という）を演算する。数１３式において、ｔＱａｃ、ＱｅｃにＱｓｏｌ×ＱＦＧＡＮ＃を加算しているのは、設定吸入空気量相当値、設定ＥＧＲ量相当値に対して負荷補正を行えるようにし、かつその感度をゲインＱＦＧＡＮ＃で調整するようにしたものである。また、Ｎｅ／ＫＣＯＮ＃は単位時間当たりの吸入空気量、ＥＧＲ量に変換するための値である。
【０１０４】
このようにして求めた設定吸入空気量相当値ｔＱａｓ０と設定ＥＧＲ量相当値ｔＱｅｓ０からステップ４ではたとえば図２６を内容とするマップを検索することにより可変ノズル５３の目標開口割合Ｒｖｎｔを設定する。
【０１０５】
一方、第２実施形態の図２７のほうでは、ステップ１で目標吸入空気量ｔＱａｃ、実ＥＧＲ率Ｍｅｇｒｄ、エンジン回転速度Ｎｅ、目標燃料噴射量Ｑｓｏｌを読み込み、ステップ２において、上記数１３式のうち上段の式により設定吸入空気量相当値ｔＱａｓ０を演算し、この設定吸入空気量相当値ｔＱａｓ０と実ＥＧＲ率Ｍｅｇｒｄからステップ３でたとえば図２８を内容とするマップを検索することにより可変ノズル５３の目標開口割合Ｒｖｎｔを設定する。
【０１０６】
図２６、図２８に示した特性は燃費重視で設定したものである。ただし、後述する排気重視の設定例との違いは具体的な数値にしかないので、両者に共通する特性を先に説明し、その後に両者の違いについて説明する。なお、図２８の特性は、縦軸が図２６と相違するものの（図２６において原点からの傾斜がＥＧＲ率を示す）、基本的に図２６と変わるものでないため、図２６のほうで説明する。
【０１０７】
図２６に示すように、設定吸入空気量相当値ｔＱａｓ０の大きな右側の領域において設定ＥＧＲ量相当値Ｑｅｓ０が増えるほど目標開口割合を小さくしている。これは次の理由からである。ＥＧＲ量が多くなると、そのぶん新気が減り、これによって空燃比がリッチ側に傾くとスモークが発生する。そこで、ＥＧＲ量が多くなるほど、目標開口割合を小さくして過給圧を高める必要があるからである。
【０１０８】
これに対して、ｔＱａｓ０の小さな左側の領域では過給効果があまり得られない。この領域でｔＱａｓ０が小さくなるほど目標開口割合を小さくしている。これは次の理由からである。この領域でも目標開口割合を大きくすると、排気圧が立ち上がりにくいのでこれを避けたいこと、また全開加速のためにはその初期において開口割合が小さいほうがよいことのためである。このように、異なる２つの要求から図２６の特性が基本的に定まっている。このため、目標吸入空気量の変化が小さい場合と大きい場合とでは、目標開口割合の変化が異なる。
【０１０９】
さて、図２６で代表させた目標開口割合の傾向は、燃費重視と排気重視に共通のもので、両者の違いは具体的な数値にある。同図において「小」とある位置の数値は、ターボ過給機が効率よく働く最小の値であるため、燃費重視の設定例、排気重視の設定例とも同じで、たとえば２０程度である。一方、「大」とある位置の数値が両者で異なり、燃費重視の設定例の場合に６０程度、排気重視の設定例になると３０程度になる。
【０１１０】
なお、目標開口割合の設定は上記のものに限られるものでない。第１実施形態では設定吸入空気量相当値ｔＱａｓ０と設定ＥＧＲ量相当値Ｑｅｓ０とから目標開口割合を設定しているが、これに代えて、目標吸入空気量ｔＱａｃと実ＥＧＲ量Ｑｅｃから設定してもかまわない。さらに、これに代えて目標吸入空気量ｔＱａｃと目標ＥＧＲ量（Ｑｅｃ０）から設定してもかまわない。同様にして、第２実施形態では設定吸入空気量相当値ｔＱａｓ０と実ＥＧＲ率Ｍｅｇｒｄから目標開口割合を設定しているが、これに代えて、目標吸入空気量ｔＱａｃと実ＥＧＲ率Ｍｅｇｒｄから設定してもかまわない。さらに、これに代えて目標吸入空気量ｔＱａｃと目標ＥＧＲ率Ｍｅｇｒから設定してもかまわない。
【０１１１】
図２９（図１５のステップ５、図１６のステップ４のサブルーチン）は、上記のようにして求めた目標開口割合Ｒｖｎｔに対して、可変ノズル駆動用の圧力アクチュエータ５４（圧力制御弁５６とダイヤフラムアクチュエータ５５からなる）のダイナミクスを補償するため、進み処理を行うものである。これは、可変ノズル５３のアクチュエータが圧力アクチュエータである場合には、ステップモータである場合と異なり、無視できないほどの応答遅れがあるためである。
【０１１２】
ステップ１で目標開口割合Ｒｖｎｔを読み込み、このＲｖｎｔと前回の予想開口割合であるＣａｖｎｔn-1をステップ２において比較する。ここで、予想開口割合Ｃａｖｎｔとは、すぐ後で述べるように、目標開口割合Ｒｖｎｔの加重平均値である（ステップ１０参照）。
【０１１３】
Ｒｖｎｔ＞Ｃａｖｎｔn-1であれば（可変ノズル５３を開く側に動かしているとき）、ステップ３、４に進み、所定値ＧＫＶＮＴＯ＃を進み補正ゲインＧｋｖｎｔ、所定値ＴＣＶＮＴＯ＃を進み補正の時定数相当値Ｔｃｖｎｔとして設定し、これに対して、Ｒｖｎｔ＜Ｃａｖｎｔn-1であるとき（可変ノズル５３を閉じる側に動かしているとき）は、ステップ６、７に進み、所定値ＧＫＶＮＴＣ＃を進み補正ゲインＧｋｖｎｔ、所定値ＴＣＶＮＴＣ＃を進み補正の時定数相当値Ｔｃｖｎｔとして設定する。また、ＲｖｎｔとＣａｖｎｔn-1が同一であればステップ８、９に進み、前回の進み補正ゲイン、進み補正の時定数相当値を維持する。
【０１１４】
可変ノズル５３を開き側に動かしているときと閉じ側に動かしているときとで進み補正ゲインＧｋｖｎｔ、進み補正の時定数相当値Ｔｃｖｎｔを相違させ、ＧＫＶＮＴＯ＃＜ＧＫＶＮＴＣ＃、ＴＣＶＮＴＯ＃＜ＴＣＶＮＴＣ＃としている。これは、可変ノズル５３を閉じ側に動かすときは、排気圧に抗する必要があるので、そのぶんゲインＧｋｖｎｔを大きくし、かつ時定数を小さくする（時定数と逆数の関係にある時定数相当値Ｔｃｖｎｔは大きくする）必要があるからである。
【０１１５】
ステップ１０ではこのようにして求めた進み補正の時定数相当値Ｔｃｖｎｔと目標開口割合Ｒｖｎｔを用いて、
【０１１６】
【数１４】
Ｃａｖｎｔ＝Ｒｖｎｔ×Ｔｃｖｎｔ＋Ｃａｖｎｔn-1×（１−Ｔｃｖｎｔ）、
ただし、Ｃａｖｎｔn-1：前回のＣａｖｎｔ、
の式により予想開口割合Ｃａｖｎｔを演算し、この値と目標開口割合Ｒｖｎｔからステップ１１において、
【０１１７】
【数１５】
Ａｖｎｔ ｆ＝Ｇｋｖｎｔ×Ｒｖｎｔ−（Ｇｋｖｎｔ−１）×Ｃａｖｎｔn-1、
ただし、Ｃａｖｎｔn-1：前回のＣａｖｎｔ、
の式により進み補正を行い、目標開口割合のフィードフォワード量Ａｖｎｔ ｆを演算する。ステップ１０、１１の進み処理そのものは、図７のステップ４、５に示した進み処理と基本的に同様である。
【０１１８】
図３０（図１５のステップ６、図１６のステップ５の各サブルーチン）は目標開口割合のフィードバック量Ａｖｎｔ ｆｂを演算するためのものである。ステップ１で目標吸入空気量ｔＱａｃ、目標ＥＧＲ率Ｍｅｇｒ、エンジン回転速度Ｎｅ、目標燃料噴射量Ｑｓｏｌ、実吸入空気量Ｑａｃを読み込み、ステップ２では目標ＥＧＲ率Ｍｅｇｒと所定値ＭＥＧＲＬＶ＃を比較する。
【０１１９】
Ｍｅｇｒ≧ＭＥＧＲＬＶ＃であるとき（ＥＧＲの作動域であるとき）は、ステップ４において
【０１２０】
【数１６】
ｄＱａｃ＝ｔＱａｃ／Ｑａｃ−１
の式により目標吸入空気量からの誤差割合ｄＱａｃを演算する。ｄＱａｃの値は０を中心とし、実際値としてのＱａｃが目標値としてのｔＱａｃより小さいとき正の値に、この逆にＱａｃがｔＱａｃより大きいとき負の値になる。
【０１２１】
一方、Ｍｅｇｒ＜ＭＥＧＲＬＶ＃であるとき（ＥＧＲの非作動域であるとき）は、ステップ３に進み、誤差割合ｄＱａｃ＝０とする（すなわち、フィードバックを禁止する）。
【０１２２】
ステップ５ではＮｅとＱｓｏｌから所定のマップを検索することによりフィードバックゲインの補正係数Ｋｈを演算し、この値をステップ６において各定数（比例定数ＫＰＢ＃、積分定数ＫＩＢ＃、微分定数ＫＤＢ＃）に掛けることによってフィードバックゲインＫｐ、Ｋｉ、Ｋｄを算出し、これらの値を用いて目標開口割合のフィードバック量Ａｖｎｔ ｆｂをステップ７において演算する。このフィードバック量の演算方法は周知のＰＩＤ処理である。
【０１２３】
上記の補正係数Ｋｈは、運転条件（Ｎｅ、Ｑｓｏｌ）により適正なフィードバックゲインが変化するのに対応して導入したもので、負荷および回転速度が大きくなるほど大きくなる。
【０１２４】
図３１（図１５のステップ７、図１６のステップ６の各サブルーチン）は、目標開口割合に対して線型化処理を行うためのものである。ステップ１で目標開口割合のフィードフォワード量Ａｖｎｔ ｆとフィードバック量Ａｖｎｔ ｆｂを読み込み、この両者をステップ２において加算した値を指令開口割合Ａｖｎｔとして算出する。ステップ３ではこの指令開口割合Ａｖｎｔからたとえば図３２を内容とするテーブル（線型化テーブル）を検索することにより指令開口割合線型化処理値Ｒａｔｄｔｙを設定する。
【０１２５】
この線型化処理は、図３２のように開口割合（あるいは開口面積）に対して、ターボ過給機を駆動するアクチュエータへの指令信号が非線型な特性を有する場合に必要となるものである。たとえば、図３３に示したように空気量（過給圧）の変化幅が同じでも、空気量の小さな領域と空気量の大きな領域とでは、開口面積の変化幅がｄＡ０、ｄＡ１と大きく異なる（ただしＥＧＲなしのとき）。さらにＥＧＲの有無（図では「ｗ／ｏ ＥＧＲ」がＥＧＲなし、「ｗ／ ＥＧＲ」がＥＧＲありを表す）によっても開口面積の変化幅が変わる。したがって、運転条件に関係なく同じフィードバックゲインとしたのでは目標の吸入空気量（過給圧）が得られない。そこで、フィードバックゲインの適合を容易にするため、上記のように運転条件に応じたフィードバックゲインの補正係数Ｋｈを導入しているのである。
【０１２６】
図３４（図１５のステップ８、図１６のステップ７の各サブルーチン）は圧力制御弁５６に与えるＯＮデューティ値（以下、単に「デューティ値」という）である制御指令値Ｄｔｙｖｎｔを設定するためのものである。まず、ステップ１でエンジン回転速度Ｎｅ、目標燃料噴射量Ｑｓｏｌ、指令開口割合線型化処理値Ｒａｔｄｔｙ、進み補正の時定数相当値Ｔｃｖｎｔ、水温Ｔｗを読み込む。
【０１２７】
ステップ２ではデューティ選択信号フラグの設定を行う。このフラグ設定については図３５のフローより説明する。図３５において、ステップ１で指令開口割合Ａｖｎｔと進み補正の時定数相当値Ｔｃｖｎｔを読み込み、これらからステップ２において、
【０１２８】
【数１７】
Ａｄｌｙｖｎｔ＝Ａｖｎｔ×Ｔｃｖｎｔ＋Ａｄｌｙｖｎｔn-1×（１−Ｔｃｖｎｔ）、
ただし、Ａｄｌｙｖｎｔn-1：前回のＡｄｌｙｖｎｔ、
の式により遅れ処理を行って予想開口割合Ａｄｌｙｖｎｔを演算し、この値と前回の予想開口割合のＭ（ただしＭは定数）回前の値であるＡｄｌｙｖｎｔn-Mとをステップ３において比較する。
【０１２９】
Ａｄｌｙｖｎｔ≧Ａｄｌｙｖｎｔn-Mであるとき（増加傾向または定常状態にあるとき）は、増加傾向または定常状態にあることを示すためステップ４で作動方向指令フラグｆｖｎｔ＝１とし、それ以外ではステップ５で作動方向指令フラグｆｖｎｔ＝０とする。ステップ６ではさらに増加傾向である場合と定常状態とを分離するため、ＡｄｌｙｖｎｔとＡｄｌｙｖｎｔn-Mを比較し、Ａｄｌｙｖｎｔ＝Ａｄｌｙｖｎｔn-Mであるときは、ステップ７でデューティ保持フラグｆｖｎｔ２＝１とし、それ以外ではステップ８でデューティ保持フラグｆｖｎｔ２＝０とする。
【０１３０】
このようにして２つのフラグｆｖｎｔ、ｆｖｎｔ２の設定を終了したら、図３４のステップ３に戻り、デューティ値の温度補正量Ｄｔｙ ｔを演算する。この演算については図３６のフローより説明する。
【０１３１】
図３６において、ステップ１でエンジン回転速度Ｎｅ、目標燃料噴射量Ｑｓｏｌ、水温Ｔｗを読み込み、このうちＮｅとＱｓｏｌからステップ２においてたとえば図３７を内容とするマップを検索すること等により基本排気温度Ｔｅｘｈｂを演算する。ここで、Ｔｅｘｈｂは暖機完了後の排気温度である。これに対して暖機途中であれば暖機完了後の排気温度とは異なってくるため、ステップ３で水温Ｔｗよりたとえば図３８を内容とするテーブルを検索すること等により排気温度の水温補正係数Ｋｔｅｘｈ ｔｗを演算し、この値をステップ４において上記の基本排気温度に乗算した値を排気温度Ｔｅｘｈｉとして演算する。
【０１３２】
ステップ５ではこの排気温度Ｔｅｘｈｉから
【０１３３】
【数１８】
Ｔｅｘｈｄｌｙ＝Ｔｅｘｈｉ×ＫＥＸＨ＃＋Ｔｅｘｈｄｌｙn-1×（１−ＫＥＸＨ＃）、
ただし、ＫＥＸＨ＃：定数、
Ｔｅｘｈｄｌｙn-1：前回のＴｅｘｈｄｌｙ、
の式により遅れ処理を行った値を実排気温度Ｔｅｘｈｄｌｙとして演算する。これは、熱慣性分の遅れ処理を行うものである。
【０１３４】
ステップ６では基本排気温度Ｔｅｘｈｂとこの実排気温度Ｔｅｘｈｄｌｙとの差ｄＴｅｘｈを演算し、この差ｄＴｅｘｈからステップ７においてたとえば図３９を内容とするテーブルを検索すること等によりデューティ値の温度補正量Ｄｔｙ ｔを演算する。ステップ６、７は、後述するヒステリシス対応に用いるマップ（Ｄｕｔｙ   ｈ ｐ、Ｄｕｔｙ   ｈ ｎ、Ｄｕｔｙ ｌ ｐ、Ｄｕｔｙ ｌ ｎのマップ）を暖機完了後に対して設定することを念頭に置き、その状態からの差分（つまりｄＴｅｘｈ）に応じた補正量を持たせるものである。なお、温度補正量Ｄｔｙ ｔによる補正は、雰囲気温度による温度特性を有するターボ過給機駆動用アクチュエータを使用する場合に必要となる処理である（図４０参照）。
【０１３５】
このようにして温度補正量Ｄｔｙ ｔの演算が終了したら、図３４のステップ４に戻る。
【０１３６】
図３４のステップ４〜９はヒステリシス処理を行うものである。この処理を図４５を用いて先に説明しておくと、これは、指令開口割合線型化処理値Ｒａｔｄｔｙが増加傾向にあるときに上側の特性（Ｄｕｔｙ ｌ ｐを可変ノズル全開時の指令信号、Ｄｕｔｙ ｈ ｐを可変ノズル全閉時の指令信号とする直線特性）を用いるのに対して、指令開口割合線型化処理値Ｒａｔｄｔｙが減少傾向にあるときには、もう一つの下側の特性（Ｄｕｔｙ ｌ ｎを可変ノズル全開時の指令信号、Ｄｕｔｙ ｈ  ｎを可変ノズル全閉時の指令信号とする直線特性）を用いるものである。なお、Ｒａｔｄｔｙが１に近い領域で２つの特性がひっくり返っている領域があるが、この領域が実際に使われることはない。
【０１３７】
図３４に戻り、ステップ４でフラグｆｖｎｔ１をみる。ｆｖｎｔ＝１のとき（すなわち開口割合が増加傾向にあるかまたは定常状態にあるとき）は、ステップ５、６に進み、たとえば図４１を内容とするマップ（Ｄｕｔｙ ｈ ｐマップ）と図４２を内容とするマップ(Ｄｕｔｙ ｌ ｐマップ）を検索することにより可変ノズル全閉時のデューティ値Ｄｕｔｙ ｈと可変ノズル全開時のデューティ値Ｄｕｔｙ ｌをそれぞれ設定する。一方、ｆｖｎｔ＝０のとき（すなわち開口割合が減少傾向にあるとき）は、ステップ７、８に進み、たとえば図４３を内容とするマップ（Ｄｕｔｙ ｈ ｎマップ）と図４４を内容とするマップ(Ｄｕｔｙ ｌ ｎマップ）を検索することにより可変ノズル全閉時のデューティ値Ｄｕｔｙ ｈと可変ノズル全開時のデューティ値Ｄｕｔｙ ｌをそれぞれ設定する。
【０１３８】
このようにして設定した可変ノズル全閉時のデューティ値Ｄｕｔｙ ｈ、可変ノズル全開時のデューティ値Ｄｕｔｙ ｌと上記の指令開口割合線型化処理値Ｒａｔｄｔｙを用いステップ９において、
【０１３９】
【数１８】
Ｄｔｙ ｈ＝（Ｄｕｔｙ ｈ−Ｄｕｔｙ ｌ）×Ｒａｔｄｔｙ＋Ｄｕｔｙ ｌ＋Ｄｔｙ ｔ
の式により線型補間計算を行って指令デューティ値基本値Ｄｔｙ ｈを演算する。つまり、線型補間計算に用いる直線の特性を、指令開口割合線型化処理値が増加傾向にあるかまたは定常状態にあるときと指令開口割合線型化処理値が減少傾向にあるときとで変更する（ヒステリシス処理を行う）ことで、指令開口割合線型化処理値が同じであっても、指令開口割合線型化処理値が増加傾向（または定常状態）にあるときのほうが、減少傾向にあるときより指令デューティ値基本値Ｄｔｙ ｈが大きくなる。
【０１４０】
ステップ１０ではもう一つのフラグｆｖｎｔ２をみる。ｆｖｎｔ２＝１（すなわち指令開口割合線型化処理値の変化がない）ときは、ステップ１１に進み、前回の制御指令デューティ値（後述する）であるＤｔｙｖｎｔn-1を通常指令デューティ値Ｄｔｙｖに入れ（デューティ値をホールドし）、ｆｖｎｔ２＝０（すなわち開口割合が減少傾向にある）ときは、ステップ１２に進み、最新の演算値であるＤｔｙ ｈをＤｔｙｖとする。
【０１４１】
ステップ１３では動作確認制御処理を行う。この処理については図４６のフローより説明する。図４６において、ステップ１で通常指令デューティ値Ｄｔｙｖ、エンジン回転速度Ｎｅ、目標燃料噴射量Ｑｓｏｌ、水温Ｔｗを読み込む。
【０１４２】
動作確認制御に入るための条件判定は、ステップ２、３、４、５の内容を一つずつチェックすることにより行い、各項目のすべてが満たされたときにさらに制御実行までの時間の計測に入る。すなわち、
ステップ２：Ｑｓｏｌが所定値ＱＳＯＬＤＩＺ＃未満（つまり燃料カット時）である、
ステップ３：Ｎｅが所定値ＮＥＤＩＺ＃未満（つまり中回転域）である、
ステップ４：Ｔｗが所定値ＴＷＤＩＺ＃未満（つまり暖機完了前）である、
ステップ５：動作確認制御済みフラグｆｄｉｚ＝０である（まだ動作確認制御を行っていない）、
とき、ステップ６で動作確認制御カウンタＣｔｒｄｉｚをインクリメントする。
【０１４３】
ステップ７ではこの動作確認制御カウンタと所定値ＣＴＲＤＩＺＨ＃、ＣＴＲＤＩＺＬ＃を比較する。ここで、所定値ＣＴＲＤＩＺＬ＃、ＣＴＲＤＩＺＨ＃は動作確認制御カウンタの下限リミット、上限リミットをそれぞれ定めるもので、ＣＴＲＤＩＺＬ＃はたとえば２秒程度、ＣＴＲＤＩＺＨ＃はたとえば７秒程度の値である。したがって、動作確認制御カウンタが下限リミットであるＣＴＲＤＩＺＬ＃と一致したタイミングより、動作確認制御カウンタが上限リミットであるＣＴＲＤＩＺＨ＃未満であるあいだ、ステップ９に進み、動作確認制御指令デューティ値を設定する。つまり、ＣＴＲＤＩＺＨ＃−ＣＴＲＤＩＺＬ＃が動作確認制御実行時間となる。
【０１４４】
動作確認制御指令デューティ値の設定については図４７のフローにより説明する。図４７においてステップ１で動作確認制御カウンタＣｔｒｄｉｚ、エンジン回転速度Ｎｅを読み込み、ステップ２においてＣｔｒｄｉｚ−ＣＴＲＤＩＺＬ＃（≧０）よりたとえば図４８を内容とするテーブルを検索することにより制御パターンＤｕｔｙ ｐｕを設定する。これは、短い周期で可変ノズル５３を全閉位置と全開位置とに動かすものである。
【０１４５】
ステップ３では、エンジン回転速度Ｎｅからたとえば図４９を内容とするテーブルを検索することによりデューティ値Ｄｕｔｙ ｐ ｎｅを設定し、このＤｕｔｙ ｐ ｎｅにステップ４において上記の制御パターンＤｕｔｙ ｐｕを乗じた値を制御指令デューティ値Ｄｔｙｖｎｔとして演算する。図４９のように、制御パターンＤｕｔｙ ｐｕに乗じるデューティ値Ｄｕｔｙ ｐ ｎｅをエンジン回転速度Ｎｅに応じた値としている。これは、エンジン回転速度により可変ノズル５３の開閉動作を確認するデューティの指令値が異なることを想定したものである。たとえば、可変ノズル５３は排気圧に抗して閉じる必要があるが、その排気圧は高回転になるほど高くなるので、これに対応してデューティの指令値を大きくしている。また、さらに高回転側では当制御による悪影響を受けないようにその値を下げるようにしている。
【０１４６】
図４６に戻り、動作確認制御カウンタが下限リミットとしてのＣＴＲＤＩＺＬ＃未満のときは、ステップ８よりステップ１５に進み、通常指令デューティ値Ｄｔｙｖを制御指令デューティ値Ｄｔｙｖｎｔとする。
【０１４７】
また、動作確認制御カウンタが上限リミットとしてのＣＴＲＤＩＺＨ＃以上になると、ステップ７よりステップ１０に進み、前回の動作確認制御カウンタであるＣｔｒｄｉｚn-1と上限リミットとしてのＣＴＲＤＩＺＨ＃を比較する。Ｃｔｒｄｉｚn-1＜ＣＴＲＤＩＺＨ＃であれば、動作確認制御カウンタが上限リミットとしてのＣＴＲＤＩＺＨ＃以上になった直後と判断し、動作確認制御を終了するため、ステップ１１で制御指令デューティ値Ｄｔｙｖｎｔ＝０とする。これは、動作確認制御終了時に一度、可変ノズル５３を全開にして、通常制御時の制御精度を確保するためである。ステップ１２では、動作確認制御済みフラグｆｄｉｚ＝１として、今回の処理を終了する。このフラグｆｄｉｚ＝１により、次回以降ステップ６以降に進むことができないので、エンジンを始動した後に動作確認制御が２度行われることはない。
【０１４８】
動作確認制御カウンタが上限リミットとしてのＣＴＲＤＩＺＨ＃以上になった直後でないときは、ステップ１０よりステップ１４に進み、次回に備えるため動作確認制御カウンタＣｔｒｄｉｚ＝０とした後、ステップ１５の処理を実行する。
【０１４９】
一方、Ｑｓｏｌが所定値ＱＳＯＬＤＩＺ＃以上（燃料カット時でない）であるとき、Ｎｅが所定値ＮＥＤＩＺ＃以上（高回転域）であるとき、Ｔｗが所定値ＴＷＤＩＺ＃以上（暖機完了後）であるときは動作確認制御を禁止するため、ステップ２、３、４よりステップ１３に進み、フラグｆｄｉｚ＝０としたあと、ステップ１４、１５の処理を実行する。
【０１５０】
このように、特に低温時など、ターボ過給機駆動用アクチュエータの動作が不安定な場合に動作確認制御を行わせることで、可変ノズルの動きが滑らかとなり、ターボ過給機駆動用アクチュエータの動作をより確実にすることができる。
【０１５１】
以上で、図１５、図１６の説明を終了する。
【０１５２】
次に、図５０はＥＧＲ量の演算とＥＧＲ流速の演算に用いる２つのフィードバック補正係数Ｋｑａｃ００、Ｋｑａｃ０とＥＧＲ流速学習補正係数Ｋｑａｃを演算するためのもので、ＲＥＦ信号の入力毎に実行する。
【０１５３】
まず、ステップ１で目標吸入空気量ｔＱａｃ、実吸入空気量Ｑａｃ、エンジン回転速度Ｎｅ、目標燃料噴射量Ｑｓｏｌを読み込む。ステップ２では、目標吸入空気量ｔＱａｃから
【０１５４】
【数１９】
ｔＱａｃｄ＝ｔＱａｃ×ＫＩＮ×ＫＶＯＬ×ＫＱＡ＃＋ｔＱａｃｄn-1×（１−ＫＩＮ×ＫＶＯＬ×ＫＱＡ＃）、
ただし、ＫＩＮ：体積効率相当値、
ＫＶＯＬ：ＶＥ／ＮＣ／ＶＭ、
ＶＥ：排気量、
ＮＣ：気筒数、
ＶＭ：吸気系容積、
ＫＱＡ＃：定数、
ｔＱａｃｄn-1：前回のＱａｃｄ、
の式（一次遅れの式）により目標吸入空気量遅れ処理値ｔＱａｃｄを演算する。これは、吸気系容積分の存在に伴う空気の供給遅れのために、後述する２つのフィードバック補正係数Ｋｑａｃ００、Ｋｑａｃ０や学習値Ｒｑａｃが大きくならないように遅れ処理を施したものである。
【０１５５】
ステップ３ではフィードバック関連の各種フラグを読み込む。これらの設定については図５１、図５２、図５３、図６５のフローより説明する。
【０１５６】
図５１、図５２、図５３、図６５は図５０と独立に一定時間毎（たとえば１０ｍｓｅｃ毎）に実行する。
【０１５７】
図５１はフィードバック許可フラグｆｅｆｂを設定するためのものである。ステップ１でエンジン回転速度Ｎｅ、目標燃料噴射量Ｑｓｏｌ、実ＥＧＲ率Ｍｅｇｒｄ、水温Ｔｗを読み込む。
【０１５８】
フィードバック許可条件の判定は、ステップ２〜５、８の内容を一つずつチェックすることにより行い、各項目のすべてが満たされたときにフィードバックを許可し、一つでも反するときはフィードバックを禁止する。すなわち、
ステップ２：Ｍｅｇｒｄが所定値ＭＥＧＲＦＢ＃を超えている（つまりＥＧＲの作動域）、
ステップ３：Ｔｗが所定値ＴＷＦＢＬ＃（たとえば３０℃程度）を超えている、
ステップ４：Ｑｓｏｌが所定値ＱＳＯＬＦＢＬ＃を超えている（燃料カットしていない）、
ステップ５：Ｎｅが所定値ＮＥＦＢＬ＃を超えている（エンストになる回転域でない）、
ステップ８：フィードバック開始カウンタＣｔｒｆｂが所定値ＴＭＲＦＢ＃（たとえば１秒未満の値）を超えている
とき、ステップ９でフィードバックを許可するためフィードバック許可フラグｆｅｆｂ＝１とし、そうでなければステップ１０に移行し、フィードバックを禁止するためフィードバック許可フラグｆｅｆｂ＝０とする。
【０１５９】
なお、フィードバック開始カウンタはステップ２〜５の成立時にカウントアップし（ステップ６）、ステップ２〜５の不成立時にフィードバック開始カウンタをリセットする（ステップ７）。
【０１６０】
図５２は学習値反映許可フラグｆｅｌｒｎ２を設定するためのものである。ステップ１でエンジン回転速度Ｎｅ、目標燃料噴射量Ｑｓｏｌ、実ＥＧＲ率Ｍｅｇｒｄ、水温Ｔｗを読み込む。
【０１６１】
学習値反映許可条件の判定も、ステップ２〜５、８の内容を一つずつチェックすることにより行い、各項目のすべてが満たされたときに学習値の反映を許可し、一つでも反するときは学習値の反映を禁止する。すなわち、
ステップ２：Ｍｅｇｒｄが所定値ＭＥＧＲＬＮ２＃を超えている（つまりＥＧＲの作動域）、
ステップ３：Ｔｗが所定値ＴＷＬＮＬ２＃（たとえば２０℃程度）を超えている、
ステップ４：Ｑｓｏｌが所定値ＱＳＯＬＬＮＬ２＃を超えている（燃料カットしていない）、
ステップ５：Ｎｅが所定値ＮＥＬＮＬ２＃を超えている（エンストになる回転域でない）、
ステップ８：学習値反映カウンタＣｔｒｌｎ２が所定値ＴＭＲＬＮ２＃（たとえば０．５秒程度）を超えている
とき、ステップ９で学習値の反映を許可するため学習値反映許可フラグｆｅｌｎ２＝１とし、そうでなければステップ１０に移行し、学習値の反映を禁止するため学習値反映許可フラグｆｅｌｎ２＝０とする。
【０１６２】
なお、学習値反映カウンタはステップ２〜５の成立時にカウントアップし（ステップ６）、ステップ２〜５の不成立時にリセットする（ステップ７）。
【０１６３】
図５３は学習許可フラグｆｅｌｒｎを設定するためのものである。ステップ１でエンジン回転速度Ｎｅ、目標燃料噴射量Ｑｓｏｌ、実ＥＧＲ率Ｍｅｇｒｄ、水温Ｔｗを読み込む。
【０１６４】
学習許可条件の判定は、ステップ２〜７、１０の内容を一つずつチェックすることにより行い、各項目のすべてが満たされたときに学習を許可し、一つでも反するときは学習を禁止する。すなわち、
ステップ２：Ｍｅｇｒｄが所定値ＭＥＧＲＬＮ＃を超えている（つまりＥＧＲの作動域）、
ステップ３：Ｔｗが所定値ＴＷＬＮＬ＃（たとえば７０〜８０℃程度）を超えている、
ステップ４：Ｑｓｏｌが所定値ＱＳＯＬＬＮＬ＃を超えている（燃料カットしていない）、
ステップ５：Ｎｅが所定値ＮＥＬＮＬ＃を超えている（エンストになる回転域でない）、
ステップ６：フィードバック許可フラグｆｅｆｂ＝１である、
ステップ７：学習値反映許可フラグｆｅｌｒｎ２＝１である、
ステップ１０：学習ディレイカウンタＣｔｒｌｎが所定値ＴＭＲＬＮ＃（たとえば４秒程度）を超えている
とき、ステップ１１で学習を許可するため学習許可フラグｆｅｌｎ＝１とし、そうでなければステップ１２に移行し、学習を禁止するため学習許可フラグｆｅｌｎ＝０とする。
【０１６５】
なお、学習ディレイカウンタはステップ２〜７の成立時にカウントアップし（ステップ８）、ステップ２〜７の不成立時にリセットする（ステップ９）。
【０１６６】
図６５は学習終了フラグｆｅｌｒｎ３を設定するためのものである。ステップ１で学習許可フラグｆｅｌｒｎをみる。学習許可フラグｆｅｌｒｎ＝１であるときにはステップ２に進んで学習実行カウンタＣｔｒｌｎ３をカウントアップし、このカウントアップ後の学習実行カウンタＣｔｒｌｎ３と所定値ＴＭＲＬＮ３＃をステップ４で比較する。学習実行カウンタＣｔｒｌｎ３が所定値ＴＭＲＬＮ３＃を超えたとき、学習を終了するためステップ５、６に進んで学習終了フラグｆｅｌｒｎ３＝１、学習許可フラグｆｅｌｒｎ＝０とし、そうでなければステップ７で学習終了フラグｆｅｌｒｎ３＝０とする。学習実行カウンタＣｔｒｌｎ３は、学習許可フラグｆｅｌｒｎ＝０であるときリセットしておく（ステップ１、３）。
【０１６７】
図５０に戻り、このようにして設定される４つのフラグのうち、ステップ４でフィードバック許可フラグｆｅｆｂをみる。ｆｅｆｂ＝１のときはステップ５、６でＥＧＲ量のフィードバック補正係数Ｋｑａｃ００とＥＧＲ流速のフィードバック補正係数Ｋｑａｃ０を演算する。一方、ｆｅｆｂ＝０のとき（フィードバックを禁止するとき）はステップ４よりステップ７、８に進み、Ｋｑａｃ００＝１、Ｋｑａｃ０＝１とする。
【０１６８】
ここで、ＥＧＲ量フィードバック補正係数Ｋｑａｃ００の演算については図５４のフローにより、またＥＧＲ流速フィードバック補正係数Ｋｑａｃ０の演算については図５７のフローにより説明する。
【０１６９】
まず図５４（図５０のステップ５のサブルーチン）において、ステップ１で目標吸入空気量遅れ処理値ｔＱａｃｄ、実吸入空気量Ｑａｃ、エンジン回転速度Ｎｅ、目標燃料噴射量Ｑｓｏｌ、水温Ｔｗを読み込む。
【０１７０】
ステップ２ではＮｅとＱｓｏｌからたとえば図５５を内容とするマップを検索すること等によりＥＧＲ流量の補正ゲインＧｋｆｂを、またステップ３では補正ゲインの水温補正係数ＫｇｆｂｔｗをＴｗからたとえば図５６を内容とするテーブルを検索すること等によりそれぞれ演算し、これらを用いステップ４において
【０１７１】
【数２０】
Ｋｑａｃ００＝（ｔＱａｃｄ／Ｑａｃ−１）×Ｇｋｆｂ×Ｋｇｆｂｔｗ＋１の式によりＥＧＲ量フィードバック補正係数Ｋｑａｃ００を演算する。
【０１７２】
この式の右辺第１項の（ｔＱａｃｄ／Ｑａｃ−１）は目標吸入空気量遅れ処理値からの誤差割合であり、これに１を加えることで、Ｋｑａｃ００は１を中心とする値になる。数２０式は、目標吸入空気量遅れ処理値からの誤差割合に比例させてＥＧＲ量フィードバック補正係数Ｋｑａｃ００を演算するものである。
【０１７３】
次に、図５７（図５０のステップ６のサブルーチン）において、ステップ１で目標吸入空気量遅れ処理値ｔＱａｃｄ、実吸入空気量Ｑａｃ、エンジン回転速度Ｎｅ、目標燃料噴射量Ｑｓｏｌ、水温Ｔｗを読み込む。
【０１７４】
ステップ２ではＮｅとＱｓｏｌからたとえば図５８を内容とするマップを検索すること等によりＥＧＲ流速の補正ゲインＧｋｆｂｉを、またステップ３では補正ゲインの水温補正係数ＫｇｆｂｉｔｗをＴｗからたとえば図５９を内容とするテーブルを検索すること等によりそれぞれ演算し、これらを用いステップ４において
【０１７５】
【数２１】
Ｒｑａｃ０＝（ｔＱａｃｄ／Ｑａｃ−１）×Ｇｋｆｂｉ×ｋＧｆｂｉｔｗ＋Ｒｑａｃ０n-1、
ただし、Ｒｑａｃ０n-1：前回のＲｑａｃ０、
の式により誤差割合Ｒｑａｃ０を更新し、この誤差割合Ｒｑａｃ０に対してステップ５において１を加えた値をＥＧＲ流速フィードバック補正係数Ｋｑａｃ０として算出する。
【０１７６】
これは、目標吸入空気量遅れ処理値からの誤差割合（ｔＱａｃｄ／Ｑａｃ−１）の積算値（積分値）に比例させてＥＧＲ流速フィードバック補正係数Ｋｑａｃ０を演算する（積分制御）ものである。
【０１７７】
図５５、図５８のように、補正ゲインを運転条件（Ｎｅ、Ｑｓｏｌ）に応じた値としたのは次の理由による。同じゲインでも運転条件によりハンチングを生じたり生じなかったりするので、ハンチングを生じる領域では補正ゲインを小さくするためである。図５６、図５９のように低水温のとき（暖機完了前）に値を小さくしているのは、エンジン回転の不安定な低水温域でのエンジンの安定化を図るためである。
【０１７８】
このようにしてＥＧＲ量フィードバック補正係数Ｋｑａｃ００とＥＧＲ流速フィードバック補正係数Ｋｑａｃ０の演算を終了したら、図５０に戻り、ステップ９、１０、１１で学習値反映許可フラグｆｅｌｒｎ２、学習許可フラグｆｅｌｒｎ、学習終了フラグｆｅｌｒｎ３をみる。
【０１７９】
ここで、運転条件の変化に対応して各フラグがどのように設定されるのかを示すと、たとえば目標燃料噴射量Ｑｓｏｌがゆっくりと増加する場合、図６９に示したようになる。ただし、目標燃料噴射量Ｑｓｏｌだけに着目し、Ｑｓｏｌ以外の条件は考えない。なお、同図において４つの所定値（ＱＳＯＬＦＢＬ＃、ＱＳＯＬＬＮＬ２＃、ＱＳＯＬＬＮＬ＃、ＱＳＯＬＬＮＬ３＃）の大小関係はこれに限定されるものでない。
【０１８０】
図６９、図５０を併せて参照すれば、図６９に示す（１）ｔ２〜ｔ４の区間、（２）ｔ４〜ｔ５の区間、（３）ｔ５以降の区間、の各区間で別々の操作が行われる。以下、図５０に従いこれら３つの場合に分けて説明する。
【０１８１】
（１）ｔ２〜ｔ４の区間：
ｔ２〜ｔ３の区間は学習値の反映を禁止する区間であり（学習値反映許可フラグｆｅｌｒｎ２＝０）、この区間では学習値の反映を禁止するため図５０のステップ９よりステップ１２に進みＥＧＲ流速学習補正係数Ｋｑａｃ＝１とする。
【０１８２】
ｔ３〜ｔ４の区間は学習値の反映を許可する条件になったばかりの区間であるが（学習値反映許可フラグｆｅｌｒｎ２＝１かつ学習許可フラグｆｅｌｒｎ＝０かつ学習終了フラグｆｅｌｒｎ３＝０）、状態が安定するのを待つ等の理由によりこの区間を学習値の反映を禁止する区間と同じ扱いとするため、このときも図５０のステップ９、１０、１１よりステップ１２に進みＥＧＲ流速学習補正係数Ｋｑａｃ＝１とする。
【０１８３】
（２）ｔ４〜ｔ５の区間：
ｔ４〜ｔ５の区間は学習許可条件の成立する区間であるため（学習値反映許可フラグｆｅｌｒｎ２＝１かつ学習許可フラグｆｅｌｒｎ＝１）、図５０のステップ９、１０よりステップ１３〜１６に進む。すなわち、ステップ１３で誤差割合学習値Ｒｑａｃを読み出し、ステップ１４においてこれに１を足した値を学習許可条件でのＥＧＲ流速学習補正係数Ｋｑａｃとして演算する。
【０１８４】
ステップ１５では、ＥＧＲ流速フィードバック補正係数Ｋｑａｃ０から１を減算して誤差割合Ｒｑａｃｎとし、これと誤差割合学習値Ｒｑａｃとを用い、ステップ１６において、
【０１８５】
【数２２】
Ｒｑａｃn＝Ｒｑａｃｎ×Ｔｃｌｒｎ＋Ｒｑａｃn-1×（１−Ｔｃｌｒｎ）、
ただし、Ｔｃｌｒｎ：学習速度、
Ｒｑａｃn：更新後の誤差割合学習値、
Ｒｑａｃn-1：更新前の誤差割合学習値、
の式により加重平均処理を行って誤差割合学習値を演算する（更新前の値に対して更新後の値を上書きする）。
【０１８６】
なお、ここで説明した（２）の区間における制御と上記（１）の区間における制御は先願装置（特願平１１−２３３１５２号）と同様である。ただし、先願装置ではＮｅとＱｓｏｌをパラメータとする運転領域が複数個の領域に区画され、その区画された１の領域毎に独立の誤差割合学習値Ｒｑａｃを格納するものであったが、本発明の誤差割合学習値Ｒｑａｃは１つだけで構成している。そして、次に説明する（３）の区間における学習値の反映条件での制御が本発明で新たに追加した部分である。
【０１８７】
（３）ｔ５以降の区間：
ｔ５以降の区間は、上記（２）の区間で演算した誤差割合学習値ＲｑａｃをＥＧＲ流速Ｃｑｅの演算に反映させる区間であり（学習値反映許可フラグｆｅｌｒｎ２＝１かつ学習許可フラグｆｅｌｒｎ＝０かつ学習終了フラグｆｅｌｒｎ３＝１）、この区間では図５０のステップ９、１０、１１よりステップ１７に進み、誤差割合学習値Ｒｑａｃと、ＥＧＲ率およびエンジン回転速度の学習値（ＥＧＲに対する感度に影響するパラメータの学習値）との２種類の学習値に基づいて、学習値反映許可条件でのＥＧＲ流速学習補正係数Ｋｑａｃを演算する。この学習補正係数Ｋｑａｃの演算については図６０のフローにより説明する。
【０１８８】
図６０（図５０のステップ１７のサブルーチン）においてステップ１では目標ＥＧＲ率Ｍｅｇｒ、エンジン回転速度Ｎｅを読み込む。ステップ２では目標ＥＧＲ率の学習値Ｍｅｇｒｌ（図６６により後述する）を読み出し、この学習値Ｍｅｇｒｌと目標ＥＧＲ率Ｍｅｇｒ（現在値）との差分ｄＭｅｇｒ（＝Ｍｅｇｒ−Ｍｅｇｒｌ）をステップ３において計算する。ステップ４では誤差割合学習値Ｒｑａｃを読み出し、このＲｑａｃと上記の差分ｄＭｅｇｒとから図６１を内容とするマップを検索することにより学習反映基本値Ｒｑａｃｌｓを演算する。
【０１８９】
ステップ６ではエンジン回転速度の学習値Ｎｅｌ（図６６により後述する）を読み出し、この学習値Ｎｅｌとエンジン回転速度Ｎｅ（現在値）との差分ｄＮｅ（＝Ｎｅ−Ｎｅｌ）を計算し、この差分ｄＮｅから図６２を内容とするテーブルを検索することにより学習反映値補正係数Ｋｒｑａｃｌｓを演算する。そして、この補正係数Ｋｒｑａｃｌｓと上記の学習反映基本値Ｒｑａｃｌｓを用いて、
Ｋｑａｃ＝Ｒｑａｃｌｓ×Ｋｒｑａｃｌｓ＋１            ・・・（３１）
の式により学習終了後の学習値反映許可条件におけるＥＧＲ流速学習補正係数を演算する。
【０１９０】
上記図６１の特性は誤差割合学習値Ｒｑａｃ＝０のラインで上下を折り返したような特性であり（ただし上半分は正の値、下半分は負の値）、上半分と下半分とで性格が変わるものでない。ここでは、上半分の特性で代表させて説明すると、まずＲｑａｃが正の領域で学習反映基本値Ｒｑａｃｌｓの値も正の値として、学習補正係数Ｋｑａｃを１を超える値としているのは、図５０のステップ１４で学習補正係数Ｋｑａｃを１を超える値としているのと同じ理由である。誤差割合学習値Ｒｑａｃは実吸入空気量Ｑａｃを目標吸入空気量遅れ処理値ｔＱａｃｄに一致させようとするためのものであり、これを実現するには誤差割合学習値Ｒｑａｃが正の領域で学習反映基本値Ｒｑａｃｌｓの値を正の値として構成する必要があるからである。すなわち、誤差割合学習値Ｒｑａｃが正である場合とは、目標値としてのｔＱａｃｄが実吸入空気量Ｑａｃより大きい場合であり、この場合に学習補正係数Ｋｑａｃを１を超える値とすれば、後述するようにＥＧＲ流速Ｃｑｅが大きくなる側に補正され（学習補正係数Ｋｑａｃによって補正実ＥＧＲ量Ｑｅｃ ｈが大きくなり、図６４のマップを介してＥＧＲ流速Ｃｑｅが大きくなる）、これによってＥＧＲ弁開口面積Ａｅｖが減少して実吸入空気量が増やされ、目標としてのｔＱａｃｄへと近づくことになる。
【０１９１】
また、誤差割合学習値Ｒｑａｃが大きくなるほど学習補正係数Ｋｑａｃが大きくなるように学習反映基本値Ｒｑａｃｌｓの値を大きくしているのも、図５０のステップ１４で誤差割合学習値Ｒｑａｃが大きくなるほど学習補正係数Ｋｑａｃが大きくなるようにしているのと同じ理由からである。
【０１９２】
したがって、学習許可条件の場合と大きく相違するのは、目標ＥＧＲ率の差分ｄＭｅｇｒが正の値で大きくなるほど学習反映基本値Ｒｑａｃｌｓの値を小さくし、この逆に差分ｄＭｅｇｒが負の値で大きくなるほどＲｑａｃｌｓの値を大きくしている点であり、これは、言い換えるとＥＧＲに対する感度に対応して学習反映基本値Ｒｑａｃｌｓを設定するものである。すなわち、図６１において右側にずれるほどＥＧＲに対する感度が小さくなり、この逆に左側にずれるほどＥＧＲに対する感度が大きくなるので、ＥＧＲに対する感度が大きくなるほどＲｑａｃｌｓの値が大きくなるようにしているわけである。比較のため先願装置の場合を説明すると、先願装置ではＥＧＲに対する感度を考慮していないので、ＥＧＲに対する感度に関係なくＲｑａｃｌｓが同じ値になる（特性が水平になる）イメージである。なお、ｄＭｅｇｒ＝０の点が学習ポイントである。
【０１９３】
次に図６２において回転速度の差分ｄＮｅが正の領域で学習反映値補正係数Ｋｒｑａｃｌｓの値を１．０を超える値としているのは次の理由による。ｄＮｅが正であるとは、実回転速度Ｎｅ（現在値）が回転速度学習値Ｎｅｌより大きい場合であり、このときＥＧＲ流速が大きくなる（すなわちＥＧＲに対する感度が大きくなる）ので、これに合わせて学習補正係数Ｋｑａｃが大きくなる側に補正するようにしたものである。
【０１９４】
次に、上記の目標ＥＧＲ率とエンジン回転速度の各学習値Ｍｅｇｒｌ、Ｎｅｌの演算について図６６により説明する。図６６においてステップ１では学習許可フラグｆｅｌｒｎをみる。学習許可フラグｆｅｌｒｎ＝１のときステップ２で目標ＥＧＲ率Ｍｅｇｒ、エンジン回転速度Ｎｅ（いずれも現在値）を読み込む。
【０１９５】
ステップ３では目標ＥＧＲ率の学習値Ｍｅｇｒｌを読み出し、この学習値Ｍｅｇｒｌとその現在値であるＭｅｇｒとを用いステップ４で、
0003687487.tif 000002
ただし、Ｍｅｇｒｌ：更新後の目標ＥＧＲ率学習値、
Ｍｅｇｒｌn-1：更新前の目標ＥＧＲ率学習値、
ＴＣＬＮＥＧ：学習速度（定数）、
の式により加重平均処理を行うことで目標ＥＧＲ率の学習値を、同様にしてステップ５、６ではエンジン回転速度の学習値Ｎｅｌを読み出し、この学習値Ｎｅｌとその現在値であるＮｅを用いて、
Ｎｅｌ＝Ｎｅ×ＴＣＬＮＮＥ＋Ｎｅｌn-1×（１−ＴＣＬＮＮＥ）        ・・・（３３）
ただし、Ｎｅｌ：更新後の回転速度学習値、
Ｎｅｌn-1：更新前の回転速度学習値、
ＴＣＬＮＮＥ：学習速度（定数）、
の式により加重平均処理を行うことでエンジン回転速度の学習値をそれぞれ演算する（更新前の値に対して更新後の値を上書きする）。
【０１９６】
ここで、前述の図６１、図６２に示したように学習反映基本値Ｒｑａｃｌｓ、学習反映値補正係数Ｋｒｑａｃｌｓを設定するには、差分ｄＭｅｇｒ、ｄＮｅを必要とし、差分は習値とその現在値との差であるから、学習値を得る（学習する）必要がある。この場合に、一つの方法として学習領域を所定の運転領域に限りかつ定常時に学習することが考えられる。しかしながら、この方法では運転条件がよく変化する自動車用ディーゼルエンジンの場合に、学習頻度が低くなってしまい好ましくない。これに対して本実施形態では上記（３２）式、（３３）式に示したように加重平均値を学習値として構成しているので、定常、過渡に関係なく学習が行われることになり学習頻度が低くなることがない。ただし、学習値に大きな誤差が生じないように（３２）式、（３３）式の学習速度ＴＣＬＮＥＧ、ＴＣＬＮＮＥを定める必要がある。
【０１９７】
図６３（図５のステップ２のサブルーチン）はＥＧＲ流速Ｃｑｅを演算するためのものである。
【０１９８】
ステップ１、２で実ＥＧＲ量Ｑｅｃ、実ＥＧＲ率Ｍｅｇｒｄ、実吸入空気量Ｑａｃ、ＥＧＲ流速フィードバック補正係数Ｋｑａｃ０、ＥＧＲ流速学習補正係数Ｋｑａｃを読み込み、ステップ３において
【０１９９】
【数２３】
Ｑｅｃ ｈ＝Ｑｅｃ×Ｋｑａｃ×Ｋｑａｃ０
の式により、Ｋｑａｃ０とＫｑａｃで実ＥＧＲ量Ｑｅｃを補正した値を補正実ＥＧＲ量Ｑｅｃ ｈとして算出し、この補正実ＥＧＲ量Ｑｅｃ ｈと実ＥＧＲ率Ｍｅｇｒｄよりステップ８において、たとえば図６４を内容とするマップを検索することにより、ＥＧＲ流速Ｃｑｅを演算する。なお、説明しなかったステップ４〜７は後述する。
【０２００】
図６４のＥＧＲ流速の特性は、非線型性が強く運転条件に応じてＥＧＲのフィードバックの感度が相違することを示しているため、運転条件に対するフィードバック量の差が小さくなるように、ＥＧＲ流速フィードバック補正係数Ｋｑａｃ０は、流速マップの検索に用いる実ＥＧＲ量Ｑｅｃへのフィードバックとしている。
【０２０１】
ただし、図６４において特性の傾きが急になる右端に近い部分は、マップの適合誤差が生じ勝ちな領域であるため、適合誤差があると、その適合誤差の影響を受けてＥＧＲ弁開口面積Ａｅｖが変化してしまう。つまり、ＥＧＲ弁開口面積Ａｅｖを演算する式であるＡｅｖ＝Ｔｑｅｋ／ＣｑｅにおいてＣｑｅには適合誤差が生じるのであるから、これに対処するには、目標ＥＧＲ量Ｔｑｅｋに対しても流速誤差分の補正を行う必要がある。そのため新たに導入したのが上記のＥＧＲ量フィードバック補正係数Ｋｑａｃ００で、このＫｑａｃ００により図７のステップ６で目標ＥＧＲ量Ｔｑｅｋを補正している。
【０２０２】
この場合、Ｋｑａｃ００を演算する式である上記数２０式は、目標吸入空気量遅れ処理値からの誤差割合に比例させてＫｑａｃ００を演算するので、この比例制御により図６４のＥＧＲ流速マップの適合誤差に対して即座に補正できることになる。たとえば、簡単のため数２０式において、補正ゲインＧｋｆｂ＝１かつ暖機完了後で考えると、Ｋｑａｃ００＝（ｔＱａｃｄ／Ｑａｃ−１）＋１となる。この場合に、目標値としてのｔＱａｃｄより実吸入空気量Ｑａｃが小さいと、Ｋｑａｃ００が１より大きな値となり、これによってＴｑｅｃが即座に減量される。目標ＥＧＲ量が即座に減量されると、相対的に新気量（吸入空気量）が増え、これによって実吸入空気量Ｑａｃが目標値としてのｔＱａｃｄへと収束する。
【０２０３】
説明しなかった図６３のステップ４〜７はＥＧＲの作動開始時の初期値を設定する部分である。具体的には、ステップ４では補正実ＥＧＲ量Ｑｅｃ ｈと０を比較する。Ｑｅｃ ｈ＝０（つまりＥＧＲの非作動時）であるときは、ステップ５に進み、
【０２０４】
【数２４】
Ｑｅｃ ｈ＝Ｑａｃ×ＭＥＧＲＬ＃、
ただし、ＭＥＧＲＬ＃：定数、
の式により、補正実ＥＧＲ量Ｑｅｃ ｈを設定する。同様にして、ステップ６では実ＥＧＲ率Ｍｅｇｒｄと０を比較し、Ｍｅｇｒｄ＝０のときはステップ７で
【０２０５】
【数２５】
Ｍｅｇｒｄ＝ＭＥＧＲＬ＃
の式により実ＥＧＲ率Ｍｅｇｒｄを設定する。
【０２０６】
ＥＧＲ弁６の全閉時にＥＧＲ弁６を通過するＥＧＲ流速は当然のことながらゼロであるが、数２４式、数２５式はＥＧＲの作動開始時のことを考えて、流速の演算に用いるパラメータの初期値を設定する。ＭＥＧＲＬ＃の値は前述したようにたとえば０．５である。さらに述べると、運転条件によってＥＧＲの作動開始時のＥＧＲ弁前後の差圧（したがってＥＧＲ流速も）が異なるため、これに対処するものである。この場合、ＥＧＲの作動開始時のＥＧＲ弁前後の差圧は実吸入空気量Ｑａｃに関係する。そこで、数２４式によりＱａｃに比例してＱｅｃ ｈの初期値を与えることで、ＥＧＲの作動開始時のＥＧＲ流速の演算精度が向上する。
【０２０７】
ここで、２つの実施形態の作用を説明する。
【０２０８】
２つの実施形態では学習補正の対象を、従来技術と相違してＥＧＲ流速Ｃｑｅとしており、この場合、シリンダＥＧＲ量Ｑｅｃと目標ＥＧＲ率ＭｅｇｒとＥＧＲ流速Ｃｑｅの間には、可変ノズルのノズル開度に関係なく強い相関がある、という初めての知見を得たことより、本実施形態のように、ＥＧＲ流速Ｃｑｅを予測し、この予測値に基づいてＥＧＲ弁開度を制御することで、可変容量ターボ過給機を備えるエンジンにおいても、可変ノズルのノズル開度に関係なく目標ＥＧＲ量を精度よく演算でき、かつ、ＥＧＲガス流速Ｃｑｅは、定常と過渡とに関係のない値であるため、過渡を含めて目標ＥＧＲ量を精度よく演算できる。
【０２０９】
以上は先願装置（特願平１１−２３３１５２号）と同様の作用であり、次に、本発明により追加した部分の作用を説明する。
【０２１０】
本実施形態では、学習許可条件で１つの誤差割合学習値Ｒｑａｃ（空気量誤差の学習値）を演算するとともに（図５０ステップ１５、１６参照）、ＥＧＲに対する感度に影響するパラメータ（目標ＥＧＲ率Ｍｅｇｒ、エンジン回転速度Ｎｅ）の学習値を演算し（図６６参照）、学習値の演算の終了後の学習値反映許可条件になると、ＥＧＲに対する感度に影響するパラメータの学習値（Ｍｅｇｒｌ、Ｎｅｌ）とその現在値（Ｍｅｇｒ、Ｎｅ）との比較結果および誤差割合学習値Ｒｑａｃに基づいて学習補正係数Ｋｑａｃを演算し（図５０ステップ９、１０、１１、１７、図６０参照）、この学習補正係数Ｋｑａｃを用いてＥＧＲ流速の演算に用いるパラメータである実ＥＧＲ量Ｑｅｃを補正する（図６３ステップ３参照）ようにしている。
【０２１１】
すなわち、本実施形態によれば、誤差割合学習値Ｒｑａｃが１つだけなので、この学習値Ｒｑａｃの学習許可条件をＥＧＲに対する感度が大きい領域に設定すれば、学習誤差が大きくなるのを避けて学習値Ｒｑａｃの精度を高めることができる。また、運転領域を複数に分割し、その各領域毎に独立に値を有するように学習値Ｒｑａｃを構成するときには、学習値Ｒｑａｃの初期値を設定する際に各領域毎に運転性、ＥＧＲ制御時の安定性、スモーク特性を考慮しなければならず、相当の気遣いが要求されるのであるあるが、本実施形態によれば学習値Ｒｑａｃは１つであるので、初期値設定の気遣いが低減されて適合が容易となる。
【０２１２】
また、ＥＧＲに対する感度に影響するパラメータの学習値とその現在値との比較結果および誤差割合学習値Ｒｑａｃに基づいて学習値反映許可条件での学習補正係数Ｋｑａｃを演算するので（図６０参照）、学習値反映許可条件ではＥＧＲに対する感度の違いに対応した学習補正係数Ｋｑａｃを与えることができる。
【０２１３】
また、ＥＧＲに対する感度に影響するパラメータは目標ＥＧＲ率とエンジン回転速度であり、目標ＥＧＲ率、回転速度の各学習値は学習許可条件での目標ＥＧＲ率、回転速度の平均値である。目標ＥＧＲ率の平均値やエンジン回転速度の平均値を得るにはある広がりをもった領域が学習領域となるので、運転条件の一点を学習領域とする場合より学習の頻度を高めることができ、かつ少しの運転条件の変動で目標ＥＧＲ率やエンジン回転速度が変化したり、ノイズが乗ってもこの影響を受けることがない。また、目標ＥＧＲ率、回転速度の各学習値を演算するのに定常、過渡を問題としないので、学習禁止条件を簡易にできる。
【０２１４】
また、誤差割合学習値Ｒｑａｃと目標ＥＧＲ率、回転速度の学習値Ｍｅｇｒｌ、Ｎｅｌの２種類の学習値について学習許可条件を相違させると、学習値反映許可条件でのロジックが複雑になるのであるが、本実施形態によれば、２種類の学習値について学習許可条件と学習値反映許可条件とが同じになるので、２種類の学習値について学習許可条件を相違させる場合に比べて、学習値反映許可条件でのロジックを簡易にすることができる。
【０２１５】
また、学習許可条件での目標ＥＧＲ率、回転速度の学習値Ｍｅｇｒｌ、Ｎｅｌと学習値反映許可条件での目標ＥＧＲ率、回転速度の現在値との差分ｄＭｅｇｒ、Ｎｅで学習補正係数Ｋｑａｃを決めるので、ロジックを簡単にできる。
【０２１６】
また、目標ＥＧＲ率の差分ｄＭｅｇｒが負のとき（ＥＧＲ率の現在値がＥＧＲ率の学習値より小さいとき）はＥＧＲに対する感度が大きく、これに対してｄＭｅｇｒが正のとき（ＥＧＲ率の現在値がＥＧＲ率の学習値より大きいとき）はＥＧＲに対する感度が小さいことに対応して、学習反映基本値Ｒｑａｃｌｓを、目標ＥＧＲ率の差分ｄＭｅｇｒが負のときのほうが目標ＥＧＲ率の差分ｄＭｅｇｒが正のときより絶対値で大きくなるように設定したので、ＥＧＲに対する感度に対応した学習反映基本値Ｒｑａｃｌｓを与えることができる。
【０２１７】
実施形態では  目標ＥＧＲ率、回転速度の相違によるＥＧＲに対する感度への影響を考慮する場合で説明したが、さらに水温Ｔｗや大気圧ＰａもＥＧＲ率を介してＥＧＲに対する感度に影響するので、これらによる補正を導入することが望ましい。たとえば、上記（３１）式に代えて、
0003687487.tif 000003
の式により学習値反映許可条件におけるＥＧＲ流速学習補正係数を演算し、また図５０のステップ１４で、
Ｋｑａｃ＝Ｒｑａｃ×水温補正係数×大気圧補正係数＋１・・・（３５）
の式により学習許可条件におけるＥＧＲ流速学習補正係数を演算する。
【０２１８】
（３４）式、（３５）式の水温補正係数、大気圧補正係数の特性を図６７、図６８に示す。図６７において低水温ほど値を大きくするのは、低水温で目標ＥＧＲ率が小さくなる（ＥＧＲに対する感度が大きくなる）からである。図６８において高地で値を大きくするのは高地で目標ＥＧＲ率が小さくなる（ＥＧＲに対する感度が大きくなる）からである。
【０２１９】
実施形態では、ＥＧＲに対する感度に影響するパラメータの学習値とその現在値との差分および空気量誤差の学習値に基づいて学習値反映許可条件での学習補正係数Ｋｑａｃを演算する場合で説明したが、ＥＧＲに対する感度に影響するパラメータの学習値とその現在値との比および空気量誤差の学習値に基づいて学習値反映許可条件での学習補正係数Ｋｑａｃを演算するようにしてもかまわない。
【０２２０】
実施形態では、空気量誤差の学習値の学習許可条件とＥＧＲに対する感度に影響するパラメータの学習値の学習許可条件が同じ場合で説明したが、両者の学習許可条件を相違させてもかまわない。
【０２２１】
実施形態では、ＥＧＲに対する感度に影響するパラメータが目標ＥＧＲ率と回転速度である場合で説明したが、いずれかを導入するだけもかまわない。また、目標ＥＧＲ率に限られるものでない。たとえば、目標ＥＧＲ率は目標燃料噴射量Ｑｓｏｌにより定まるので、この燃料噴射量Ｑｓｏｌを用いても、さらにエンジン負荷を用いてもかまわない。実ＥＧＲ率を用いることもできる。
【０２２２】
実施形態では、ＥＧＲに対する感度に影響するパラメータがＥＧＲ率、エンジン回転速度であるとき、そのＥＧＲ率、エンジン回転速度の学習値が、学習許可条件でのＥＧＲ率、回転速度の加重平均値である場合で説明したが、加重平均値に限定されるものでない。
【０２２３】
実施形態では、ＥＧＲ流速を予測し、この予測値に基づいてＥＧＲ弁を制御する場合で説明したが、ＥＧＲ流速と一定の関係にあるＥＧＲ弁の前後差圧（前後差圧は流速の二乗に比例する）を予測するようにしてもかまわない。
【０２２４】
また、目標開口割合Ｒｖｎｔと時定数相当値Ｔｃｖｎｔを用いて、
ＲＶＮＴＥ＝Ｒｖｎｔ×Ｔｃｖｎｔ×ＫＶＮ１＃＋ＲＶＮＴＥn-1×（１−Ｔｃｖｎｔ×ＫＶＮ１＃）・・・（３６）
ただし、ＫＶＮ１＃：定数、
ＲＶＮＴＥn-1：前回のＲＶＮＴＥ、
の式により目標開口割合の遅れ処理値ＲＶＮＴＥを演算するものがあり（特願平２０００−１３９９２９号参照）、この目標開口割合の遅れ処理値ＲＶＮＴＥをＥＧＲ弁の前後差圧を近似する値として採用することができる。なお、ＥＧＲ弁開度を一定としたとき、ＲＶＮＴＥが小さくなるほど可変ノズル５３が閉じられて過給圧が高くなるためＥＧＲ弁の前後差圧が大きくなり、この逆にＲＶＮＴＥが大きくなるほど可変ノズル５３が開かれて過給圧が低くなるためＥＧＲ弁の前後差圧が小さくなる。このＲＶＮＴＥとＥＧＲ量とをパラメータとして用いれば、ＥＧＲ弁の開口面積を直接的に与えることができる。このときの特性は、ＥＧＲ量を一定とすればＲＶＮＴＥが大きくなる（ＥＧＲ弁前後差圧が小さくなる）ほどＥＧＲ弁開口面積が小さくなり、ＲＶＮＴＥを一定とすればＥＧＲ量が大きくなるほど開口面積が大きくなる。このような構成によってＥＧＲ弁を制御する場合は、運転条件の検出値に基づいて設定された目標ＥＧＲ量を、学習値反映許可条件での学習補正係数によって補正し、この補正後の目標ＥＧＲ量を用いてＥＧＲ弁の開口面積を求めればよい。
【０２２５】
実施形態では、実吸入空気量Ｑａｃが目標吸入空気量遅れ処理値ｔＱａｃｄと一致するようにＥＧＲ流速フィードバック補正係数Ｋｑａｃ０を演算し、このフィードバック補正係数Ｋｑａｃ０とＥＧＲ流速学習補正係数Ｋｑａｃ（＝Ｒｑａｃ＋１）とでＥＧＲ流速Ｃｑｅの演算に用いるパラメータであるシリンダＥＧＲ量Ｑｅｃを補正する場合で説明したが、ＥＧＲ流速フィードバック補正係数Ｋｑａｃ０とＥＧＲ流速学習補正係数Ｋｑａｃとでもう一つのパラメータである実ＥＧＲ率Ｍｅｇｒｄを補正するようにしても、また実吸入空気量Ｑａｃが目標吸入空気量ｔＱａｃと一致するようにＥＧＲ流速フィードバック補正係数Ｋｑａｃ０を演算し、このフィードバック補正係数Ｋｑａｃ０とＥＧＲ流速学習補正係数ＫｑａｃとでＥＧＲ流速Ｃｑｅの演算に用いるシリンダＥＧＲ量Ｑｅｃや実ＥＧＲ率Ｍｅｇｒｄ、さらにはＥＧＲ流速Ｃｑｅそのものを補正するようにしてもかまわない。学習値については、学習補正係数を学習値とすることもできる。
【０２２６】
また、本願の目標吸入空気量、実吸入空気量は、実施形態で述べた目標吸入空気量ｔＱａｃ、実吸入空気量Ｑａｃのほか、目標吸気圧、実吸気圧のような吸入空気量相当値を用いてもよい。
【０２２７】
実施形態では、熱発生のパターンが単段燃焼となる、いわゆる低温予混合燃焼を行わせる場合で説明したが、予混合燃焼の後に拡散燃焼が付加される、通常のディーゼル燃焼の場合でも、本発明を適用できることはいうまでもない。
【図面の簡単な説明】
【図１】一実施形態の制御システム図。
【図２】コモンレール式燃料噴射装置の概略構成図。
【図３】目標燃料噴射量の演算を説明するためのフローチャート。
【図４】基本燃料噴射量のマップ特性図。
【図５】ＥＧＲ弁開口面積の演算を説明するためのフローチャート。
【図６】ＥＧＲ弁開口面積に対するＥＧＲ弁駆動信号の特性図。
【図７】目標ＥＧＲ量の演算を説明するためのフローチャート。
【図８】シリンダ吸入空気量の演算を説明するためのフローチャート。
【図９】吸入空気量の検出を説明するためのフローチャート。
【図１０】エアフローメータ出力電圧に対する吸入空気量の特性図。
【図１１】目標ＥＧＲ率の演算を説明するためのフローチャート。
【図１２】基本目標ＥＧＲ率のマップ特性図。
【図１３】水温補正係数のテーブル特性図。
【図１４】完爆判定を説明するためのフローチャート。
【図１５】第１実施形態の圧力制御弁に与える制御指令デューティ値の演算を説明するためのフローチャート。
【図１６】第２実施形態の圧力制御弁に与える制御指令デューティ値の演算を説明するためのフローチャート。
【図１７】実ＥＧＲ率の演算を説明するためのフローチャート。
【図１８】コレクタ容量分の時定数相当値の演算を説明するためのフローチャート。
【図１９】体積効率相当基本値のマップ特性図。
【図２０】目標吸入空気量の演算を説明するためのフローチャート。
【図２１】ＥＧＲ作動時の目標吸入空気量基本値のマップ特性図。
【図２２】目標吸入空気量補正係数のマップ特性図。
【図２３】ＥＧＲ非作動時の目標吸入空気量のマップ特性図。
【図２４】実ＥＧＲ量の演算を説明するためのフローチャート。
【図２５】第１実施形態の目標開口割合の演算を説明するためのフローチャート。
【図２６】目標開口割合のマップ特性図。
【図２７】第２実施形態の目標開口割合の演算を説明するためのフローチャート。
【図２８】目標開口割合のマップ特性図。
【図２９】目標開口割合のフィードフォワード量の演算を説明するためのフローチャート。
【図３０】目標開口割合のフィードバック量の演算を説明するためのフローチャート。
【図３１】線型化処理を説明するためのフローチャート。
【図３２】線型化のテーブル特性図。
【図３３】開口面積と過給圧の関係を示す特性図。
【図３４】信号変換を説明するためのフローチャート。
【図３５】デューティ選択信号フラグの設定を説明するためのフローチャート。
【図３６】デューティ値の温度補正量の演算を説明するためのフローチャート。
【図３７】基本排気温度のマップ特性図。
【図３８】水温補正係数のテーブル特性図。
【図３９】温度補正量のテーブル特性図。
【図４０】ターボ過給機駆動用アクチュエータの温度特性図。
【図４１】可変ノズル全閉時のデューティ値のマップ特性図。
【図４２】可変ノズル全開時のデューティ値のマップ特性図。
【図４３】可変ノズル全閉時のデューティ値のマップ特性図。
【図４４】可変ノズル全開時のデューティ値のマップ特性図。
【図４５】指令開口割合線型化処理値をデューティ値に変換するときのヒステリシス図。
【図４６】動作確認制御を説明するためのフローチャート。
【図４７】動作確認制御指令デューティ値の設定を説明するためのフローチャート。
【図４８】制御パターンのテーブル特性図。
【図４９】動作確認制御時のデューティ値のテーブル特性図。
【図５０】ＥＧＲ制御の２つのフィードバック補正係数と学習補正係数の演算を説明するためのフローチャート。
【図５１】フィードバック許可フラグの設定を説明するためのフローチャート。
【図５２】学習値反映許可フラグの設定を説明するためのフローチャート。
【図５３】学習許可フラグの設定を説明するためのフローチャート。
【図５４】ＥＧＲ量フィードバック補正係数の演算を説明するためのフローチャート。
【図５５】ＥＧＲ流量の補正ゲインのマップ特性図。
【図５６】水温補正係数のテーブル特性図。
【図５７】ＥＧＲ流速フィードバック補正係数の演算を説明するためのフローチャート。
【図５８】ＥＧＲ流速の補正ゲインのマップ特性図。
【図５９】水温補正係数のテーブル特性図。
【図６０】学習値反映許可条件でのＥＧＲ流速学習補正係数の演算を説明するためのフローチャート。
【図６１】学習反映基本値のマップ特性図。
【図６２】学習反映値補正係数のテーブル特性図。
【図６３】ＥＧＲ流速の演算を説明するためのフローチャート。
【図６４】ＥＧＲ流速のマップ特性図。
【図６５】学習終了フラグの設定を説明するためのフローチャート。
【図６６】目標ＥＧＲ率、エンジン回転速度の各学習値の演算を説明するためのフローチャート。
【図６７】水温補正係数のテーブル特性図。
【図６８】大気圧補正係数のテーブル特性図。
【図６９】運転条件の変化に対応して各フラグがどのように設定されるのかの一例を示す波形図。
【図７０】第１の発明のクレーム対応図。
【符号の説明】
４  ＥＧＲ通路
６  ＥＧＲ弁
４１  コントロールユニット
５２  排気タービン
１  可変ノズル
【図１】
0003687487.tif 000004
【図２】
0003687487.tif 000005
【図３】
0003687487.tif 000006
【図４】
0003687487.tif 000007
【図５】
0003687487.tif 000008
【図６】
0003687487.tif 000009
【図７】
0003687487.tif 000010
【図８】
0003687487.tif 000011
【図９】
0003687487.tif 000012
【図１０】
0003687487.tif 000013
【図１１】
0003687487.tif 000014
【図１２】
0003687487.tif 000015
【図１３】
0003687487.tif 000016
【図１４】
0003687487.tif 000017
【図１５】
0003687487.tif 000018
【図１６】
0003687487.tif 000019
【図１７】
0003687487.tif 000020
【図１８】
0003687487.tif 000021
【図１９】
0003687487.tif 000022
【図２０】
0003687487.tif 000023
【図２１】
0003687487.tif 000024
【図２２】
0003687487.tif 000025
【図２３】
0003687487.tif 000026
【図２４】
0003687487.tif 000027
【図２５】
0003687487.tif 000028
【図２６】
0003687487.tif 000029
【図２７】
0003687487.tif 000030
【図２８】
0003687487.tif 000031
【図２９】
0003687487.tif 000032
【図３０】
0003687487.tif 000033
【図３１】
0003687487.tif 000034
【図３２】
0003687487.tif 000035
【図３３】
0003687487.tif 000036
【図３４】
0003687487.tif 000037
【図３５】
0003687487.tif 000038
【図３６】
0003687487.tif 000039
【図３７】
0003687487.tif 000040
【図３８】
0003687487.tif 000041
【図３９】
0003687487.tif 000042
【図４０】
0003687487.tif 000043
【図４１】
0003687487.tif 000044
【図４２】
0003687487.tif 000045
【図４３】
0003687487.tif 000046
【図４４】
0003687487.tif 000047
【図４５】
0003687487.tif 000048
【図４６】
0003687487.tif 000049
【図４７】
0003687487.tif 000050
【図４８】
0003687487.tif 000051
【図４９】
0003687487.tif 000052
【図５０】
0003687487.tif 000053
【図５１】
0003687487.tif 000054
【図５２】
0003687487.tif 000055
【図５３】
0003687487.tif 000056
【図５４】
0003687487.tif 000057
【図５５】
0003687487.tif 000058
【図５６】
0003687487.tif 000059
【図５７】
0003687487.tif 000060
【図５８】
0003687487.tif 000061
【図５９】
0003687487.tif 000062
【図６０】
0003687487.tif 000063
【図６１】
0003687487.tif 000064
【図６２】
0003687487.tif 000065
【図６３】
0003687487.tif 000066
【図６４】
0003687487.tif 000067
【図６５】
0003687487.tif 000068
【図６６】
0003687487.tif 000069
【図６７】
0003687487.tif 000070
【図６８】
0003687487.tif 000071
【図６９】
0003687487.tif 000072
【図７０】
0003687487.tif 000073