(57)【特許請求の範囲】
【請求項１】
内燃機関の吸気系に設けられたスロットルバルブと、
前記スロットルバルブの開度を検出するスロットル開度検出部と、
前記スロットルバルブの上流の前記吸気系に設けられた圧縮機を有する過給機と、
前記過給機の駆動状態を制御して圧縮機下流かつスロットルバルブ上流の過給部の圧力であるスロットル上流圧を制御するスロットル上流圧制御部と、
前記圧縮機の上流に設けられ、吸入空気量を検出する吸入空気量検出部と、
前記スロットルバルブ下流のインマニ部の圧力をインマニ圧として検出するインマニ圧検出部と、
前記インマニ部の温度をインマニ温として検出するインマニ温検出部と、
前記インマニ圧と前記インマニ温とから前記インマニ部の密度をインマニ密度として算出し、前記吸入空気量と前回の平均密度と前記インマニ密度とに基づいて前記過給部と前記インマニ部とを合わせた領域の平均密度を算出し、前記インマニ圧と前記平均密度とに基づいて前記スロットル上流圧を推定してスロットル上流圧推定値として出力するスロットル上流圧推定部と
を備えた内燃機関の制御装置。
【請求項２】
前記過給部内に設けられ、前記過給部内の温度を低下させるためのインタークーラー
をさらに備え、
前記スロットル上流圧推定部は、
前記インマニ温に基づいて前記過給部内のインタークーラー下流の温度を推定するインタークーラー下流温度推定部を有し、前記インマニ圧と前記平均密度と前記インタークーラー下流温度とに基づいて前記スロットル上流圧を推定する
請求項１に記載の内燃機関の制御装置。
【請求項３】
前記過給機は、前記内燃機関の排気系に設けられたタービンと、前記タービンと一体に回転する前記圧縮機とから構成される、ターボチャージャーであり、
前記スロットル上流圧制御部は、前記タービンを迂回するバイパス通路に設けられたウェイストゲートバルブを操作することにより、前記スロットル上流圧を制御する
請求項１または２に記載の内燃機関の制御装置。
【請求項４】
前記ウェイストゲートバルブは電動モータにより駆動される
請求項３に記載の内燃機関の制御装置。
【請求項５】
ドライバーのアクセル操作量を検出するアクセル開度検出部と、
前記アクセル操作量に基づいて前記スロットルバルブを通過させる目標吸入空気量を算出し、前記目標吸入空気量と前記インマニ圧と前記スロットル上流圧推定値と前記吸入空気量とに基づいて、前記スロットルバルブを制御するスロットルバルブ制御部と、
前記スロットルバルブの実スロットル開度を検出するスロットル開度検出部と
をさらに備え、
前記スロットルバルブ制御部は、
測定により得られた予め適合されたスロットル開度と有効開口面積との関係マップを記憶する関係マップ記憶部と、
前記インマニ圧と前記スロットル上流圧推定値と前記吸入空気量とに基づいて前記スロットルバルブの実有効開口面積を算出する実有効開口面積算出部と、
検出された前記実スロットル開度と算出された前記実有効開口面積とに基づいて、前記関係マップを学習補正するスロットル開度学習部と、
前記目標吸入空気量と前記インマニ圧と前記スロットル上流圧推定値とに基づいて前記スロットルバルブの目標有効開口面積を算出する目標有効開口面積算出部と、
前記学習補正された前記関係マップに基づいて、前記目標有効開口面積から目標スロットル開度を算出する目標スロットル開度算出部と
を有する
請求項１から４までのいずれか１項に記載の内燃機関の制御装置。
【請求項６】
前記スロットル上流圧推定部は、
前記実スロットル開度と前記実有効開口面積との関係と前記学習補正された前記関係マップとの間の誤差及び前記誤差のばらつきを算出するばらつき算出部と、
前記誤差のばらつきが予め設定された第１範囲以内であるかどうかを判定するばらつき範囲判定部と、
前記実スロットル開度と前記実有効開口面積との前記関係が、前記関係マップを基準として予め設定された第２範囲以内であるかどうかを判定する関係範囲判定部と、
前記実スロットル開度と前記実有効開口面積の前記関係が前記第２範囲外で、かつ、前記誤差のばらつきが前記第１範囲外であった場合に、前記スロットル上流圧推定値を補正するスロットル上流圧補正部と
を有する
請求項５に記載の内燃機関の制御装置。
【請求項７】
前記ばらつき算出部にて算出される前記誤差は、
前記学習補正された前記関係マップに基づいて算出される前記実有効開口面積に対する学習補正されたスロットル開度と、前記実スロットル開度との、偏差として算出される、スロットル開度誤差であり、
前記ばらつき算出部にて算出される前記誤差のばらつきは、
前記スロットル開度誤差の分散又は標準偏差である
請求項６に記載の内燃機関の制御装置。
【請求項８】
前記スロットル上流圧補正部は、
前記実有効開口面積に対する前記実スロットル開度が予め定められたスロットル開度学習上限値よりも大きいときには、前記スロットル上流圧推定値を減少側に更新し、
前記実有効開口面積に対する前記実スロットル開度が予め定められたスロットル開度学習下限値よりも小さいときには、前記スロットル上流圧推定値を増加側に更新する
請求項６または７に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は内燃機関の制御装置に関し、特に、過給機付き内燃機関における圧縮機とスロットル間の圧力であるスロットル上流圧を推定するための内燃機関の制御装置に関する。
【背景技術】
【０００２】
従来から、内燃機関（以下、エンジン）の出力を向上させることを目的として過給機付きのエンジン制御システムがあり、過給機の例としては、排気ガスの持つエネルギーによりタービンを高速回転させることで駆動する圧縮機をエンジンの吸気系に搭載するターボチャージャー（以下、Ｔ／Ｃとも書く）や、クランク軸からベルト等を介して駆動する圧縮機をエンジンの吸気系に搭載するスーパーチャージャー（以下、Ｓ／Ｃとも書く）等が知られている。
【０００３】
また、エンジン制御システムにおける吸入空気量の検出方法としては、従来からエアフローセンサ（以下、ＡＦＳ）により検出する方法（以下、ＡＦＳ方式）と、インテークマニホールド（以下、インマニ）内の圧力（以下、インマニ圧）に基づいて推定する、所謂、スピードデンシティ方式による方法（以下、Ｓ／Ｄ方式）が知られている。ＡＦＳ方式ではＡＦＳの取り付け部（以下、ＡＦＳ部）を通過する空気流量（以下、ＡＦＳ吸入空気量）を直接計測しており、また、定常運転時にシリンダに入る空気流量（以下、シリンダ吸入空気量）はＡＦＳ吸入空気量とほぼ等しくなることから、定常運転時のシリンダ吸入空気量の算出誤差はＳ／Ｄ方式と比べて比較的小さいという特徴がある。しかし、過給機付きのエンジン制御システムにおいてはＡＦＳ部からシリンダまでの距離が長く、この間の応答遅れや密度変化を模擬した上でシリンダ吸入空気量を算出する必要があるので、過渡運転時のシリンダ吸入空気量の算出精度は、この応答遅れや密度変化を模擬する吸気系の物理モデルの精度に依存していると考えられており、従来からこれに対応する吸気系の物理モデルが提案されている（例えば、特願２０１４−０８４６７９号（以下、先行出願１とする。）参照）。
【０００４】
先行出願１の実施の形態１であるターボチャージャー付きエンジン制御システムにおいては、流量センサとしてエアフローセンサを用い、圧力センサとして大気圧センサ、スロットル上流圧センサ、インマニ圧センサを用い、これらからの情報に基づいてシリンダ吸入空気量及びスロットル吸入空気量を算出する方法が開示されている。先行出願１の実施の形態２であるスーパーチャージャー付きエンジン制御システムにおいては、流量センサとしてエアフローセンサを用い、圧力センサとして大気圧センサ、Ｓ／Ｃ上流圧センサ、インマニ圧センサを用い、これらからの情報に基づいてシリンダ吸入空気量を算出する方法が開示されている。しかしながら、これだけ多くのセンサを用いるとコスト高を招くという課題があった。そこで、センサを用いずに物理量を推定する方法として、例えば、過給機のないエンジン制御システム（以下、Ｎ／Ａシステム）において大気圧を推定する方法が提案されている（例えば、特願２０１４−０２３９０３号（以下、先行出願２とする。）参照）。
【０００５】
先行出願２には、Ｎ／Ａシステムにおいて、所謂トルクベース制御を精度良く実現できるよう、スロットルの機差ばらつきを吸収するためのスロットル開度学習制御を行いながら、広い運転領域で精度良く大気圧を推定することにより、大気圧センサを削除しつつも、スロットル制御により吸入空気量を精度良く制御できる方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−２２４５９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記のように、先行出願１の実施の形態２であるスーパーチャージャー付きエンジン制御システムにおいては、流量センサとしてエアフローセンサを用い、圧力センサとして大気圧センサ、Ｓ／Ｃ上流圧センサ、インマニ圧センサを用い、これらからの情報に基づいてシリンダ吸入空気量を算出する構成であるため、多くのセンサを用いる必要があり、コスト高を招くという問題点があった。
【０００８】
先行出願２の方法を適用することで、先行出願１の実施の形態２のようにスロットルの上流側が大気圧である場合には大気圧センサは削除できると考えられるが、先行出願１の実施の形態１においてはスロットルの上流側が大気圧ではないため、大気圧を推定することはできない。この場合、スロットル上流圧を推定することを考えても、スロットル上流圧は運転状態に応じて大きく変化するため、先行出願２の方法だけではその変化の速さについていくことは困難と考えられ、精度良くスロットル上流圧を推定することはできないという問題点があった。
【０００９】
本発明は、かかる問題点を解決するためになされたものであり、過給機付き内燃機関における圧縮機とスロットルバルブとの間のスロットル上流圧を精度良く推定することが可能な、内燃機関の制御装置を提供することを目的としている。
【課題を解決するための手段】
【００１０】
本発明は、内燃機関の吸気系に設けられたスロットルバルブと、前記スロットルバルブの開度を検出するスロットル開度検出部と、前記スロットルバルブの上流の前記吸気系に設けられた圧縮機を有する過給機と、前記過給機の駆動状態を制御して圧縮機下流かつスロットルバルブ上流の過給部の圧力であるスロットル上流圧を制御するスロットル上流圧制御部と、前記圧縮機の上流に設けられ、吸入空気量を検出する吸入空気量検出部と、前記スロットルバルブ下流のインマニ部の圧力をインマニ圧として検出するインマニ圧検出部と、前記インマニ部の温度をインマニ温として検出するインマニ温検出部と、前記インマニ圧と前記インマニ温とから前記インマニ部の密度をインマニ密度として算出し、前記吸入空気量と前回の平均密度と前記インマニ密度とに基づいて前記過給部と前記インマニ部とを合わせた領域の平均密度を算出し、前記インマニ圧と前記平均密度とに基づいて前記スロットル上流圧を推定してスロットル上流圧推定値として出力するスロットル上流圧推定部とを備えた内燃機関の制御装置である。
【発明の効果】
【００１１】
本発明に係る内燃機関の制御装置は、吸入空気量と前回の平均密度とインマニ密度とに基づいて過給部とインマニ部とを合わせた領域の平均密度を算出し、インマニ圧と平均密度とに基づいてスロットル上流圧を推定してスロットル上流圧推定値として出力するスロットル上流圧推定部を備えるようにしたので、スロットル上流圧センサのない内燃機関システムにおいても、圧縮機とスロットルバルブとの間のスロットル上流圧を精度良く推定することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態におけるターボチャージャー付きエンジン制御システムの概略を示す構成図である。
【図２】本発明の実施の形態におけるターボチャージャー付きエンジン制御システムの制御の概略を示す制御ブロック図である。
【図３】本発明の実施の形態におけるターボチャージャー付きエンジン制御システムの各領域の空気の状態変化とそれを検出するセンサ類を概略的に示した図である。
【図４】本発明の実施の形態における仮想インマニ容積を算出するための制御ブロック図である。
【図５】本発明の実施の形態におけるシリンダ吸入空気量を算出するための制御ブロック図である。
【図６】本発明の実施の形態におけるスロットル吸入空気量を算出するための制御ブロック図である。
【図７】本発明の実施の形態におけるスロットル上流圧の推定値（推定Ｐ２）を算出するための制御ブロック図である。
【図８】本発明の実施の形態における補正後Ｐ２及び補正後ρａｖｅを算出するための制御ブロック図である。
【図９】本発明の実施の形態に係わるＰ２補正処理の全体を示すフローチャートである。
【図１０】本発明の実施の形態に係わるスロットル開度誤差のばらつきを算出するためのフローチャートである。
【図１１】本発明の実施の形態に係わる有効開口面積とスロットル開度の関係を示す図である。
【図１２】本発明の実施の形態に係わる有効開口面積とスロットル開度の関係の学習範囲を示す図である。
【図１３】本発明の実施の形態に係わるスロットル開度学習値を算出するための制御ブロック図である。
【図１４】本発明の実施の形態に係わるロングタイム学習値を格納するための制御ブロック図である。
【図１５】本発明の実施の形態に係わるスロットル開度学習基本値の算出方法を示す図である。
【図１６】本発明の実施の形態に係わる有効開口面積とスロットル開度が取りうる関係を示す図である。
【図１７】本発明の実施の形態に係わるロングタイム学習値の格納処理を示す図である。
【図１８】本発明の実施の形態に係わる単調増加処理を示す図である。
【図１９】（２７）式の１．０≦ｘ≦２．４におけるグラフ及び線形近似直線を示すグラフである。
【発明を実施するための形態】
【００１３】
実施の形態１．
以下、図面を参照して本発明の好適な実施の形態について説明するが、各図において、同一または相当する部分については、同一符号を付して説明する。なお、本発明に係る内燃機関の制御装置は、過給機付きエンジン制御システムにおける圧縮機とスロットルとの間のスロットル上流圧を精度良く推定して内燃機関を制御するものである。以下の実施の形態では、過給機としてターボチャージャーを用いたエンジン制御システムを例に挙げて説明する。
【００１４】
図１は、本発明の実施の形態におけるターボチャージャー付きエンジン制御システムの構成の概略を示す図である。図１において、エンジン１には、クランク角の回転に応じた電気信号を生成するためのクランク角センサ１１が取り付けられている。また、エンジン１のシリンダ８には、それぞれ、吸気路を形成する吸気管２と、排気路を形成する排気管７とが接続されている。
【００１５】
吸気管２の最上流部にはエアクリーナ３が取り付けられている。エアクリーナ３の下流側には、吸入空気流量に応じた電気信号を生成するＡＦＳ１２と、吸入路内の吸入空気温度に応じた電気信号を生成する吸入空気温度センサ（以下、吸気温センサ）１３とが、一体又は別体で、設けられている。なお、図１は、ＡＦＳ１２と吸気温センサ１３とが一体に構成された例を示している。
【００１６】
排気管７の最下流部には、排気ガス浄化触媒２２が設けられている。排気ガス浄化触媒２２の上流側には、燃焼した燃料と空気との割合に応じた電気信号を生成する空燃比センサ２３が設けられている。
【００１７】
また、吸気管２と排気管７にて構成される吸排気系統には、圧縮機（コンプレッサ）３１とタービン３２とを備えている過給機（ターボチャージャー）３６が設けられている。タービン３２は、排気管７の排気ガス浄化触媒２２よりも上流側に設けられていて、排気管７内を流れる排気ガスによって回転駆動されるようになっている。圧縮機３１は、吸気管２のＡＦＳ１２の下流側に設けられている。この圧縮機３１は、タービン３２の回転に伴って回転駆動されることで、吸気路内の空気を圧縮できるようになっている。
【００１８】
圧縮機３１の下流側には、主にアクセルオフ時に過給圧が高くなり過ぎないよう吸気管２に圧縮空気量を分流させるためのエアバイパスバルブ（以下、ＡＢＶ）３３が設けられている。ＡＢＶ３３の下流側には、圧縮機３１により断熱圧縮されて高温になった空気を冷却するためのインタークーラー（以下、Ｉ／Ｃ）３０が設けられている。Ｉ／Ｃ３０の下流側には、エンジン１に送られる空気量を調整するための電子制御式のスロットルバルブ４が設けられている。スロットルバルブ４には、その開度に応じた電気信号を生成するスロットル開度センサ１４が接続されている。
【００１９】
スロットルバルブ４の下流側には、吸気脈動を抑制するためのサージタンクを含むインマニ５が設けられている。インマニ５には、サージタンクからインマニに至る空間内の圧力及び温度に応じた電気信号を生成するインマニ圧センサ１５とインマニ温センサ１６とが、一体又は別体で、設けられている。なお、図１は、インマニ圧センサ１５とインマニ温センサ１６とが一体に構成された例を示している。
【００２０】
インマニ５の下流のエンジン１側には、燃料を噴射するインジェクタ１７が設けられている。なお、インジェクタ１７は、シリンダ８内に直接燃料を噴射するように設けられてもよい。
【００２１】
シリンダ８には、エンジン１に吸入された空気とインジェクタ１７から噴射された燃料とが混合して生成される可燃混合気に点火するための点火プラグ１８と、点火プラグ１８に火花を飛ばすための電流を供給する点火コイル１９とが設けられている。また、吸気路からシリンダ８内に導入される空気量を調節する吸気バルブ２０と、シリンダ８内から内燃機関の排気路に排出される空気量を調節する排気バルブ２１とが設けられている。なお、吸気バルブ２０及び排気バルブ２１の双方又は何れかのカム軸にバルブ開閉のタイミングを変化させるための可変バルブタイミング機構（以下、ＶＶＴ）やバルブのリフト量を変化させるための可変バルブリフト機構（以下、ＶＶＬ）が設けられていてもよい。
【００２２】
排気バルブ２１の下流及びタービン３２の上流側には、高回転高負荷で過給圧が増加してもエンジンを破損しないよう、排気バイパス通路に排気ガスを分流させるためのウェイストゲートバルブ３４が設けられている。ウェイストゲートバルブ３４を駆動する手段としては、ダイヤフラムにかかる圧力を制御する圧力式、あるいは、バルブ開度を直接駆動する電動式がある。一般に圧力式は過給圧がある程度高くないとウェイストゲートバルブ３４を駆動できないが、電動式はこのような制限はなく、運転状態に係らず駆動することができるので、圧縮機３１とスロットルバルブ４間の圧力であるスロットル上流圧の制御可能範囲が広いという特徴がある。本実施の形態では、電動式のウェイストゲートバルブ３４とするが、圧力式のものを用いた場合においても、全く同様の方法が適用できる。
【００２３】
図２は、本発明の実施の形態におけるターボチャージャー付きエンジン制御システムの構成の概略を示す制御ブロック図である。図２において、電子制御ユニット（以下、ＥＣＵ）１００は、周知のとおりＣＰＵ、ＲＯＭ、ＲＡＭ等よりなるマイクロコンピュータを主体として構成され、ＲＯＭに記憶された各種の制御プログラムを実行することで、その都度のエンジン１の運転状態に基づいてエンジン１の各種制御を実施する。すなわち、ＥＣＵ１００には、各種センサからの検出信号が入力され、この信号に基づいて目標スロットル開度、燃料噴射量、点火時期等を算出し、スロットルバルブ、インジェクタ、点火コイル等を駆動するための信号を出力する。
【００２４】
具体的には、スロットル開度センサ１４、クランク角センサ１１、ＡＦＳ１２、吸気温センサ１３、インマニ圧センサ１５、インマニ温センサ１６からの電気信号が、ＥＣＵ１００に入力される。また、ＥＣＵ１００には、アクセル開度センサ４０（図１では図示省略）および大気圧センサ９（図１では図示省略）の信号も入力される。アクセル開度センサ４０は運転席の足元に設置されているアクセルの操作量に応じた電気信号を生成するものである。大気圧センサ９は大気圧に応じた電気信号を生成するもので、図１のエアクリーナ３の近傍に設置されている場合やＥＣＵ１００の基板上に設置されている場合がある。更に、前記センサ以外の他センサからも電気信号が入力される。図２に示す他センサには、空燃比センサ２３や、例えばエンジン１のシリンダブロックの振動を検出するノックセンサ（図示せず）、エンジン１の冷却水温を検出する水温センサ（図示せず）、車速を検出する車速センサ（図示せず）等が含まれている。
【００２５】
また、ＥＣＵ１００の出力側には、スロットルバルブ４、インジェクタ１７、点火コイル１９、ＡＢＶ３３、ウェイストゲートバルブ３４が接続されている。また、ＥＣＵ１００は、これらのアクチュエータ以外の他アクチュエータも接続されている。他アクチュエータには、例えば吸気バルブ２０や排気バルブ２１に設置されたＶＶＴを駆動するためのアクチュエータ等が含まれる。
【００２６】
ＥＣＵ１００は、クランク角センサ１１からのクランク角周期に基づいて算出されるエンジン回転速度Ｎｅと、アクセル開度センサ４０に基づいて算出されるアクセル開度ＡＰとから、ドライバが要求する目標出力トルクＴＲＱｔを算出する。更に、ＥＣＵ１００は、目標出力トルクＴＲＱｔを達成するために必要な目標スロットル吸入空気量Ｑｔｈｔを算出し、この目標スロットル吸入空気量Ｑｔｈｔを達成するために必要な目標スロットル開度ＴＰｔを算出し、これに基づいてスロットルバルブ４が駆動される。さらに、ＥＣＵ１００では、この目標スロットル開度ＴＰｔを精度良く達成するために、スロットル開度センサ１４からのスロットル開度ＴＰを用いてフィードバック制御も実施される。
【００２７】
また、ＥＣＵ１００では、エンジン回転速度Ｎｅ、ＡＦＳ１２からのＡＦＳ吸入空気量Ｑａ、吸気温センサ１３からの吸気温Ｔａ、インマニ圧センサ１５からのインマニ圧Ｐｂ、インマニ温センサ１６からのインマニ温Ｔｂ、及び、大気圧センサ９からの大気圧Ｐａに基づいて、後述する吸気系の物理モデルを用いて、圧縮機３１とスロットルバルブ４間の圧力であるスロットル上流圧Ｐ２、シリンダ８に入るシリンダ吸入空気量Ｑｃ、および、スロットルバルブ４を通過するスロットル吸入空気量Ｑｔｈが算出される。算出されたシリンダ吸入空気量Ｑｃに基づいて、適切な排気ガスや排気温度となる目標空燃比を実現する燃料噴射量Ｑｆとなるようインジェクタ１７が駆動され、更にノッキング等の異常燃焼が起こらない適切な点火時期ＩＧを実現するよう点火コイル１９が駆動される。なお、ＥＣＵ１００における燃料噴射量Ｑｆの演算には、目標空燃比と空燃比センサ２３の出力値に基づくフィードバック制御も実施される。
【００２８】
また、前述の目標スロットル吸入空気量Ｑｔｈｔを精度良く達成するために、スロットル吸入空気量Ｑｔｈを用いて目標スロットル開度ＴＰｔのフィードバック制御も実施される。また、ＡＦＳ吸入空気量Ｑａやスロットル上流圧Ｐ２から、例えば特許文献１に示される圧縮機駆動力Ｐｃを算出し、この圧縮機駆動力Ｐｃに基づいて吸気系圧力やエンジン出力が増大しすぎることを防止するための目標ウェイストゲート開度ＷＧを算出し、ウェイストゲートバルブ３４を駆動するエンジン出力の制御も実施される。また、意図しない過過給によりスロットル上流圧Ｐ２が高くなり過ぎないよう、ＡＢＶ開度ＡＢを算出してＡＢＶ３３を駆動する制御も実施される。
【００２９】
以下に、特許文献１における圧縮機駆動力Ｐｃの算出方法について簡単に説明する。
【００３０】
まず、圧縮機３１及びタービン３２内の流れを以下に説明する。ここで、空気状態に関する物理法則である、質量保存則や、ポリトロープ変化や、断熱効率を考慮すると、タービン３２の出力Ｐｔ［Ｗ］及び圧縮機３１の駆動力Ｐｃ［Ｗ］は、それぞれ、次式（１００）により算出される。
【００３１】
但し、Ｃｐ：定圧比熱［ｋＪ／（ｋｇ・Ｋ）］、Ｗｔ：単位流量あたりのタービン出力［Ｊ］、Ｗｃ：圧縮機仕事量［Ｊ］κ：比熱比、Ｑｔ：タービンの質量流 量［ｇ／ｓ］、Ｑｃｍｐ：圧縮機の質量流量(圧縮機通過流量)［ｇ／ｓ］、Ｒ：気体定数［ｋＪ／（ｋｇ・Ｋ）］、ηｔ：タービンの断熱効率、ηｃ：圧縮機 の断熱効率とする。また、Ｐ：圧力［ｋＰａ］、Ｔ：絶対温度［Ｋ］、における添え字の１〜４は、１：空気入口（大気）、２：シリンダ入口（吸気）、３：シリンダ出口、４：排気口、をそれぞれ示す。
【００３２】
【数１】
0005888709.tif 000002
【００３３】
さらに、タービン３２と圧縮機３１の特性は、圧力比が増加するに伴い、流量・タービン回転数が増加する傾向にあることから、排気圧Ｐ３は排ガス流量Ｑｅｘの関数であると言える。また、排ガス流量Ｑｅｘとタービン出力Ｐｔは自動車用ターボチャージャーの常用域において、ほぼ比例の関係にあると推測されることから、タービン出力Ｐｔは排ガス流量Ｑｅｘの関数であると言える。これらから、次式(１０１)のように、圧縮機駆動力Ｐｃもまた排ガス流量Ｑｅｘの関数であると言うことができる。
【００３４】
Ｐｃ＝Ｐｔ・ηｍ ∝ Ｑｅｘ                 (１０１)
【００３５】
ここで、定常状態では、圧縮機通過流量Ｑｃｍｐ＝吸入空気流量Ｑａになるので、圧縮機駆動力Ｐｃは、吸入空気流量Ｑａと、スロットル上流圧力Ｐ２とを用いて，次式(１０２)で求めることができる。
【００３６】
【数２】
0005888709.tif 000003
【００３７】
本実施の形態では、ＥＣＵ１００において、上記のエンジン制御が実施されている。以下では、吸気系の物理モデルに基づいて、圧縮機３１とスロットルバルブ４間の圧力であるスロットル上流圧Ｐ２、シリンダ８に入るシリンダ吸入空気量Ｑｃ、スロットルバルブ４を通過するスロットル吸入空気量Ｑｔｈを算出する方法について詳細に説明する。
【００３８】
図３は、本発明の実施の形態におけるターボチャージャー付きエンジン制御システムの各領域の空気の状態変化（圧力、温度、密度）とそれを検出するセンサ類を概略的に示した図である。図３において、以下のように定義する（n：行程数番号）。
Ｑｃｍｐ（ｎ）    ：圧縮機吸入空気量［ｇ／ｓ］の１行程間の平均値
Ｑａ（ｎ）        ：ＡＦＳ吸入空気量［ｇ／ｓ］の１行程間の平均値
Ｑｔｈ（ｎ）      ：スロットル吸入空気量［ｇ／ｓ］の１行程間の平均値
Ｑｃ（ｎ）        ：シリンダ吸入空気量［ｇ／ｓ］の１行程間の平均値
ΔＴ（ｎ）        ：１行程間の時間［ｓ］
Ｖ２ｕ            ：Ｉ／Ｃ上流容積（圧縮機〜Ｉ／Ｃの容積）［ｍ＾３］
Ｖ２ｄ            ：Ｉ／Ｃ下流容積（Ｉ／Ｃ〜スロットルバルブの容積）［ｍ＾３］
Ｖｂ              ：インマニ容積（スロットルバルブ〜吸気バルブの容積）［ｍ＾３］
Ｖｃ              ：１気筒当りのシリンダ行程容積［ｍ＾３］
Ｐａ（ｎ）        ：大気圧［ｋＰａ］の１行程間の平均値
Ｐ２（ｎ）        ：スロットル上流圧（推定値）［ｋＰａ］
Ｐｂ（ｎ）        ：インマニ圧［ｋＰａ］の１行程間の平均値
Ｔａ（ｎ）        ：吸気温［Ｋ］の１行程間の平均値
Ｔ２ｕ（ｎ）      ：Ｉ／Ｃ上流温［Ｋ］の１行程間の平均値
Ｔ２ｄ（ｎ）      ：Ｉ／Ｃ下流温［Ｋ］の１行程間の平均値
Ｔｂ（ｎ）        ：インマニ温［Ｋ］の１行程間の平均値
ρａ（ｎ）        ：大気密度［ｇ／ｍ＾３］の１行程間の平均値
ρ２ｕ（ｎ）      ：Ｉ／Ｃ上流密度［ｇ／ｍ＾３］の１行程間の平均値
ρ２ｄ（ｎ）      ：Ｉ／Ｃ下流密度［ｇ／ｍ＾３］の１行程間の平均値
ρｂ（ｎ）        ：インマニ密度［ｇ／ｍ＾３］の１行程間の平均値
ここで、スロットル上流圧は計測していないので、スロットル上流圧Ｐ２の推定値が算出されていることを前提として、シリンダ８に入るシリンダ吸入空気量Ｑｃ、スロットルバルブ４を通過するスロットル吸入空気量Ｑｔｈを算出する吸気系の物理モデルについて説明する。
【００３９】
図３の状態変化について説明する。まず、圧縮機３１の上流側（領域ａ）は大気に解放されており、基本的には、大気圧Ｐａ（センサ計測値）および吸気温Ｔａ（センサ計測値）となっている。厳密には、エアクリーナ３による圧力損失等も考えられるが、ここでは無視している。圧縮機３１では、可逆断熱変化により圧縮されるため、圧縮機３１の下流側（領域ｂ）では、圧力及び温度が上昇し、密度も上昇する。続いてＩ／Ｃ３０を通過するが、ここでの圧力損失を無視すると、Ｉ／Ｃ３０の下流側（領域ｃ）では温度のみが低下して密度が上昇する。このように考えると、Ｉ／Ｃ３０を通過する際の状態変化は等圧変化となるので、領域ｂ及び領域ｃの圧力はスロットル上流圧Ｐ２（推定値）で共通となり、一方、温度は、領域ｂがＩ／Ｃ上流温Ｔ２ｕ、領域ｃがＩ／Ｃ下流温Ｔ２ｄとなる。次に、スロットルバルブ４を通過するが、ここでは絞られた後に膨張してインマニ５に溜まるため、スロットル前後の状態変化としては等温変化となり、圧力のみが低下して密度も低下する。但し、エンジン側からの受熱もあるので、温度は僅かに上昇する。その結果、領域ｄの圧力はインマニ圧Ｐｂ（センサ計測値）となり、温度はインマニ温Ｔｂ（センサ計測値）となる。
【００４０】
以上の状態変化に基づいて、各領域の密度を算出する方法について説明する。領域ａの大気圧Ｐａ、吸気温Ｔａはいずれもセンサ計測値であるので、（１）式に示す状態方程式に基づいて、領域ａの密度である大気密度ρａを算出することができる。ここで、Ｒはガス定数である。
【００４１】
【数３】
0005888709.tif 000004
【００４２】
次に、領域ｂの密度ρ２ｕの算出方法であるが、領域ｂの温度であるＩ／Ｃ上流温Ｔ２ｕは計測していないので、このままでは状態方程式による算出は行えない。ところで、圧縮機３１の前後は可逆断熱変化と考えることができるので、等エントロピー変化の（２）式が成立する。よって、本式によりＩ／Ｃ上流密度ρ２ｕを算出し、更に（１）式と同様の状態方程式によりＩ／Ｃ上流温Ｔ２ｕを算出することができる。ここで、κは比熱比である。
【００４３】
【数４】
0005888709.tif 000005
【００４４】
また、圧縮機３１の断熱効率ηadが低く、可逆断熱変化と考えるのが困難な場合には断熱効率ηadを考慮した（３）式を用いてＩ／Ｃ上流温Ｔ２ｕを算出し、Ｉ／Ｃ上流密度ρ２ｕを算出するようにしても良い。
【００４５】
【数５】
0005888709.tif 000006
【００４６】
次に、領域ｃの密度ρ２ｄの算出方法であるが、領域ｃの温度であるＩ／Ｃ下流温Ｔ２ｄは計測していないので、状態方程式による算出は行えない。また、前述の通り、Ｉ／Ｃ３０を通過するので温度は低下するが、この温度低下量はＩ／Ｃ３０の冷却能力や冷却のための外気による影響が大きく、単純に見積もることは難しい。そこで、スロットルバルブ４の前後は等温変化であるが僅かな温度変化を伴うことに着目し、センサ計測値であるインマニ温Ｔｂに基づいて、例えば（４）式に基づいて近似することができる。暫定的には、Ｋａ＝１．０、Ｋｂ＝０．０としておいても良いが、計測結果より近似係数を求めることでより精度を向上できる。
【００４７】
【数６】
0005888709.tif 000007
【００４８】
Ｉ／Ｃ下流温Ｔ２ｄが求まれば、領域ｃの密度ρ２ｄは（５）式に示す状態方程式を用いて算出できる。
【００４９】
【数７】
0005888709.tif 000008
【００５０】
領域ｄで示されるインマニ５の密度ρｂは、センサ計測値であるインマニ圧Ｐｂ、インマニ温Ｔｂを用い、（６）式に示す状態方程式を用いて算出できる。
【００５１】
【数８】
0005888709.tif 000009
【００５２】
以上の方法を用いれば、領域ａ〜ｄの密度を算出することができる。次に、ＡＦＳ吸入空気量Ｑａに基づいてシリンダ吸入空気量Ｑｃを算出する方法を考える。圧縮機３１から吸気バルブ上流までで示される領域（領域ｂ，領域ｃ，領域ｄを合わせた領域ｂｃｄ、総容積Ｖａｌｌ［ｍ＾３］、平均密度ρａｖｅ［ｇ／ｍ＾３］とする）において、新気に関して質量保存則を適用すると（７）式が成立する。ここで、圧縮機吸入空気量ＱｃｍｐはＡＦＳ吸入空気量Ｑａと等しいものと考えている。
【００５３】
【数９】
0005888709.tif 000010
【００５４】
ここで、総容積Ｖａｌｌと平均密度ρａｖｅは（８）（９）式により定義される。
【００５５】
【数１０】
0005888709.tif 000011
【００５６】
【数１１】
0005888709.tif 000012
【００５７】
次に、シリンダ吸入空気量Ｑｃ（ｎ）は、インマニ基準の体積効率をＫｖ（ｎ）とすると（１０）式により算出できる。なお、Ｓ／Ｄ方式によりシリンダ吸入空気量Ｑｃ（ｎ）を算出する場合には（１０）式が用いられる。
【００５８】
【数１２】
0005888709.tif 000013
【００５９】
ところで、領域ｂｃｄの密度はρａｖｅ、容積はＶａｌｌなので、ここには質量ρａｖｅ×Ｖａｌｌの空気が存在している。この領域ｂｃｄに存在している空気の密度が仮にインマニ密度ρｂであるとすると、同じ質量の空気が占める容積（以下、仮想インマニ容積）Ｖｂ’との関係は（１１）式で表される。
【００６０】
【数１３】
0005888709.tif 000014
【００６１】
（１１）式を（７）式に代入すると、（１２）式のようになる。
【００６２】
【数１４】
0005888709.tif 000015
【００６３】
以下、領域ｂｃｄの密度はインマニ密度ρｂ、容積は仮想インマニ容積Ｖｂ’であると考える。（１２）式に（１０）式を代入してインマニ密度ρｂを消去すると、（１３）式となる。
【００６４】
【数１５】
0005888709.tif 000016
【００６５】
更に（１３）式をＱｃ（ｎ）・ΔＴ（ｎ）について解いていくと、（１４）式となる。
【００６６】
【数１６】
0005888709.tif 000017
【００６７】
（１４）式の両辺にＶｂ’（ｎ）／（Ｋｖ（ｎ）・Ｖｃ）を掛けて更に整理すると、（１５）式となる。
【００６８】
【数１７】
0005888709.tif 000018
【００６９】
（１６）式のように定義した中間変数を（１５）式に代入すると、（１７）式となり、（１７）式を用いることで、ＡＦＳ吸入空気量Ｑａに基づいてシリンダ吸入空気量Ｑｃを算出することができる。
【００７０】
【数１８】
0005888709.tif 000019
【００７１】
【数１９】
0005888709.tif 000020
【００７２】
以上のようにして導出された（１７）式を、エンジン１の回転と同期した、例えばクランクシャフトの予め設定された一定クランク角毎に実行される割り込み処理において演算することで、デジタルローパスフィルタの演算式となる。すなわち、エンジン１の吸気系は１次遅れ要素であると言える。
【００７３】
ここで、（１７）式を用いるにはインマニ基準の体積効率Ｋｖ（ｎ）が必要となるが、このＫｖは（１０）式を用いて予め適合しておく必要がある。このＫｖであるが、ＶＶＴやＶＶＬのようなインマニ基準の体積効率が変化する機構がなければ適合工数やマップ数は少なくて済むが、吸排気ＶＶＴを用いた場合等には適合工数やマップ数が膨大になってしまう（以下、マップにより算出するＫｖをマップＫｖと呼ぶ）。そこで、ＡＦＳ吸入空気量Ｑａやインマニ密度ρｂを用いてリアルタイムにＫｖを算出する方法を以下に示す。すなわち、（１２）式に（１０）式を代入してシリンダ吸入空気量Ｑｃを消去して、Ｋｖについて解くと、（１８）式となる。
【００７４】
【数２０】
0005888709.tif 000021
【００７５】
このようにすることで、リアルタイムにインマニ基準の体積効率Ｋｖを算出することができる（以下、リアルタイムＫｖ）。なお、（１８）式にて演算したリアルタイムＫｖは、センサ出力値を平均化した際に生じる位相差や微小な計測ノイズによるノイズが混入している場合があるので、（１８）式に用いるセンサ出力値や（１８）式で算出したリアルタイムＫｖに対してフィルタ処理を行うことによりノイズ成分を減衰させ、ノイズ成分を減衰したフィルタ後のＫｖを用いて、（１７）式の演算を行うことが有効である。なお、ノイズ成分を減衰させるためのフィルタとしては、ローパスフィルタ処理や、過去数行程間の値に対して単純な移動平均値を算出する処理や、加重移動平均値（過去数行程間の個々のデータに対して異なる重みをつけた平均値）を算出する処理を用いてもよい。更には、定常運転時に算出したリアルタイムＫｖに基づいてマップＫｖを学習補正するようにしてもよい。
【００７６】
次に、前述の目標スロットル吸入空気量Ｑｔｈｔを精度良く達成するよう実施される目標スロットル開度ＴＰｔのフィードバック制御に必要となるスロットル吸入空気量Ｑｔｈを算出する方法について説明する。ターボチャージャー付きのエンジン制御システムの場合、定常運転時のスロットル吸入空気量Ｑｔｈは、ＡＦＳ吸入空気量Ｑａともシリンダ吸入空気量Ｑｃとも等しいと考えられるが、過渡運転時には応答遅れが生じるため、ＡＦＳ吸入空気量Ｑａともシリンダ吸入空気量Ｑｃとも等しいと考えることはできない。そこで、図３の領域ｄについて改めて新気に関して（１９）式のように質量保存則を適用し、スロットル吸入空気量Ｑｔｈを導出する。
【００７７】
【数２１】
0005888709.tif 000022
【００７８】
（１９）式に（１０）式を代入してρｂを消去すると、（２０）式となる。
【００７９】
【数２２】
0005888709.tif 000023
【００８０】
（２０）式において、（２１）式の中間変数を定義して整理すると（２２）式のようになる。
【００８１】
【数２３】
0005888709.tif 000024
【００８２】
【数２４】
0005888709.tif 000025
【００８３】
（２２）式を変形すると（２３）式となり、（２３）式により（１７）式で算出したシリンダ吸入空気量Ｑｃや（１８）式で算出したリアルタイムＫｖを用いてスロットル吸入空気量Ｑｔｈを算出できる。
【００８４】
【数２５】
0005888709.tif 000026
【００８５】
以上のような吸気系の物理モデルを考えることで、ＡＦＳ吸入空気量Ｑａに基づいて、シリンダ吸入空気量Ｑｃやスロットル吸入空気量Ｑｔｈを算出することができる。
【００８６】
次に、スロットル上流圧Ｐ２の推定方法について説明する。前述のシリンダ吸入空気量Ｑｃやスロットル吸入空気量Ｑｔｈの算出はスロットル上流圧Ｐ２が推定されていることが前提であるため、以下で説明するスロットル上流圧Ｐ２の推定を行った後で、シリンダ吸入空気量Ｑｃやスロットル吸入空気量Ｑｔｈを算出する必要がある。まず、圧縮機下流の領域ｂｃｄ の平均密度 ρave を算出するために（１０）式を（７）式に代入して（２４）式を得る。
【００８７】
【数２６】
0005888709.tif 000027
【００８８】
ここで使用するインマニ基準の体積効率Ｋｖ（ｎ）は、前述のリアルタイムＫｖではなく、予め適合しておいたマップＫｖから算出する必要がある。なお、前述のように、定常運転時に算出したリアルタイムＫｖに基づいてマップＫｖを学習補正するようにしてもよい。（２４）式により、ＡＦＳ吸入空気量Ｑａ（ｎ）とインマニ圧Ｐｂ（ｎ）と前回平均密度ρａｖｅ（ｎ−１）から平均密度ρａｖｅ（ｎ）を算出することができる。なお、平均密度の初期値ρａｖｅ（０）は、エンジン始動前のインマニ密度又は大気密度とすればよい。
【００８９】
平均密度ρａｖｅ（ｎ）から、スロットル上流の密度を算出するために、（９）式を変形して（２５）式を得る。
【００９０】
【数２７】
0005888709.tif 000028
【００９１】
（２５）式の右辺は既知であるので、左辺のρ２ｕ、ρ２ｄを、Ｐ２を用いて導出することを考える。（２）式と（５）式を（２５）式に代入すると、（２６）式の関係が導出される。
【００９２】
【数２８】
0005888709.tif 000029
【００９３】
（２６）式によりＰ２を算出できれば、インタークーラーの影響を考慮してＰ２を算出したことになる。なお、インタークーラーの影響を考慮しない場合には、Ｖ２ｄをゼロとすればよい。
【００９４】
ここで、（２６）式によりＰ２を算出する方法が問題となる。指数項があるため、単純な方程式として解くことはできないが、例えば、ニュートン法による数値解法により解くことができる。しかしながら、この方法は繰り返し計算を行うため、演算量が多くなるおそれがあり、エンジン制御用のＥＣＵに実装するには向いていない。そこで、より簡易的な方法について説明する。Ｐ２／Ｐａの取り得る範囲を１．０〜２．４程度と考えて、（２７）式の１．０≦ｘ≦２．４におけるグラフ及び線形近似直線を描くと図１９のようになる。
【００９５】
【数２９】
0005888709.tif 000030
【００９６】
この範囲に限定すれば、誤差は±１．０［％］程度で線形近似可能であるので、近似して、（２８）式を得る。
【００９７】
【数３０】
0005888709.tif 000031
【００９８】
（２８）式を（２６）式に代入すると、Ｐ２は、（２９）式により算出することができる。
【００９９】
【数３１】
0005888709.tif 000032
【０１００】
当然のことながら、（２７）式を２次関数以上の関数で近似し、その方程式を解析的に解くことでＰ２を算出するようにしてもよい。また、圧縮機３１の断熱効率ηadを考慮する場合には（２５）式に（２）式の代わりに（３）式を代入することになるが、この場合でも同様に１次関数又は２次関数以上の関数で近似することで算出することができる。
【０１０１】
ところで、このようにして推定したＰ２は収支演算によるものであり、通常は誤差が蓄積するものと考えられる。そこで、以下で説明する方法により、推定したＰ２を補正することで、より高精度でＰ２を推定することができるようになる。スロットルバルブ４の前後において、所謂絞り式流量計の体積流量算出式（圧縮性流体の場合）は次式（３０）で表される。
【０１０２】
【数３２】
0005888709.tif 000033
【０１０３】
ここで、スロットル吸入空気量（体積流量）をＱｔｈｖ［Ｌ／ｓ］、スロットル上流における音速をα２ｄ［ｍ／ｓ］、スロットルの有効開口面積をＣＡｔ［ｃｍ＾２］とする。なお、スロットル吸入空気量（体積流量）Ｑｔｈｖ［Ｌ／ｓ］は、スロットル吸入空気量Ｑｔｈ［ｇ／ｓ］とスロットル上流密度ρ２ｄ［ｇ／ｍ＾３］（推定値）より算出できる。
【０１０４】
ここで、無次元流量σ［］を次式（３１）で定義すると、（３０）式は、次式（３２）のように簡単に書くことができる。
【０１０５】
【数３３】
0005888709.tif 000034
【０１０６】
【数３４】
0005888709.tif 000035
【０１０７】
なお、スロットル上流における音速α２ｄ［ｍ／ｓ］は、スロットル上流温Ｔ２ｄ［Ｋ］を用いた（３３）式で算出できる。
【０１０８】
【数３５】
0005888709.tif 000036
【０１０９】
ここで、スロットル吸入空気量（体積流量）Ｑｔｈｖと、スロットル上流における音速α２ｄ、無次元流量σが与えられた場合に、スロットルの有効開口面積ＣＡｔは（３２）式を変形した次式で算出できる。
【０１１０】
【数３６】
0005888709.tif 000037
【０１１１】
先行出願２によれば、大気圧及びその他の物理量が正しい値であれば、スロットル開度と有効開口面積の関係はほぼ一対一の関係にあるが、実の大気圧と演算に用いている推定大気圧にズレがあれば、この関係にもズレが生じ、スロットル開度と有効開口面積の関係にばらつきが生じるため、このばらつきを検出して推定大気圧を補正することで大気圧の推定精度を向上させる方法が開示されている。そこで、先行出願２の方法における大気圧をスロットル上流圧に置き換えて本実施の形態に当てはめることで、推定したＰ２をより正確なＰ２に補正できるようになる。
【０１１２】
先行出願２に係る内燃機関の制御装置は、内燃機関の運転状態を検出する運転状態を検出する運転状態検出手段と、内燃機関の運転状態に基づいて目標吸入空気流量を算出する目標吸入空気流量算出手段と、内燃機関の吸気通路に設けられたスロットルと、スロットルのスロットル開度を制御することにより吸気通路の有効開口面積を変化させて、内燃機関への吸気量を可変制御するスロットル開度制御手段と、スロットル開度を検出するスロットル開度検出手段と、スロットルの内燃機関側の圧力をインテークマニホールド圧力として検出する圧力検出手段と、スロットルの吸気温を検出する吸気温検出手段と内燃機関への吸入空気流量を検出する吸入空気流量検出手段と、内燃機関の制御パラメータの算出に適用する大気圧を推定する大気圧推定手段とを備え、大気圧推定手段は、推定された大気圧と、吸入空気流量と、インテークマニホールド圧力及び吸気温とからスロットル開度に対応した有効開口面積を算出する有効開口面積算出手段と、設定された有効開口面積とスロットル開度との関係マップと、有効開口面積とスロットル開度との関係における学習値を算出するスロットル開度学習値算出手段と、有効開口面積とスロットル開度との関係が、予め設定された範囲内であるかどうかを判定する有効開口面積スロットル開度関係範囲判定手段と、有効開口面積とスロットル開度との関係マップと、スロットル開度学習値算出手段に基づいて、補正された有効開口面積とスロットル開度との関係マップと、の誤差から誤差ばらつきを算出する誤差ばらつき算出手段と、誤差ばらつきが予め設定された範囲内であるかどうかを判定するばらつき範囲判定手段と、有効開口面積と前記スロットル開度の関係が範囲外で、かつ、誤差ばらつきが範囲外であった場合に大気圧推定値を更新する大気圧推定値更新手段と、大気圧推定値更新手段により更新された大気圧推定値を用いて目標スロットル開度を算出する目標スロットル開度算出部と、により構成され、目標スロットル開度にスロットル開度を制御することを特徴としている。先行出願２に係る内燃機関の制御装置によれば、このような構成を有しているので、スロットル機差ばらつきに対するスロットル開度と有効開口面積との関係を学習しながら、スロットル開度の学習範囲及びスロットル開度と有効開口面積との関係の統計的ばらつきを判断基準として、大気圧推定値を更新することで、スロットル機差ばらつきを学習しながら広い運転領域で大気圧を精度良く推定することができる。従って、上述したように、先行出願２の方法における大気圧をスロットル上流圧に置き換えて本実施の形態に当てはめることで、推定したＰ２をより正確なＰ２に補正できる。
【０１１３】
次に、ＥＣＵ１００内でこの吸気系の物理モデルに基づき実際に実行される演算内容について、図４〜８を用いて具体的に説明する。まずは、スロットル上流圧の推定値Ｐ２が算出されていることを前提として、シリンダ８に入るシリンダ吸入空気量Ｑｃ、スロットルバルブ４を通過するスロットル吸入空気量Ｑｔｈを算出する吸気系の物理モデルについて説明する。図４は、本発明の実施の形態におけるターボチャージャー付きエンジン制御システムの仮想インマニ容積を算出するための制御ブロック図であり、図５は、シリンダ吸入空気量を算出するための制御ブロック図であり、図６は、スロットル吸入空気量を算出するための制御ブロック図である。
【０１１４】
まずは、図４に示す仮想インマニ容積Ｖｂ’を算出する方法について説明する。本演算は、エンジン１の回転と同期したクランクシャフトの予め設定された一定クランク角（例えば、ＢＴＤＣ５ｄｅｇＣＡ）毎に実行される割り込み処理（以下、Ｂ０５割込処理）内において処理される。また、以下の演算にはセンサにより検出した値の１行程間の平均値を用いるものがあるが、これは、センサ出力値を予め設定された一定間隔（例えば、１ｍｓ又は１０ｄｅｇＣＡ）毎に検出しておき、前回のＢ０５割込処理開始時から今回のＢ０５割込処理開始時の間における全センサ検出値の平均値を算出するようにしておけば得ることができる。
【０１１５】
ブロックＢ４０１では、（１）式に基づいて、大気圧Ｐａ（ｎ）及び吸気温Ｔａ（ｎ）から大気密度ρａ（ｎ）を算出する。ブロックＢ４０２では、（６）式に基づいて、インマニ圧Ｐｂ（ｎ）及びインマニ温Ｔｂ（ｎ）からインマニ密度ρｂ（ｎ）を算出する。次に、ブロックＢ４０３では、（４）式に基づいて、インマニ温Ｔｂ（ｎ）から、Ｉ／Ｃ下流温Ｔ２ｄ（ｎ）を算出する。なお、（４）式に用いる係数は、暫定的には、Ｋａ＝１．０、Ｋｂ＝０．０としておいても良いが、計測結果より近似係数を求めることでより精度を向上できる。続くブロックＢ４０４では、ブロックＢ４０３で算出したＩ／Ｃ下流温Ｔ２ｄ（ｎ）と、スロットル上流圧Ｐ２（ｎ）とを用いて、（５）式に基づいて、Ｉ／Ｃ下流密度ρ２ｄ（ｎ）を算出する。ブロックＢ４０５では、（２）式に基づいて、スロットル上流圧Ｐ２（ｎ）と大気圧Ｐａ（ｎ）と先に計算しておいた大気密度ρａ（ｎ）から、Ｉ／Ｃ上流密度ρ２ｕ（ｎ）を算出する。ここで、（２）式の計算には指数関数の演算が必要になるが、高精度な計算をすると演算負荷が大きくなるので、予め机上で計算しておいた値をテーブル値として記憶しておき、使用時の運転状態に応じた値を検索して用いるようにしてもよい。また、圧縮機３１の断熱効率ηadを考慮する場合には（２）式の代わりに（３）式を用いてもよい。
【０１１６】
以上で算出した、Ｉ／Ｃ上流密度ρ２ｕ（ｎ）、Ｉ／Ｃ下流密度ρ２ｄ（ｎ）、インマニ密度ρｂ（ｎ）から、（８）式及び（９）式に基づいて、ブロックＢ４０６において平均密度ρａｖｅ（ｎ）を算出し、更に、続くブロックＢ４０７では、（１１）式に基づいて、ブロックＢ４０６で算出した平均密度ρａｖｅ（ｎ）と、インマニ密度ρｂ（ｎ）とを用いて、仮想インマニ容積Ｖｂ’（ｎ）を算出する。以上の順に演算を行うことで、既存のセンサ検出値から仮想インマニ容積Ｖｂ’（ｎ）を求めることができる。
【０１１７】
次に、図５に示すシリンダ吸入空気量を算出する方法について説明する。なお、演算タイミングは、Ｂ０５割込処理内の仮想インマニ容積Ｖｂ’（ｎ）算出後であり、１行程間の時間ΔＴ（ｎ）は、前回のＢ０５割込処理開始時刻と今回のＢ０５割込処理開始時刻の差から算出できる。また、（ｎ−１）は、前回のＢ０５割込処理にて算出された値を意味する。
【０１１８】
ブロックＢ５０１では、インマニ密度ρｂ（ｎ）、ρｂ（ｎ−１）、仮想インマニ容積Ｖｂ’（ｎ）、Ｖｂ’（ｎ−１）、ＡＦＳ吸入空気量Ｑａ（ｎ）から、（１８）式に基づいてリアルタイムＫｖを算出し、続くブロックＢ５０２では、ノイズ成分を減衰させるためのフィルタ処理を行う。このノイズ成分を減衰させるためのフィルタとしては、ローパスフィルタ処理や、過去数行程間の値に対して単純な移動平均値を算出する処理や、加重移動平均値（過去数行程間の個々のデータに対して異なる重みをつけた平均値）を算出する処理を用いてもよい。このようにしてフィルタ処理後のリアルタイムＫｖを算出することができる。
【０１１９】
続いて、ブロックＢ５０３では、リアルタイムＫｖと仮想インマニ容積Ｖｂ’（ｎ）に基づいて、（１６）式で示される中間変数を算出する。なお、ここではリアルタイムＫｖを用いるとしているが、リアルタイムＫｖに限らず、（１０）式を用いて予め適合しておいたＫｖ値をマップとして記憶しておき、使用時の運転状態に応じたマップ値を検索して算出するマップＫｖを用いても良い。更には、定常運転時に算出したリアルタイムＫｖに基づいてマップＫｖを学習補正するようにしてもよい。続くブロックＢ５０４では、ブロックＢ５０３で算出した中間変数と、ＡＦＳ吸入空気量Ｑａ（ｎ）と、前回シリンダ吸入空気量Ｑｃ（ｎ−１）から、（１７）式に基づいてシリンダ吸入空気量Ｑｃ（ｎ）を算出する。このようにすることで、吸気系の物理モデルに基づいてＡＦＳ吸入空気量Ｑａからシリンダ吸入空気量Ｑｃを算出できるようになる。
【０１２０】
次に、図６に示すスロットル吸入空気量を算出する方法について説明する。なお、演算タイミングは、Ｂ０５割込処理内のシリンダ吸入空気量Ｑｃ（ｎ）算出後である。
【０１２１】
ブロックＢ６０１では、リアルタイムＫｖ又はマップＫｖから、（２１）式に基づいて中間変数が算出される。続くブロックＢ６０２では、当該中間変数と、シリンダ吸入空気量Ｑｃ（ｎ）、Ｑｃ（ｎ−１）から、（２３）式に基づいてスロットル吸入空気量Ｑｔｈが算出される。
【０１２２】
以上のように、図４〜６で示した演算順序で計算を行えば、吸気系の物理モデルをＥＣＵ１００内に実装してエンジン制御システム内で用いることが可能となり、このようにして算出したシリンダ吸入空気量Ｑｃやスロットル吸入空気量Ｑｔｈを用いることで、ターボチャージャー付きのエンジン制御システムにおいて、出力トルク、空燃比、点火時期等を精度良く制御することができるようになる。なお、ターボチャージャーに限らず、スーパーチャージャーや電動チャージャー付きのエンジン制御システムにおいても、図３に示す吸気系の構成（上流から、圧縮機、Ｉ／Ｃ、スロットルバルブの順）であれば、全く同様の方法でシリンダ吸入空気量Ｑｃやスロットル吸入空気量Ｑｔｈを算出することができる。
【０１２３】
次に、スロットル上流圧Ｐ２の推定値を算出する吸気系の物理モデルについて説明する。図７は、本発明の実施の形態におけるターボチャージャー付きエンジン制御システムのスロットル上流圧Ｐ２の推定値（以下、推定Ｐ２）を算出するための制御ブロック図であり、図８は、補正後Ｐ２及び補正後ρａｖｅを算出するための制御ブロック図である。
【０１２４】
図７に示すスロットル上流圧Ｐ２の推定値を算出する方法について説明する。なお、演算タイミングは、Ｂ０５割込処理内の仮想インマニ容積Ｖｂ’（ｎ）、シリンダ吸入空気量Ｑｃ（ｎ）、スロットル吸入空気量Ｑｔｈ（ｎ）等を算出する前である。但し、図４のＢ４０１（大気密度ρａ算出）、Ｂ４０２（インマニ密度ρｂ算出）、Ｂ４０３（Ｉ／Ｃ下流温Ｔ２ｄ算出）については事前に演算しておく。
【０１２５】
ブロックＢ７０１では、ＡＦＳ吸入空気量Ｑａ（ｎ）、インマニ密度ρｂ（ｎ）、前回平均密度ρａｖｅ（ｎ−１）、マップＫｖから、（２４）式に基づいて平均密度ρａｖｅ（ｎ）が算出される。続くブロックＢ７０２では、平均密度ρａｖｅ（ｎ）、インマニ密度ρｂ（ｎ）、大気密度ρａ（ｎ）、大気圧Ｐａ（ｎ）、Ｉ／Ｃ下流温Ｔ２ｄ（ｎ）から、（２９）式に基づいて推定Ｐ２が算出される。
【０１２６】
次に、図８に示す補正後Ｐ２及び補正後ρａｖｅを算出する方法について説明する。なお、演算タイミングは、推定Ｐ２算出後である。ブロックＢ８０１では、仮想インマニ容積Ｖｂ’（ｎ）、シリンダ吸入空気量Ｑｃ（ｎ）、スロットル吸入空気量Ｑｔｈ（ｎ）が演算される。これらは前述の図４〜６にて説明した演算が実行される。続くブロックＢ８０２では、スロットル学習、ばらつき算出、Ｐ２補正の各処理が演算されるが、詳細は後述する。後述する処理により推定Ｐ２が補正され、より精度の高いスロットル上流圧Ｐ２の推定値を補正後Ｐ２として算出される。更にブロックＢ８０３では、補正後Ｐ２（ｎ）、スロットル上流温Ｔ２ｄ（ｎ）、大気密度ρａ（ｎ）、大気圧Ｐａ（ｎ）、インマニ密度ρｂ（ｎ）から、（２）、（５）及び（９）式に基づいて、補正後ρａｖｅ（ｎ）が算出される。補正後ρａｖｅ（ｎ）は、次回の演算タイミングにおいて、図７の前回平均密度ρａｖｅ（ｎ−１）として使用することで、推定Ｐ２の推定精度を向上させることができる。また、圧縮機３１の断熱効率ηadを考慮する場合には（２）式の代わりに（３）式を用いてもよい。
【０１２７】
続いて、図８のブロックＢ８０２で実施される、スロットル学習、ばらつき算出、Ｐ２補正の各処理について図９〜１８を参照しながら詳細に説明する。
【０１２８】
図９はＰ２補正処理の全体を示すフローチャートである。まず、図９のフローチャートのステップＳ９０１において、ＩＧ−Ｓ／Ｗがオンかつエンスト中かどうかを判定し、Ｙｅｓであれば、ステップＳ９０２に進み、補正後Ｐ２としてインマニ圧Ｐｂを代入して終了となる。なお、エンスト中は大気圧もインマニ圧もスロットル上流圧も等しいと考えられるので、インマニ圧Ｐｂではなく大気圧Ｐａを代入するようにしてもよい。ステップＳ９０１において、Ｎｏであればエンジンが運転中であると判定してステップＳ９０３に進む。
【０１２９】
次にステップＳ９０３で、（３４）式を用い、スロットルバルブの実有効開口面積ＣＡｔを演算する。続くステップＳ９０４にてスロットル開度学習値を演算する。スロットル開度学習値の演算方法については後述する。続いて、ステップＳ９０５ではスロットル開度誤差のばらつきを演算する。スロットル開度誤差のばらつきは図１０に示すフローチャートにより演算される。ここで、図１０のフローチャートを説明する。まずステップＳ１００１で、ステップＳ９０３で算出した実有効開口面積ＣＡｔと、予め適合された有効開口面積とスロットル開度の関係マップと、前回の処理タイミングでのスロットル開度学習値から、今回のスロットル開度学習値を算出し、実有効開口面積ＣＡｔに対する学習後スロットル開度を算出する。例えば図１１に示すように、縦軸をスロットル開度、横軸を有効開口面積としたときに、予め適合された有効開口面積とスロットル開度の関係マップが実線とすると、スロットル開度学習値で補正された有効開口面積とスロットル開度の関係マップは破線のように表される。ここでステップＳ９０３にて算出された実有効開口面積をＣＡｔ１とすると、図１１のように学習後スロットル開度ＴＰ１が求められる。
【０１３０】
続く、ステップＳ１００２にてスロットル開度センサ１４にて検出した実スロットル開度ＴＰ２と学習後スロットル開度ＴＰ１からスロットル開度誤差を算出し、ステップＳ１００３ではスロットル開度誤差のばらつきを正規分布と仮定して分散をスロットル開度誤差のばらつきとして算出する。分散はＮ個のデータ（x1, x2, …, xn）からなる標本の場合、次式（３５）にて定義される。
【０１３１】
【数３７】
0005888709.tif 000038
【０１３２】
このように、分散とは各データと平均値の誤差の２乗平均である。本実施の形態においては、簡易的に分散を算出するために、平均値として学習後スロットル開度ＴＰ１を用い、実スロットル開度ＴＰ２との誤差の２乗を算出し、更に、１次フィルタにより平均化処理を施した値を分散に相当する値とする。具体的には、（３６）及び（３７）式で算出する。
【０１３３】
【数３８】
0005888709.tif 000039
【０１３４】
【数３９】
0005888709.tif 000040
【０１３５】
ここで、ＴＰｓはスロットル開度誤差の２乗、ＴＰｇはスロットル開度誤差の分散、Ｋｇはフィルタ係数で予め適合された値を用いる。上記１次フィルタ値以外でも、例えば、移動平均値を用いても良い。ｎは今回値を示し、ｎ−１は前回値を示す。
【０１３６】
このように、スロットル開度誤差のばらつきを正規分布と仮定することで、スロットル開度誤差のばらつきに分散を使用することができ、ばらつき幅の見積もりを容易に行うことができる。以上でスロットル開度誤差のばらつき演算が終了する。なお、ここでは分散を用いたが、分散の平方根である標準偏差を用いるようにしてもよい。
【０１３７】
図９のフローチャートの説明に戻る。ステップＳ９０６にて、圧力比が予め設定された閾値Ａより小さいかどうかを判定する。ここで、圧力比はスロットル前後の圧力比であり、具体的にはインマニ圧Ｐｂ／推定Ｐ２となる。閾値Ａは１に近い値、例えば０．９５が設定される。これより圧力比が１に近い場合、無次元流量σの感度が高くなり、スロットル開度学習値の誤差が大きくなる可能性があるので除外するためである。ステップＳ９０６でＹｅｓであればステップＳ９０７へ進み、ＮｏであればステップＳ９１２へ進む。ステップＳ９１２では推定Ｐ２をそのまま補正後Ｐ２として処理終了となる。
【０１３８】
ステップＳ９０７では、ステップＳ９０５で算出したスロットル開度誤差のばらつきである分散が閾値Ｂより大きいかどうかを判定する。ＹｅｓであればステップＳ９０８へ進み、ＮｏであればステップＳ９１２へ進み、処理終了となる。
【０１３９】
次に、ステップＳ９０８にて、実有効開口面積ＣＡｔ１に対する実スロットル開度Ｔ２がスロットル開度学習下限値よりも小さいかどうかを判定する。ＹｅｓであればステップＳ９０９へ進み、ＮｏであればステップＳ９１０へ進む。図１２に示すように縦軸をスロットル開度、横軸を有効開口面積としたときに予め適合された有効開口面積とスロットル開度の関係マップを実線とすると、スロットル開度学習下限値は破線、スロットル開度学習上限値は一点鎖線で表される。学習上下限値はスロットル機差ばらつきを考慮して予め設定される。ステップＳ９０３にて算出した実有効開口面積ＣＡｔ１とスロットル開度センサ１４から求めた実スロットル開度ＴＰ２の交点がスロットル開度学習下限値ＴＰ３よりも下であればＹｅｓとなる。図１２の例では、交点はスロットル開度学習下限値ＴＰ３よりも上であるのでＮｏとなる。
【０１４０】
ステップＳ９０９では、推定Ｐ２に予め設定された一定値Ｐｔｇ＿ｕｐだけ加算したものを補正後Ｐ２として処理終了となる。交点がスロットル開度学習下限値よりも小さければスロットル機差ばらつきによるずれではなく、実スロットル上流圧Ｐ２が推定Ｐ２よりも大きいことが原因と考えられるため、補正後Ｐ２として推定Ｐ２に予め設定された一定値を加算する。上記一定値Ｐｔｇ＿ｕｐは急激な推定値の変化をさけるため、例えば、１［ｋＰａ］以下程度の値とすることが望ましい。
【０１４１】
ステップＳ９１０では実スロットル開度ＴＰ２がスロットル開度学習上限値ＴＰ４よりも大きいかどうかを判定する。図１２の例では、交点はスロットル開度学習上限値ＴＰ４よりも上であるのでＹｅｓとなる。ＹｅｓであればステップＳ９１１へ進み、推定Ｐ２に予め設定された一定値Ｐｔｇ＿ｄｏｗｎだけ減算したものを補正後Ｐ２として処理終了となる。学習上限値ＴＰ４はスロットル機差ばらつきを考慮して予め設定される。スロットル開度学習値が学習上限値ＴＰ４よりも大きければ、スロットル機差ばらつきによるずれではなく、実スロットル上流圧Ｐ２が推定Ｐ２よりも小さいと考えられるため、補正後Ｐ２として推定Ｐ２から一定量を減算する。上記一定値Ｐｔｇ＿ｄｏｗｎは急激な推定値の変化をさけるため、例えば、１［ｋＰａ］以下の値とすることが望ましい。Ｎｏであれば推定Ｐ２は正しいと判定されたことになるのでステップＳ９１２へ進み処理終了となる。
【０１４２】
以上の処理によって、スロットル開度学習値を考慮したスロットル開度と実スロットル開度の偏差の統計的ばらつきを判断基準とすることで、推定Ｐ２を精度良く補正することができる。
【０１４３】
続いて、ステップＳ９０４のスロットル開度学習値の演算について詳細に説明する。基本的には先行出願２に示された方法と同様である。前述した（３０）〜（３４）式に示す理論式を用いたスロットル開度学習値の算出処理とロングタイム学習値の格納処理の実現方法について説明する。図１３及び図１４は、スロットル開度学習値の算出処理とロングタイム学習値の格納処理を示した制御ブロック図である。まず、図１３の制御ブロック図を参照しながら、スロットル制御及びスロットル開度学習の概要について説明する。ブロックＢ１３０１では、アクセル開度等の入力された各種データより目標トルクのようなエンジン出力指標が算出され、算出されたエンジン出力指標を達成するのに必要な目標シリンダ吸入空気量が算出され、目標シリンダ吸入空気量に基づいてスロットルを通過する目標吸入空気量（以下、目標Ｑｔｈｖ＊）が算出される。続くブロックＢ１３０２では目標有効開口面積（以下、目標ＣＡｔ＊）が、（３４）式を用いて、目標Ｑｔｈｖ＊、スロットル上流の音速α２ｄ、無次元流量σより算出される。このように、絞り式流量計の流量算出式を基に目標ＣＡｔ＊を算出しているので、環境条件の変化やＥＧＲ導入等のエンジンの運転状態が変化した場合においても、良好に目標Ｑｔｈｖ＊を達成する目標ＣＡｔ＊を算出することができる。
【０１４４】
ところで、ブロックＢ１３０２の演算で必要となるスロットル上流の音速α２ｄは、（３３）式を用いてＥＣＵ２０内で演算するのは演算の負荷が大きくなるため、ブロックＢ１３０３のように予めスロットル上流の音速の理論値を算出してスロットル上流温Ｔ２ｄを軸としたマップとして記憶しておき、ブロックＢ１３０２の演算前にスロットル上流温Ｔ２ｄを用いてブロックＢ１３０３でスロットル上流の音速α２ｄを算出している。
【０１４５】
さらに、ブロックＢ１３０２の演算で必要となる無次元流量σについても、（３１）式を用いてＥＣＵ２０内で演算するのは演算の負荷が膨大となるため実用的ではない。そこで、ブロックＢ１３０４のように、ＥＣＵ２０内での演算負荷を抑えるために予め無次元流量の理論値を算出してインマニ圧Ｐｂと推定Ｐ２の圧力比Ｐｂ／Ｐ２を軸としたマップとして記憶しておき、ブロックＢ１３０２の演算前にインマニ圧Ｐｂと推定Ｐ２の圧力比Ｐｂ／Ｐ２を算出し、算出された圧力比Ｐｂ／Ｐ２を用いてブロックＢ１３０４で無次元流量σを算出している。
【０１４６】
ところで、一般に、圧力比Ｐｂ／Ｐ２が予め設定された閾値Ｅ（空気の場合、約０．５２８）以下の場合、スロットルを通る空気の流量が飽和（所謂チョーク）することが知られている。このチョークが起きた場合には、（３１）式で算出される無次元流量σは一定値になることも知られている。そこで、インマニ圧と大気圧の圧力比が閾値Ｅ以下の場合には、ブロックＢ１３０４のマップの値を閾値Ｅに対応する一定値（空気の場合、約０．５７８７）にすることで、チョークが起きた場合にも対応できる。
【０１４７】
また、無次元流量σは圧力比Ｐｂ／Ｐ２がある程度大きくなると、吸入空気脈動によるインマニ圧の振動の影響が大きくなる場合がある。そこで、圧力比Ｐｂ／Ｐ２が予め設定された閾値Ｐｒ（例えば、約０．９５）以上の場合、ブロックＢ１３０４のマップの値を閾値Ｐｒに対応する一定値（例えば、約０．２６）として扱うことにより、吸入空気脈動の影響を少なくし、スロットル制御性を確保することができる。なお、インマニ圧ピーク値の方がスロットル上流圧より大きい場合には、インマニ内の圧力振動によりスロットルを逆流する空気が生じていると考えられるので、この場合に、ブロックＢ１３０４のマップの値を閾値Ｐｒに対応する一定値（例えば、約０．２６）として扱うようにしてもよい。
【０１４８】
以上のようにして、ブロックＢ１３０２で算出された目標ＣＡｔ＊を用いて、ブロックＢ１３０５では目標スロットル開度ＴＰ＊を算出する。その際、スロットル吸入空気流量Ｑｔｈｖを用いて（３４）式により算出された実有効開口面積ＣＡｔとスロットル開度ＴＰの関係を予め測定し、有効開口面積ＣＡｔとスロットル開度ＴＰが１対１で対応する有効開口面積とスロットル開度の関係マップとして記憶しておき、このマップを用いることで目標有効開口面積ＣＡｔ＊から目標スロットル開度ＴＰ＊を算出することができる。
【０１４９】
以上のように算出された目標スロットル開度ＴＰ＊によりスロットルを制御した時に、スロットルボディ及び各種センサ等のばらつきや各種推定誤差に起因する目標Ｑｔｈｖと実Ｑｔｈｖの誤差を減少するように、スロットル開度学習値ＴＰＬＲＮを算出する方法を以下で説明する。
【０１５０】
スロットル開度学習値ＴＰＬＲＮを算出するために、ブロックＢ１３０６では、学習用に用いる実有効開口面積ＣＡｔｉを実スロットル吸入空気流量Ｑｔｈｖ、スロットル上流の音速α２ｄ、無次元流量σより算出する。続くブロックＢ１３０７では、ブロックＢ１３０５と同じマップを用いて実有効開口面積ＣＡｔｉより学習用スロットル開度を算出する。そしてブロックＢ１３０８では、目標スロットル開度ＴＰ＊と学習用スロットル開度ＴＰｉとの偏差ΔＴＰ（＝ＴＰ＊−ＴＰｉ）をスロットル開度学習基本値として算出し、ブロックＢ１３０９ではΔＴＰを積分するなどしてスロットル開度学習値ＴＰＬＲＮを算出して格納する。ブロックＢ１３０９でのスロットル開度学習値ＴＰＬＲＮの格納処理については詳細を後述する。以上により算出した目標スロットル開度Ｔｐ＊とスロットル開度学習値ＴＰＬＲＮをブロックＢ１３１０で加算して、最終的にスロットルバルブ４を駆動する学習補正後目標スロットル開度ＴＰＬＲＮ＊を算出する。
【０１５１】
このように、スロットル開度学習値の算出処理は、スロットル開度学習基本値ΔＴＰ（目標開度ＴＰ＊と学習用開度ＴＰｉとの偏差）に基づいてスロットル開度学習値ＴＰＬＲＮを算出し、目標スロットル開度ＴＰ＊をスロットル開度学習値ＴＰＬＲＮで補正して学習補正後目標スロットル開度ＴＰＬＲＮ＊を算出するようになっている。
【０１５２】
以下、図１５も参照しながら、スロットル開度制御の学習機能について、具体的に説明する。図１５は、スロットル開度学習基本値の算出方法を説明する図である。ここで、スロットル開度ＴＰと有効開口面積ＣＡｔとが１対１で対応するものと考えると、目標スロットル吸入空気量Ｑｔｈｖ＊と実スロットル吸入空気量Ｑｔｈｖとの間に誤差が存在する場合には、目標スロットル吸入空気量Ｑｔｈｖ＊から算出した目標有効開口面積ＣＡｔ＊と、実スロットル吸入空気量Ｑｔｈｖから算出した実有効開口面積ＣＡｔｉとの間にも、誤差が存在することになる。
【０１５３】
たとえば、図１５に示すように、制御に用いられる有効開口面積−スロットル開度の関係マップ（以下、ＣＡｔ−ＴＰマップ）（ブロックＢ１３０５及びＢ１３０７で用いるもの、破線参照）と、現在の制御対象であるエンジン１のスロットルボディのばらつきや、インマニ圧Ｐｂ、吸気温Ｔａなどを測定する各種センサのばらつきを含んで推定演算される実有効開口面積ＣＡｔと実スロットル開度ＴＰとの関係（以下、「実際のＣＡｔ−ＴＰの関係」という、実線参照）との間に誤差がある場合を考える。
【０１５４】
このとき、目標有効開口面積ＣＡｔ＊と目標スロットル開度ＴＰ＊との関係は、図１５内のＣＡｔ−ＴＰマップ上の点ａで示される。ところが、図１５のように、ＣＡｔ−ＴＰマップ（破線）と実際のＣＡｔ−ＴＰ関係（実線）との間に誤差が存在すると、目標スロットル開度ＴＰ＊に対応した実際のＣＡｔ−ＴＰ関係（実線）上の点ｂの実有効開口面積ＣＡｔｉは、目標有効開口面積ＣＡｔ＊と異なり、スロットル開度ＴＰを目標スロットル開度ＴＰ＊に制御したときに得られる実スロットル吸入空気量Ｑｔｈｖは、目標スロットル吸入空気量Ｑｔｈｖ＊と一致しないことになる。
【０１５５】
そこで、この誤差を補正する学習値を算出するために、目標開度ＴＰ＊に制御したときに測定される実スロットル吸入空気量Ｑｔｈｖに基づいて、実有効開口面積ＣＡｔｉを算出する。実有効開口面積ＣＡｔｉと目標開度ＴＰ＊との関係は、図１５内の実際のＣＡｔ−ＴＰの関係（実線）の曲線上の点ｂで示される。
【０１５６】
図１５において、目標有効開口面積ＣＡｔ＊（目標スロットル吸入空気量Ｑｔｈｖ＊）を達成するためには、スロットル開度ＴＰが、実際のＣＡｔ−ＴＰ関係（実線）の曲線上の点ｄに制御される必要があるので、点ａと点ｄとの間の差分を学習値として算出する必要がある。このとき、図１５に示すように、ＣＡｔ−ＴＰマップ（破線）と実際のＣＡｔ−ＴＰ関係（実線）とが、局所的にはほぼ平行の関係にあるものと仮定し、目標スロットル開度ＴＰ＊に制御したときの実スロットル吸入空気量Ｑｔｈｖから算出された実有効開口面積ＣＡｔｉに基づき、ＣＡｔ−ＴＰマップ（破線）を用いて学習用スロットル開度ＴＰｉを算出する。
【０１５７】
ここで算出された学習用開度ＴＰｉと実有効開口面積ＣＡｔｉとの関係は、図１５内のＣＡｔ−ＴＰマップ（破線）上の点ｃで示される。したがって、点ｂと点ｃとの間の差分で示されるスロットル開度学習基本値ΔＴＰ（＝ＴＰ＊−ＴＰｉ）が、点ａと点ｄとの間の学習基本値とほぼ等しいものと見なすことができる。このスロットル開度学習基本値ΔＴＰにゲインをかけて積分したものがスロットル開度学習値ＴＰＬＲＮとなり、目標スロットル開度ＴＰ＊にスロットル開度学習値ＴＰＬＲＮを加算して算出した学習補正後目標スロットル開度ＴＰＬＲＮ＊によりスロットル開度を制御することで、目標スロットル吸入空気量Ｑｔｈｖ＊と実スロットル吸入空気量Ｑｔｈｖとの誤差は減少する。
【０１５８】
このようにすることで、目標スロットル吸入空気量Ｑｔｈｖ＊を得るためのスロットル開度ＴＰを算出する際に、スロットルボディおよび各種センサなどのばらつきや、各種推定演算における誤差に対して、良好に目標スロットル吸入空気量Ｑｔｈｖ＊が達成できるように有効開口面積ＣＡｔとスロットル開度ＴＰとの関係を学習補正することができる。このとき、ＣＡｔ−ＴＰマップ（破線）と実際のＣＡｔ−ＴＰ関係（実線）との誤差がほぼ一定（実質的に平行）の関係にあれば、スロットル開度学習値ＴＰＬＲＮを単独でフィードバック制御として用いた場合でも、全運転領域で良好に制御することができる。
【０１５９】
ところで、たとえば図１６内に示すように、実際のＣＡｔ−ＴＰ関係（実線参照）に対して、（１）ＣＡｔ−ＴＰマップがクロスしている場合（破線参照）や、（２）ＣＡｔ−ＴＰマップの誤差が一定（平行）でない場合（１点鎖線参照）には、スロットル開度学習値ＴＰＬＲＮを単独で用いると、過渡運転時に追従遅れやオーバーシュートなどの問題が発生する可能性がある。
【０１６０】
そこで、このような場合に対処するためには、図１４のように、スロットル開度学習基本値ΔＴＰを、フィードバック制御として用いるリアルタイム学習値ＴＰＲと、ＣＡｔ−ＴＰマップのＣＡｔ軸（図１５、図１６内の横軸）に対応する学習領域ごとに記憶するロングタイム学習値ＴＰＬとに分配して記憶し、それらに基づいてスロットル開度学習値ＴＰＬＲＮを算出することが望ましい。これにより、ＣＡｔ−ＴＰマップ上の値とロングタイム学習値ＴＰＬとの和を、実際のＣＡｔ−ＴＰ関係に近づけることができる。また、リアルタイム学習値ＴＰＲを併用することにより、フィードバック制御により瞬時的な誤差を吸収することができる。以下、図１４の機能ブロック図とともに、図１７および図１８の説明図を参照しながら、スロットル開度学習値の算出及び格納方法について詳細に説明する。
【０１６１】
図１４において、ブロックＢ１４０１によりスロットル開度学習基本値ΔＴＰの分配処理が行われ、予め設定された一定の割合でリアルタイム学習値ＴＰＲとロングタイム学習値ＴＰＬとに分配する。切換手段１４０１ａは、予め設定されたリセット条件が成立した場合には、リアルタイム学習値を算出するブロックＢ１４０２に「０」を入力し、予め設定された更新禁止条件が成立した場合には、前回のリアルタイム学習値ＴＰＲ（ｎ−１）を入力し、リアルタイム学習値ＴＰＲのリセット条件や更新禁止条件が不成立の場合には、分配後のスロットル開度学習基本値ΔＴＰを入力する。したがって、ブロックＢ１４０２では、リアルタイム学習値ＴＰＲのリセット条件や更新禁止条件（後述する）が不成立の場合に、分配後のスロットル開度学習基本値ΔＴＰに基づいて、最終的なリアルタイム学習値ＴＰＲを算出する。
【０１６２】
切換手段１４０１ｂは、予め設定された更新禁止条件が成立した場合には、ブロックＢ１４０３に前回のロングタイム学習値ＴＰＬ（ｎ−１）を入力し、ロングタイム学習値ＴＰＬの更新禁止条件が不成立の場合には、分配後のスロットル開度学習基本値ΔＴＰを入力する。したがって、ブロックＢ１４０３では、ロングタイム学習値ＴＰＬの更新禁止条件が不成立の場合に、分配後のスロットル開度学習基本値ΔＴＰに基づいて、ＣＡｔ−ＴＰマップのＣＡｔ軸に応じた学習領域ごとに最終的なロングタイム学習値ＴＰＬを算出する。
【０１６３】
なお、切換手段１４０１ａ、１４０１ｂにおける更新禁止条件の具体例として、インマニ圧Ｐｂと推定Ｐ２との圧力比Ｐｂ／Ｐ２が予め設定された閾値Ｆ以上を示す場合や、インマニ圧ピーク値の方がスロットル上流圧より大きい場合には、（３４）式の演算に誤差が生じるため、リアルタイム学習値ＴＰＲおよびロングタイム学習値ＴＰＬの更新が禁止されるようにすることができる。
【０１６４】
また、切換手段１４０１ａにおけるリセット条件の具体例として、目標スロットル吸入空気量Ｑｔｈｖ＊の時間変化率ｄＱｔｈｖ＊／ｄｔが予め設定された閾値Ｇ以上に達した後の経過時間が、予め設定された閾値Ｈ以内を示す期間においては、リアルタイム学習値ＴＰＲがリセットされるようにしてもよい。この条件は、過渡運転を検出した場合に相当するが、ロングタイム学習値ＴＰＬの更新禁止条件としても使用することで、誤学習を抑制することができる。
【０１６５】
ブロックＢ１４０４では、ＣＡｔ−ＴＰマップと、ロングタイム学習値ＴＰＬを加算して補正した後の実際のＣＡｔ−ＴＰ関係とが、単調増加になるように、ロングタイム学習値ＴＰＬを制限する。これは誤学習を抑制するための処理でもあり、スロットル開度と吸入空気量の関係を単調増加に保つための処理である。ブロックＢ１４０５では、単調増加処理後のロングタイム学習値ＴＰＬを学習領域毎に記憶する。ブロックＢ１４０６では、リアルタイム学習値ＴＰＲとロングタイム学習値ＴＰＬとを加算してスロットル開度学習値ＴＰＬＲＮを算出する。
【０１６６】
なお、ブロックＢ１４０５では、ロングタイム学習値はバックアップメモリに記憶される。すなわち、エンジン１の停止中またはＥＣＵ１００の電源オフ時においては、リアルタイム学習値ＴＰＲはリセットされるが、ロングタイム学習値ＴＰＬはバックアップメモリにより保持される。
【０１６７】
次に、図１７および図１８を参照しながら、図１４に示したロングタイム学習値ＴＰＬの学習領域ごとの算出処理について具体的に説明する。図１７および図１８はロングタイム学習値の格納処理および単調増加処理を示す図である。図１５において、スロットル開度学習基本値ΔＴＰは、点ｂと点ｃとの間の差分であるが、これは点ａと点ｄとの間の学習値としても適用される。ここで、スロットル開度学習基本値ΔＴＰを、ＣＡｔ−ＴＰマップのＣＡｔ軸に対して、たとえば１対１に対応する学習領域ごとに分配して記憶する場合を考える。このとき、図１５に示すように、目標有効開口面積ＣＡｔ＊の前後のＣＡｔ軸に対応する学習領域と、実有効開口面積ＣＡｔｉの前後のＣＡｔ軸に対応する学習領域との少なくとも一方で、ロングタイム学習値ＴＰＬとして記憶することが可能である。
【０１６８】
なお、各ＣＡｔ軸に対応する学習領域に記憶されるロングタイム学習値ＴＰＬは、前回のロングタイム学習値ＴＰＬ（ｎ−１）に対して、スロットル開度学習基本値ΔＴＰに基づく予め設定された一定値を加算するか、または、この一定値から目標有効開口面積ＣＡｔ＊および実有効開口面積ＣＡｔｉの前後のＣＡｔ軸までの比に応じた値を算出し、これを加算することにより、算出することができる。また、目標有効開口面積ＣＡｔ＊と実有効開口面積ＣＡｔｉとの双方でロングタイム学習値ＴＰＬを記憶すれば、ロングタイム学習値ＴＰＬの収束時間を短縮することができる。
【０１６９】
このようにロングタイム学習値ＴＰＬを算出する場合、学習可能な条件は、更新禁止条件が不成立の場合のみなので、実際に学習が行われるのは、定常運転の常用域のみに限られる。また一般に、スロットル開度ＴＰと吸入空気量Ｑｔｈｖとは単調増加の関係にあるので、有効開口面積ＣＡｔとスロットル開度ＴＰとの関係も単調増加である必要がある。
【０１７０】
ところが、局所的に学習が行われた場合には、図１８内の破線および破線枠で示すように、ＣＡｔ−ＴＰマップ（実線参照）の値とロングタイム学習値ＴＰＬとの和（破線参照）が単調増加にならない場合が起こり得る。この場合、たとえば目標スロットル吸入空気量Ｑｔｈｖ＊が増加しているにも関わらず、学習補正後目標開度ＴＰＬＲＮ＊が減少するので、エンジン１の出力低下やスロットル開度学習値ＴＰＬＲＮの誤学習といった問題が生じる。
【０１７１】
そこで、ブロックＢ１４０４では、図１８内の点線および点線枠で示すように、ＣＡｔ−ＴＰマップ（実線）の値とロングタイム学習値ＴＰＬとの和（点線参照）が単調増加となるように、ロングタイム学習値ＴＰＬの学習領域毎にロングタイム学習値ＴＰＬを制限する処理を行う。これにより、スロットル開度学習値ＴＰＬＲＮの誤学習や誤作動を防止することができる。以上のようにすることで、スロットル開度の学習補正が実現でき、スロットル開度と有効開口面積の関係を学習することができる。
【０１７２】
このように、本実施の形態ではターボチャージャー付きのエンジン制御システムに、本発明の吸気系の物理モデルを適用することで、スロットル上流圧Ｐ２を推定できることを説明した。この推定Ｐ２を用いることで、スロットル上流圧センサのないシステムにおいても、シリンダ吸入空気量Ｑｃ等を精度良く算出することができる。また、スロットル上流圧センサのあるシステムにおいては、推定Ｐ２を用いてスロットル上流圧センサの故障診断等に適用することもできる。更にスロットル上流圧を補正することでより精度良くＰ２を推定することができ、この補正後Ｐ２を用いることで、シリンダ吸入空気量Ｑｃ等についてもより精度良く算出することができるようになる。
【０１７３】
以上のように、本実施の形態に係る内燃機関の制御装置は、内燃機関の吸気系に設けられたスロットルバルブ４と、スロットルバルブ４の開度を検出するスロットル開度センサ１４（スロットル開度検出部）と、スロットルバルブ４の上流の吸気系に設けられた圧縮機３１を有する過給機３６と、過給機３６の駆動状態を制御して圧縮機下流かつスロットルバルブ上流の過給部の圧力であるスロットル上流圧Ｐ２を制御するスロットル上流圧制御部（ＥＣＵ１００）と、圧縮機３１の上流に設けられ、吸入空気量Ｑａを検出するＡＦＳ１２（吸入空気量検出部）と、スロットルバルブ下流のインマニ部（インマニ５）の圧力をインマニ圧Ｐｂとして検出するインマニ圧センサ１５（インマニ圧検出部）と、インマニ部からシリンダ８が吸入するシリンダ吸入空気量Ｑｃをインマニ圧Ｐｂに基づいて算出するシリンダ吸入空気量算出部（ＥＣＵ１００）と、吸入空気量Ｑａとシリンダ吸入空気量Ｑｃとに基づいて過給部とインマニ部とを合わせた領域（図３の領域ｂ、ｃ、ｄ）の平均密度ρａｖｅ（ｎ）を算出し、インマニ圧Ｐｂと平均密度ρａｖｅ（ｎ）とに基づいてスロットル上流圧Ｐ２を推定してスロットル上流圧推定値（推定Ｐ２）として出力するスロットル上流圧推定部（ＥＣＵ１００）とを備えている。本実施の形態では、このような構成を備え、吸入空気量Ｑａとシリンダ吸入空気量Ｑｃに基づいて過給部とインマニ部とを合わせた領域（図３の領域ｂ、ｃ、ｄ）の平均密度ρａｖｅ（ｎ）を算出し、インマニ圧Ｐｂと平均密度ρａｖｅ（ｎ）に基づいてスロットル上流圧Ｐ２を推定することができ、スロットル上流圧推定値（推定Ｐ２）を用いて、例えば、スロットル制御やスロットル上流圧制御を行うことができる。また、スロットル上流圧センサのある過給機付きエンジン制御システム場合には、例えば、スロットル上流圧センサの故障判定に用いることもできる。
【０１７４】
また、本実施の形態に係る内燃機関の制御装置は、インマニ部の温度をインマニ温Ｔｂとして検出するインマニ温センサ１６（インマニ温検出部）と、過給部内に設けられ、過給部内の温度を低下させるためのＩ／Ｃ３０（インタークーラー）とをさらに備え、スロットル上流圧推定部（ＥＣＵ１００）は、インマニ温Ｔｂに基づいて過給部内のインタークーラー下流の温度Ｔ２ｄを推定するインタークーラー下流温度推定部を有し、インマニ圧Ｐｂと平均密度平均密度ρａｖｅ（ｎ）とインタークーラー下流温度Ｔ２ｄとに基づいてスロットル上流圧Ｐ２を推定するようにしたので、過給部内にインタークーラーのある過給機付きエンジン制御システム場合においてもスロットル上流圧を推定することができる。
【０１７５】
また、本実施の形態に係る内燃機関の制御装置においては、過給機３６は、内燃機関の排気系に設けられたタービン３２と、タービン３２と一体に回転する圧縮機３１とから構成される、ターボチャージャー３６であり、スロットル上流圧制御部（ＥＣＵ１００）は、タービン３２を迂回するバイパス通路３３に設けられたウェイストゲートバルブ３４を操作することにより、スロットル上流圧Ｐ２を制御するようにしたので、ウェイストゲートバルブ３４のあるターボチャージャー付きエンジン制御システム場合においてもスロットル上流圧Ｐ２を推定することができ、例えば、スロットル上流圧推定値（推定Ｐ２）を用いてフィードバック制御を行うことができる。
【０１７６】
また、本実施の形態に係る内燃機関の制御装置においては、ウェイストゲートバルブ３４が電動モータにより駆動されるようにしたので、電動ウェイストゲートバルブあるターボチャージャー付きエンジン制御システム場合においてもスロットル上流圧Ｐ２を推定することができる。
【０１７７】
また、本実施の形態に係る内燃機関の制御装置は、ドライバーのアクセル操作量を検出するアクセル開度センサ４０（アクセル開度検出部）と、アクセル操作量に基づいてスロットルバルブ４を通過させる目標吸入空気量（目標Ｑｔｈｖ＊）を算出し、目標吸入空気量（目標Ｑｔｈｖ＊）とインマニ圧Ｐｂとスロットル上流圧推定値（推定Ｐ２）と吸入空気量Ｑａとに基づいて、スロットルバルブ４を制御するスロットルバルブ制御部（ＥＣＵ１００）と、スロットルバルブ４の実スロットル開度ＴＰを検出するスロットル開度センサ１４（スロットル開度検出部）とをさらに備え、スロットルバルブ制御部は、測定により得られた予め適合されたスロットル開度ＴＰと有効開口面積ＣＡｔとの関係マップを記憶する関係マップ記憶部と、インマニ圧Ｐｂとスロットル上流圧推定値（推定Ｐ２）と吸入空気量Ｑａとに基づいてスロットルバルブ４の実有効開口面積ＣＡｔを算出する実有効開口面積算出部と、検出された実スロットル開度ＴＰと算出された実有効開口面積ＣＡｔとに基づいて前記関係マップを学習補正するスロットル開度学習部と、目標吸入空気量（目標Ｑｔｈｖ＊）とインマニ圧Ｐｂとスロットル上流圧推定値（推定Ｐ２）とに基づいてスロットルバルブ４の目標有効開口面積ＣＡｔ＊を算出する目標有効開口面積算出部と、前記学習補正された前記関係マップに基づいて、目標有効開口面積ＣＡｔ＊から目標スロットル開度ＴＰ＊を算出する目標スロットル開度算出部とを有するようにしたので、スロットル上流圧推定値（推定Ｐ２）を用いて、有効開口面積ＣＡｔとスロットル開度ＴＰの関係マップを学習し、精度良く目標吸入空気量を制御することができる。
【０１７８】
また、本実施の形態に係る内燃機関の制御装置においては、スロットル上流圧推定部は、実スロットル開度ＴＰと実有効開口面積ＣＡｔとの関係と前記学習補正された前記関係マップとの間の誤差及び前記誤差のばらつきを算出するばらつき算出部と、前記誤差のばらつきが予め設定された第１範囲（閾値Ｂ）以内であるかどうかを判定するばらつき範囲判定部と、実スロットル開度ＴＰと実有効開口面積ＣＡｔとの前記関係が、前記関係マップを基準として予め設定された第２範囲以内であるかどうか（実スロットル開度ＴＰが学習値下限から上限までの範囲であるかどうか）を判定する関係範囲判定部と、実スロットル開度ＴＰと実有効開口面積ＣＡｔの前記関係が前記第２範囲外で、かつ、前記誤差のばらつきが前記第１範囲外であった場合に、スロットル上流圧推定値（推定Ｐ２）を補正するスロットル上流圧補正部とを有するようにしたので、実スロットル開度ＴＰと実有効開口面積ＣＡｔの関係と、誤差のばらつきに基づいてスロットル上流圧推定値（推定Ｐ２）を補正することで、スロットル上流圧Ｐ２をより精度良く算出することができる。
【０１７９】
また、本実施の形態に係る内燃機関の制御装置においては、ばらつき算出部にて算出される前記誤差は、学習補正された前記関係マップに基づいて算出される実有効開口面積ＣＡｔに対する学習補正されたスロットル開度ＴＰと、実スロットル開度ＴＰとの、偏差として算出される、スロットル開度誤差であり、ばらつき算出部にて算出される前記誤差のばらつきは、スロットル開度誤差の分散又は標準偏差であるようにしたので、このようにして、誤差のばらつきとして分散又は標準偏差を用いることで、容易に誤差のばらつきを算出することができる。
【０１８０】
また、本実施の形態に係る内燃機関の制御装置においては、スロットル上流圧補正部は、実有効開口面積ＣＡｔに対する実スロットル開度ＴＰが予め定められたスロットル開度学習上限値よりも大きいときには、スロットル上流圧推定値（推定Ｐ２）を減少側に更新し、実有効開口面積ＣＡｔに対する実スロットル開度ＴＰが予め定められたスロットル開度学習下限値よりも小さいときには、スロットル上流圧推定値（推定Ｐ２）を増加側に更新するようにしたので、実スロットル開度ＴＰと実有効開口面積ＣＡｔの関係に基づいてスロットル上流圧推定値（推定Ｐ２）を補正することで、スロットル上流圧推定値（推定Ｐ２）をより精度良く算出することができる。
【符号の説明】
【０１８１】
１  エンジン、２  吸気管、３  エアクリーナ、４  スロットルバルブ、５  インマニ、７  排気管、８  シリンダ、１１  クランク角センサ、１２  ＡＦＳ、１３  吸気温センサ、１４  スロットル開度センサ、１５  インマニ圧センサ、１６  インマニ温センサ、１７  インジェクタ、１８  点火プラグ、１９  点火コイル、２０  吸気バルブ、２１  排気バルブ、２２  排気ガス浄化触媒、２３  空燃比センサ、３０  Ｉ／Ｃ、３１  圧縮機、３２  タービン、３３  ＡＢＶ、３４  ウェイストゲートバルブ、３５  スロットル上流圧センサ、３６  ターボチャージャー、１００  ＥＣＵ。
【図１】
0005888709.tif 000041
【図２】
0005888709.tif 000042
【図３】
0005888709.tif 000043
【図４】
0005888709.tif 000044
【図５】
0005888709.tif 000045
【図６】
0005888709.tif 000046
【図７】
0005888709.tif 000047
【図８】
0005888709.tif 000048
【図９】
0005888709.tif 000049
【図１０】
0005888709.tif 000050
【図１１】
0005888709.tif 000051
【図１２】
0005888709.tif 000052
【図１３】
0005888709.tif 000053
【図１４】
0005888709.tif 000054
【図１５】
0005888709.tif 000055
【図１６】
0005888709.tif 000056
【図１７】
0005888709.tif 000057
【図１８】
0005888709.tif 000058
【図１９】
0005888709.tif 000059