内燃機関の吸気パラメータ算出装置
【課題】吸気絞り弁が設けられている場合において、吸気パラメータを精度よく算出することができる内燃機関の吸気パラメータ算出装置を提供する。
【解決手段】吸気パラメータ算出装置1は、ECU2を備える。ECU2は、誤差KTHERRCORを、誤差モデル式(8)により算出し(ステップ2)、補正係数KTHCORを、誤差KTHERRCORと値1の和の逆数として算出し(ステップ3)、式(11)によって算出した基本通過空気量GAIRTHNを、補正係数KTHCORで補正することにより、通過空気量GAIRTHを算出する(ステップ6)。誤差モデル式(8)のモデルパラメータAは、モデル式値KTHCALと詰まり係数KCLSで補正した補正後マップ値KTH_Fとの比KTHERRを用い、式(15)〜(19)の均等重み付けのオンボード同定演算により算出される(ステップ48〜53)。
【解決手段】吸気パラメータ算出装置1は、ECU2を備える。ECU2は、誤差KTHERRCORを、誤差モデル式(8)により算出し(ステップ2)、補正係数KTHCORを、誤差KTHERRCORと値1の和の逆数として算出し(ステップ3)、式(11)によって算出した基本通過空気量GAIRTHNを、補正係数KTHCORで補正することにより、通過空気量GAIRTHを算出する(ステップ6)。誤差モデル式(8)のモデルパラメータAは、モデル式値KTHCALと詰まり係数KCLSで補正した補正後マップ値KTH_Fとの比KTHERRを用い、式(15)〜(19)の均等重み付けのオンボード同定演算により算出される(ステップ48〜53)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、内燃機関の吸気圧および吸入空気量などの、吸気通路内の空気の状態を表す吸気パラメータを算出する内燃機関の吸気パラメータ算出装置に関する。
【背景技術】
【0002】
従来、内燃機関の吸気パラメータ算出装置として、特許文献1に記載されたものが知られている。この吸気パラメータ算出装置は、吸気パラメータとしての要求吸気圧Pを算出するものであり、エアフローメータ、吸気圧センサおよびスロットルセンサなどを備えている。この吸気パラメータ算出装置では、アクセルペダルの操作量であるアクセル開度Accがスロットルセンサの検出信号に基づいて、実吸気量Gactがエアフローメータの検出信号に基づいて、実吸気圧Pactが吸気圧センサの検出信号に基づいてそれぞれ算出される。
【0003】
さらに、アクセル開度Accおよびエンジン回転数Neを用いて、要求軸トルクを算出し、これと要求吸気圧Pとの関係を定義した式(3)の吸気系モデルを用いて、要求吸気圧Pが算出される。この吸気系モデルは、気体の状態方程式から導出されたものであり、学習値Knを乗算係数として含んでいる。この学習値Knは、モデル化誤差を修正するためのものであり、その前回値とベース値Knbaseとのなまし演算(加重平均演算)によって算出される。このベース値Knbaseは、実吸気圧Pactと実吸気量Gactとの比を、吸気系モデルに基づいて算出した要求吸気圧Pと要求吸気量Gとの比で除算することにより算出される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−309993号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1の内燃機関のように、スロットル弁などの、吸気通路の開口面積を変更する吸気絞り弁が吸気通路に設けられている場合、吸気圧は、吸気通路の吸気絞り弁の下流側の圧力である関係上、吸気絞り弁の開度変化の影響を受けやすいという特性を有している。これに対して、特許文献1の吸気パラメータ算出装置の場合、要求吸気圧Pを、吸気絞り弁の開度を考慮することなく、気体の状態方程式から導出した吸気系モデルを用いて算出しているものに過ぎないので、算出精度が低いという問題がある。特に、過渡運転状態のように、吸気絞り弁の開度が変化しやすい条件下では、算出精度の低下度合が大きくなってしまう。
【0006】
本発明は、上記課題を解決するためになされたもので、吸気絞り弁が設けられている場合において、吸気パラメータを精度よく算出することができる内燃機関の吸気パラメータ算出装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、請求項1に係る発明は、吸気通路6に設けられた吸気絞り弁(スロットル弁7a)によって吸気絞り弁を通過する空気量が通過空気量として変更されるとともに、アイドル運転中の回転数NEが目標回転数NOBJに収束するように、吸気絞り弁の開度(スロットル弁開度TH)がフィードバック制御される内燃機関3において、吸気通路6内の空気の状態を表す吸気パラメータ(通過空気量GAIRTH、吸入空気量GAIR、吸気圧PBA)を算出する内燃機関3の吸気パラメータ算出装置1であって、吸気パラメータの基本値として基本吸気パラメータ(基本通過空気量GAIRTHN,基本吸入空気量GAIRN,基本吸気圧PBAN)を算出する基本吸気パラメータ算出手段(ECU2、ステップ6,90,110)と、所定のモデリング手法によって導出された、吸気絞り弁の上流側おける吸気通路6内の圧力である上流側圧力(大気圧PA)と、吸気絞り弁の下流側における吸気通路6内の圧力である下流側圧力(吸気圧PBA)と、吸気絞り弁の開度によって定まる開度関数値KTHと、通過空気量GAIRTHとの関係を定義したモデル式[式(7),(14),(24)]を用いて、開度関数値の第1の算出値として第1開度関数値(モデル式値KTHCAL)を算出する第1開度関数値算出手段(ECU2、ステップ14,103,123)と、吸気絞り弁の開度(スロットル弁開度TH)と開度関数値KTHとの相関関係を表す相関関係モデル(図2)を用いて、開度関数値の第2の算出値として第2開度関数値(マップ値KTH)を算出する第2開度関数値算出手段(ECU2、ステップ11,100,120)と、吸気絞り弁の開度(スロットル弁開度TH)をフィードバック制御するためのフィードバック補正量(積分項の学習値IXREF)に応じて、吸気通路6の詰まり度合を表す詰まり度合値(詰まり係数KCLS)を算出する詰まり度合値算出手段(ECU2、ステップ162〜166)と、算出された詰まり度合値(詰まり係数KCLS)を用いて、算出された第2開度関数値(マップ値KTH)を補正することにより、補正後第2開度関数値(補正後マップ値KTH_F)を算出する補正後第2開度関数値算出手段(ECU2、ステップ11,100,120)と、算出された第1開度関数値および算出された補正後第2開度関数値の一方と他方との比である関数値比(関数値誤差KTHERR)を用いて、補正値(補正係数KTHCOR、補正係数KAFMERR、補正項PBAERRCOR)を算出する補正値算出手段(ECU2、ステップ3,100〜107,120〜131)と、算出された補正値で基本吸気パラメータを補正することにより、吸気パラメータ(通過空気量GAIRTH、吸入空気量GAIR、吸気圧PBA)を算出する吸気パラメータ算出手段(ECU2、ステップ6,91,111)と、を備えることを特徴とする。
【0008】
この内燃機関の吸気パラメータ算出装置によれば、第1開度関数値が、吸気絞り弁の上流側おける吸気通路内の圧力である上流側圧力と、吸気絞り弁の下流側における吸気通路内の圧力である下流側圧力と、吸気絞り弁の開度によって定まる開度関数値と、通過空気量との関係を定義したモデル式を用いて算出され、第2開度関数値が、吸気絞り弁の開度と開度関数値との相関関係を表す相関関係モデルを用いて算出される。また、吸気絞り弁の開度をフィードバック制御するためのフィードバック補正量に応じて、吸気通路の詰まり度合を表す詰まり度合値が算出され、算出された詰まり度合値を用いて、算出された第2開度関数値を補正することにより、補正後第2開度関数値が算出される。さらに、算出された第1開度関数値および算出された補正後第2開度関数値の一方と他方との比である関数値比を用いて、補正値が算出され、このように算出された補正値で基本吸気パラメータを補正することにより、吸気パラメータが算出される。この場合、補正後第2開度関数値は、吸気通路の詰まり度合を表す詰まり度合値を用いて、第2開度関数値を補正することによって算出されるので、補正後第2開度関数値を、吸気通路の詰まり度合が反映された値として算出することができる。また、第1開度関数値および補正後第2開度関数値はいずれも、吸気絞り弁の開度によって定まる関数値であるとともに、そのような2つの値の比を用いて算出した補正値で基本吸気パラメータを補正することにより、吸気パラメータが算出されるので、吸気絞り弁の開度状態を反映させながら、吸気パラメータを算出することができる。これに加えて、第1開度関数値および補正後第2開度関数値の一方と他方との比である関数値比は、2つの開度関数値の間の差異、すなわちモデル式と相関関係モデルとの間の誤差を表すものとなるので、補正値を、そのような誤差を補正できるものとして算出することができる。以上により、過渡運転状態のような吸気絞り弁の開度が変化しやすい条件下や、吸気通路の詰まりが発生している条件下でも、吸気パラメータを従来よりも精度よく算出することができ、商品性を向上させることができる(なお、本明細書における「吸気通路の詰まり」は、吸気通路の詰まりに限らず、吸気絞り弁の詰まりも含むものとする)。
【図面の簡単な説明】
【0009】
【図1】本願発明の一実施形態に係る吸気パラメータ算出装置およびこれを適用した内燃機関の概略構成図である。
【図2】開度関数値のマップ値KTHの算出に用いるマップの一例を示す図である。
【図3】誤差モデル式として、関数値誤差KTHERRとスロットル弁開度THとの関係を定義した2次式を用いた場合の演算結果例を示す図である。
【図4】実施形態の誤差モデル式を用いた場合の演算結果例を示す図である。
【図5】通過空気量GAIRTHの算出処理を示すフローチャートである。
【図6】流量関数値FPBAPAの算出に用いるマップの一例を示す図である。
【図7】モデルパラメータ学習処理を示すフローチャートである。
【図8】学習条件判定処理を示すフローチャートである。
【図9】モデルパラメータAの同定演算処理を示すフローチャートである。
【図10】吸気パラメータ算出装置による同定演算処理結果の一例を示す図である。
【図11】同定演算処理結果の比較例を示す図である。
【図12】大気圧推定処理を示すフローチャートである。
【図13】推定大気圧HPAの算出処理を示すフローチャートである。
【図14】回転補正係数KTHNEの算出に用いるマップの一例を示す図である。
【図15】補正項CORHPAの算出に用いるマップの一例を示す図である。
【図16】吸入空気量GAIRの算出処理を示すフローチャートである。
【図17】基本吸入空気量GAIRNの算出に用いるマップの一例を示す図である。
【図18】補正係数KAFMERRの算出処理を示すフローチャートである。
【図19】吸気圧PBAの算出処理を示すフローチャートである。
【図20】補正項PBAERRCORの算出に用いるマップの一例を示す図である。
【図21】圧力比の補正演算用値R_PCORの算出に用いるマップの一例を示す図である。
【図22】アイドルFB制御処理を示すフローチャートである。
【図23】詰まり係数算出処理を示すフローチャートである。
【図24】スロットル弁開度の基準上限値thmaxおよび基準下限値thminの算出にそれぞれ用いるマップの一例を示す図である。
【発明を実施するための形態】
【0010】
以下、図面を参照しながら、本発明の一実施形態に係る内燃機関の吸気パラメータ算出装置について説明する。図1に示すように、本実施形態の吸気パラメータ算出装置1は、ECU2を備えており、このECU2は、後述するように、吸気パラメータとして、通過空気量GAIRTH、吸入空気量GAIRおよび吸気圧PBAを算出する。
【0011】
エンジン3は、図示しない車両に搭載されたガソリンエンジンタイプのものであり、このエンジン3には、燃料噴射弁4および点火プラグ5が気筒ごとに取り付けられている。この燃料噴射弁4は、ECU2に電気的に接続されており、その開弁時間および開弁タイミングがECU2によって制御され、それにより、燃料噴射制御が実行される。
【0012】
また、点火プラグ5も、ECU2に電気的に接続されており、ECU2によって、点火時期に応じたタイミングで燃焼室内の混合気を燃焼させるように、放電状態が制御される。すなわち、点火時期制御が実行される。
【0013】
エンジン3の吸気通路6には、上流側から順に、エアフローセンサ20、スロットル弁機構7、スロットル弁開度センサ21および吸気圧センサ22が設けられている。このエアフローセンサ20は、吸気通路6のエアフローセンサ20付近を流れる空気の流量(以下「吸入空気量」という)を検出して、それを表す検出信号をECU2に出力する。ECU2は、後述するように、このエアフローセンサ20の検出信号に基づいて、吸入空気量GAIRを算出する。この吸入空気量GAIRは、質量流量として算出される。
【0014】
スロットル弁機構7は、スロットル弁7aおよびこれを開閉駆動するTHアクチュエータ7bなどを備えている。スロットル弁7aは、吸気通路6の途中に回動自在に設けられており、当該回動に伴う開度の変化によりスロットル弁7aを通過する空気量を変化させる。THアクチュエータ7bは、ECU2に接続されたモータにギヤ機構(いずれも図示せず)を組み合わせたものであり、ECU2からの制御入力信号によって制御されることにより、スロットル弁7aの開度を変化させる。
【0015】
また、スロットル弁開度センサ21は、例えばポテンショメータなどで構成されており、スロットル弁7aの開度(以下「スロットル弁開度」という)THを検出して、それを表す検出信号を、ECU2に出力する。ECU2は、このスロットル弁開度センサ21の検出信号に基づいて、スロットル弁開度THを算出する。このスロットル弁開度THは、角度(゜)として算出される。なお、本実施形態では、スロットル弁7aが吸気絞り弁に相当し、スロットル弁開度THが吸気絞り弁の開度に相当する。
【0016】
さらに、吸気圧センサ22は、吸気通路6のスロットル弁7aよりも下流側のサージタンクの部分に配置されており、吸気通路6内の圧力(以下「吸気圧」という)を検出して、それを表す検出信号をECU2に出力する。ECU2は、後述するように、この吸気圧センサ22の検出信号に基づいて、吸気圧PBAを算出する。この吸気圧PBAは絶対圧として算出される。
【0017】
一方、ECU2には、吸気温センサ23、大気圧センサ24、クランク角センサ25および4つの車輪速度センサ26(1つのみ図示)がそれぞれ電気的に接続されている。これらの吸気温センサ23および大気圧センサ24はそれぞれ、吸気通路6内の空気の温度(以下「吸気温」という)および大気の圧力(以下「大気圧」という)を検出して、それを表す検出信号をECU2に出力する。
【0018】
ECU2は、これらの吸気温センサ23および大気圧センサ24の検出信号に基づき、吸気温TAおよび大気圧PAをそれぞれ算出する。この吸気温TAは絶対温度として、大気圧PAは絶対圧としてそれぞれ算出される。
【0019】
また、クランク角センサ25は、マグネットロータおよびMREピックアップで構成されており、図示しないクランクシャフトの回転に伴い、いずれもパルス信号であるCRK信号およびTDC信号をECU2に出力する。このCRK信号は、所定クランク角(例えば2゜)毎に1パルスが出力され、ECU2は、このCRK信号に基づき、エンジン3の回転数(以下「エンジン回転数」という)NEを算出する。また、TDC信号は、各気筒のピストンが吸気行程のTDC位置よりも若干、手前の所定のクランク角位置にあることを表す信号であり、所定クランク角毎に1パルスが出力される。
【0020】
さらに、4つの車輪速センサ26の各々は、対応する車輪の回転速度を検出して、それを表す検出信号をECU2に出力する。ECU2は、これらの車輪速センサの検出信号に基づいて、車速VPや、エンジン始動後の総走行距離DISTなどを算出する。
【0021】
一方、ECU2は、CPU、RAM、ROMおよびI/Oインターフェース(いずれも図示せず)などからなるマイクロコンピュータで構成されており、以上の各種のセンサ20〜26の検出信号などに基づいて、エンジン回転数NEなどの、エンジン3の運転状態を表す各種の運転状態パラメータを算出するとともに、以下に述べるように、通過空気量GAIRTHの算出処理などの各種の算出処理や、アイドルFB制御処理などの各種の制御処理を実行する。
【0022】
なお、本実施形態では、ECU2が、基本吸気パラメータ算出手段、第1開度関数値算出手段、第2開度関数値算出手段、詰まり度合値算出手段、補正後第2開度関数値算出手段、補正値算出手段および吸気パラメータ算出手段に相当する。
【0023】
以下、本実施形態における通過空気量GAIRTHの算出手法の原理について説明する。本実施形態のエンジン3の場合、スロットル弁7aが吸気通路6に設けられているので、このスロットル弁7aを通過する空気(以下「通過空気」という)を圧縮性流体かつ断熱流であると見なしかつスロットル弁7aをノズルと見なしてモデリングすると、下式(1)に示すモデル式が得られる。
【数1】
【0024】
上式(1)において、uは通過空気の流速を、P1,P2はスロットル弁7aの上流側および下流側圧力を、ρ1はスロットル弁7aの上流側の吸入空気の密度を、κは吸入空気の比熱比をそれぞれ表している。
【0025】
次に、通過空気の流量をG、スロットル弁7aの開口面積をAth、スロットル弁7aの流量係数をCd、空気の温度をT、空気のガス定数をRとし、連続の式および気体の状態方程式を適用して変形すると、下式(2)が得られる。
【数2】
【0026】
ここで、上式(2)の圧力比P2/P1の項を流量関数値Ψとして下式(3)のように定義し、これを用いて上式(2)を書き換えると、下式(4)が得られる。
【数3】
【数4】
【0027】
上式(4)において、開口面積Athおよび流量係数Cdはいずれも、スロットル弁開度THによって決まる関数であるので、値Cd・Athを開度関数値KTH(=Cd・Ath)と定義し、これを用いて上式(4)を書き換えると、下式(5)が得られる。
【数5】
【0028】
上式(5)において、スロットル弁7aの上流側における圧力損失を無視し、上流側圧力P1を大気圧PAに置き換え、流量Gを通過空気量GAIRTHに、温度Tを吸気温TAにそれぞれ置き換えるとともに、流量関数値ΨをFPBAPA、気体定数Rの平方根をRGAS(=R1/2)、吸気温TAの平方根をRTTA(=TA1/2)とそれぞれ表記すると、下式(6)に示すモデル式が得られる。なお、下式(6)のKCは、通過空気量GAIRTHの単位を(g/sec)に変換するための変換係数である。
【数6】
【0029】
上式(6)において、流量関数値FPBAPAは、吸気圧PBAと大気圧PAとの比である圧力比R_P(=PBA/PA)によって決まる値であるので、後述するように、圧力比R_Pに応じて、マップを検索することにより算出される。また、上式(6)をKTHについて整理するとともに、通過空気量GAIRTHを吸入空気量GAIRに置き換えると、下式(7)が得られる。
【数7】
【0030】
ここで、開度関数値KTHは、スロットル弁開度THによって決まる関数値であり、この開度関数値KTHとスロットル弁開度THとの実際の関係を測定し、マップを作成した場合(すなわちオフラインで同定した場合)、図2に示すものが得られる。上記式(7)によって算出した開度関数値をモデル式値KTHCALとし、図2のマップ検索により算出した開度関数値をマップ値KTHとするとともに、モデル式値KTHCALとマップ値KTHとの比を値KTHERR(=KTHCAL/KTH)とした場合、KTHERR=1のときには、KTH=KTHCALとなり、モデル式(6)のモデル化誤差がないことになる。一方、値KTHERRが値1に対して乖離している場合、その乖離度合が大きいほど、マップ値KTHに対するモデル式値KTHCALの乖離度合が大きいことになり、前述したモデル式(6)のモデル化誤差が大きいことになる。
【0031】
以上のように、値KTHERRはモデル式(6)のモデル化誤差を表すものであり、以下の説明では、値KTHERRを「関数値誤差KTHERR」という。この関数値誤差KTHERRは、主に、標準品(基準品)に対するスロットル弁7aの開口面積のずれに起因して発生する。このずれは、標準品に基づいて設定されたマップ値KTHに対する実製品のずれであり、例えば、スロットルボア径の精度ばらつきや、スロットルボアに付着したカーボンなどの異物に起因して発生するものである。以下の説明では、このずれを「第1誤差」という。また、関数値誤差KTHERRの算出において、エアフローセンサ20および吸気圧センサ22の検出信号を用いている関係上、関数値誤差KTHERRは、エアフローセンサ20の検出誤差(以下「第2誤差」という)や、吸気圧センサ22の検出誤差(以下「第3誤差」という)に起因しても発生する。
【0032】
この第1誤差の場合、スロットル弁開度THが大きくなるほど(すなわち、スロットル弁7aの開口面積が大きくなるほど)、関数値誤差KTHERRに対する影響は小さくなるので、スロットル弁開度THが所定開度THB以上となる領域では、第1誤差を無視することができる。なお、この所定開度THBは、実験的に求めることも可能であるとともに、スロットル弁7aの開口面積の許容誤差に基づいて演算することも可能である。また、圧力比R_Pが臨界圧力比R_CRIT未満の場合、流量関数値FPBAPAは一定値となるので、R_P<R_CRITの領域では、関数値誤差KTHERRは吸気圧センサ22の検出誤差の影響を受けなくなる。したがって、圧力比R_Pが臨界圧力比R_CRITとなるスロットル弁開度THをTH_CRITとすると、TH<TH_CRITの領域(すなわちR_P<R_CRITの領域)では、第3誤差を無視することができる。その結果、THB≦TH<TH_CRITの領域(すなわちTHB≦THかつR_P<R_CRITが成立する領域)では、第1誤差および第3誤差を無視することができるので、関数値誤差KTHERRによって第2誤差を特定することが可能となる。
【0033】
以上の理由により、本実施形態の場合、後述するように、TH<THBの領域では、第1誤差を補償(補正)するために、関数値誤差KTHERRを用いて、基本通過空気量GAIRTHN補正用の補正係数KTHCORが算出され、THB≦THかつR_P<R_CRITの領域では、第2誤差を補償するために、関数値誤差KTHERRを用いて、基本吸入空気量GAIRN補正用の補正係数KAFMERRが算出され、TH_CRIT≦THの領域(すなわちR_CRIT≦R_Pの領域)では、第3誤差を補償するために、関数値誤差KTHERRを用いて、基本吸気圧PBAN補正用の補正項PBAERRCORが算出される。
【0034】
また、エンジン3の使用期間が長くなるのに伴って、吸気通路6やスロットル弁14aの詰まり(以下「吸気通路6の詰まり」という)が発生すると、図2のスロットル弁開度THとマップ値KTHmapとの関係は、スロットル弁開度THと開度関数値との実際の関係に対して誤差(以下「詰まり誤差」という)を生じてしまうことになる。この詰まり誤差を補償するために、本実施形態では、後述する手法によって、吸気通路6の詰まり度合を表す詰まり係数KCLSを算出し、これを用いてマップ値KTHを補正することによって、開度関数値の補正後マップ値KTH_Fが算出される。そして、この補正後マップ値KTH_Fがマップ値KTHに代えて用いられるとともに、関数値誤差KTHERRとして、上記モデル式値KTHCALと補正後マップ値KTH_Fとの比(=KTHCAL/KTH_F)が用いられる。なお、本実施形態では、図2のマップが相関関係モデルに、モデル式値KTHCALが第1開度関数値に、マップ値KTHが第2開度関数値に、補正後マップ値KTH_Fが補正後第2開度関数値に、関数値誤差KTHERRが関数値比にそれぞれ相当する。
【0035】
以下、上述した第1誤差を補償しながら、通過空気量GAIRTHを算出する手法について説明する。まず、関数値誤差KTHERRから値1を減算した値を誤差KTHERRCOR(=KTHERR−1)とする。この場合、前述したように、値KTHERRが値1に対して乖離している度合がモデル化誤差を表すので、誤差KTHERRCORは、モデル化誤差を表すものとなり、誤差モデル式を、下式(8)のように定義する。なお、この誤差モデル式(8)を用いた理由については後述する。
【数8】
【0036】
この誤差モデル式(8)のAはモデルパラメータであり、このモデルパラメータAをオンボード同定する演算手法として、最小2乗法を用いた場合、モデルパラメータAの同定演算式として、下式(9)が得られる。
【数9】
【0037】
なお、後述するように、モデルパラメータAの実際の演算では、上式(9)に基づき、スロットル弁開度THのサンプリング領域が偏った場合でも、モデルパラメータAの同定結果における算出精度の低下を回避できるような演算手法が用いられる。
【0038】
次に、同定したモデルパラメータAを用いて、前述した(8)により、誤差KTHERRCORを算出した後、下式(10)により、誤差補正係数KTHCORを算出する。
【数10】
【0039】
上式(10)に示すように、誤差補正係数KTHCORは、誤差KTHERRCORと値1との和、すなわち関数値誤差KTHERRの逆数に相当する値として算出される。これは以下の理由による。すなわち、関数値誤差KTHERRがモデル式値KTHCALと補正後マップ値KTH_Fとの比である以上、例えば、KTHERR>1の場合、言い換えればモデル式値KTHCALが補正後マップ値KTH_Fを上回っている場合には、その上回っている分を補正するために、関数値誤差KTHERRで通過空気量GAIRTHを除算すればよいことになる。一方、KTHERR<1の場合、すなわちモデル式値KTHCALが補正後マップ値KTH_Fを下回っている場合には、その下回っている分を補正するために、関数値誤差KTHERRで通過空気量GAIRTHを除算すればよいことになる。これに対して、誤差補正係数KTHCORは、後述するように乗算係数として用いられるので、モデル式値KTHCALが補正後マップ値KTH_Fに対して下回っている分または上回っている分を補正するために、関数値誤差KTHERRの逆数に相当する値として算出される。
【0040】
そして、最終的に、誤差補正係数KTHCORを用いて、下式(11),(12)により、通過空気量GAIRTHが算出される。
【数11】
【数12】
【0041】
ここで、上式(11)のGAIRTHNは、基本通過空気量であり、HPAは、後述するように算出される推定大気圧である。この式(11)は、前述した式(7)の通過空気量GAIRTHを基本通過空気量GAIRTHNに、開度関数値KTHを補正後マップ値KTH_Fに、大気圧PAを推定大気圧HPAにそれぞれ置き換えたものに相当する。この式(11)において、大気圧PAに代えて、推定大気圧HPAを用いたのは、大気圧PAの変動を回避しながら、通過空気量GAIRTHの算出精度を向上させるためである。上式(12)に示すように、通過空気量GAIRTHは、基本通過空気量GAIRTHNを補正係数KTHCORで補正することにより算出される。なお、本実施形態では、基本通過空気量GAIRTHNが基本吸気パラメータに相当し、補正係数KTHCORが補正値に相当する。
【0042】
次に、前述した誤差モデル式(8)を用いた理由について説明する。まず、開度関数値KTHは、前述したように、開口面積Athおよび流量係数Cdの積であり、スロットル弁7aの半径の2乗値との相関性が高い以上、誤差モデル式としては、誤差を従属変数とし、スロットル弁開度THを独立変数とする2次式を用いた方が、良好な算出精度が得られることになる。その場合、THB≦THの領域では、関数値誤差KTHERRは、前述したように、スロットル弁開度THの算出誤差ではなく、吸入空気量GAIRまたは吸気圧PBAの算出誤差に起因して発生する関係上、吸入空気量GAIRおよび吸気圧PBAの算出誤差がない条件下では、図3に示すように、関数値誤差KTHERR=1となるので、誤差モデル式のモデルパラメータAを同定する必要がないことになる。
【0043】
これに加えて、図3に示すように、誤差モデル式として、関数値誤差KTHERRを従属変数Yとし、スロットル弁開度THを独立変数Xとする2次式を用いた場合、その誤差モデル式は、Y=a・X2+b・X+c(a,b,cはモデルパラメータ)の形式となることで、3つのモデルパラメータa,b,cを同定する必要が生じる。その結果、同定演算が複雑になり、演算負荷が高くなってしまう。なお、図3の黒丸は、関数値誤差KTHERRの制御タイミングごとの演算結果を示している。
【0044】
これに対して、上記(8)式を用いた場合、図4に示すように、誤差KTHERRCORを従属変数Yとし、TH−THBを独立変数Xとすると、誤差モデル式がY=A・X2の形式となることで、1つのモデルパラメータAのみを同定すればよくなり、それによって、同定演算も容易になり、その演算負荷を低減できることになる。以上の理由により、本実施形態では、誤差モデル式として式(8)が用いられる。なお、図4の黒丸は、誤差KTHERRCORの制御タイミングごとの演算結果を示している。
【0045】
以下、図5を参照しながら、通過空気量GAIRTHの算出処理について説明する。この算出処理は、前述した算出手法によって通過空気量GAIRTHを算出するものであり、ECU2によって、CRK信号が所定回数発生するごと(すなわち所定クランク角ごと)に実行される。なお、以下の説明では、算出された各種の値はすべてECU2のRAM内に記憶されるものとするとともに、今回の制御タイミングにおいてRAMから読み出す値すなわち前回の制御タイミングで算出された値を前回値という。
【0046】
同図に示すように、まず、ステップ1(図では「S1」と略す。以下同じ)で、スロットル弁開度THが所定開度THB未満であるか否かを判別する。この判別結果がYESのときには、誤差補正係数KTHCORによって通過空気量GAIRTHを補正する必要があると判定して、ステップ2に進み、前述した式(8)により、誤差KTHERRCORを算出する。
【0047】
次いで、ステップ3で、前述した式(10)により、誤差補正係数KTHCORを算出する。
【0048】
一方、ステップ1の判別結果がNOのときには、誤差補正係数KTHCORによって通過空気量GAIRTHを補正する必要がないと判定して、ステップ4に進み、誤差補正係数KTHCORを値1に設定する。
【0049】
以上のステップ3または4に続くステップ5で、圧力比R_PHに応じて、図6に示すマップを検索することにより、流量関数値FPBAPAを算出する。この圧力比R_PHは、吸気圧PBAと前述した推定大気圧HPAとの比PBA/HPAに相当する値である。この場合、圧力比R_PHを用いた理由は、前述した推定大気圧HPAを用いた理由と同じであり、推定大気圧HPAは、RAM内に記憶されている、大気圧推定処理で算出された値を用いる。
【0050】
次に、ステップ6に進み、前述した式(11),(12)により、通過空気量GAIRTHを算出する。この場合、吸気温TAの平方根RTTAおよび開度関数値KTHは、RAM内に記憶されている、後述するモデルパラメータ学習処理において算出された値を用いる。以上のように、ステップ6で、通過空気量GAIRTHを算出した後、本処理を終了する。
【0051】
なお、図5の算出処理で算出された通過空気量GAIRTHは、ECU2によって実行される各種の制御処理において用いられる。例えば、燃料噴射制御処理および点火時期制御処理において、過渡運転条件下で、燃料噴射量や点火時期を算出する際、後述するように算出された吸入空気量GAIRを補正するのに用いられる。
【0052】
以下、図7を参照しながら、モデルパラメータ学習処理について説明する。この処理は、関数値誤差KTHERRを反映させながら、誤差モデルのモデルパラメータAの同定演算を行うもの、言い換えればモデルパラメータAの同定値を学習するものであり、ECU2によって、CRK信号が所定回数発生するごとに実行される。
【0053】
同図に示すように、まず、ステップ10で、学習条件フラグF_LEARNが「1」であるか否かを判別する。この学習条件フラグF_LEARNは、モデルパラメータAの同定値の学習条件が成立しているか否かを表すものであり、その値は、図8に示す手法により設定される。
【0054】
同図8に示すように、まず、ステップ20で、エンジン始動後の車両の総走行距離DISTが所定値DLEARN未満であるか否かを判別する。この判別結果がYESのときには、モデルパラメータAの同定値の学習条件が成立していると判定して、ステップ21に進み、それを表すために、学習条件フラグF_LEARNを「1」に設定する。その後、本処理を終了する。
【0055】
一方、ステップ20の判別結果がNOのときには、モデルパラメータAの同定値の学習条件が成立していないと判定して、ステップ22に進み、それを表すために、学習条件フラグF_LEARNを「0」に設定する。その後、本処理を終了する。
【0056】
図7に戻り、ステップ10の判別結果がNOで、モデルパラメータAの同定値の学習条件が成立していないときには、そのまま本処理を終了する。一方、ステップ10の判別結果がYESで、モデルパラメータAの同定値の学習条件が成立しているときには、ステップ11に進み、下式(13)により、開度関数値の補正後マップ値KTH_F(補正後第2開度関数値)を算出する。
【数13】
【0057】
上式(13)において、KREFは、所定の定数(例えば値0.003)であり、THREFは、詰まりの影響がなくなるような開度(例えば15度)である。さらに、詰まり係数KCLS(詰まり度合値)は、吸気通路6の詰まり度合を表すものであり、後述する手法により算出されるとともに、吸気通路6の詰まり度合が最も大きいときにKCLS=1となる。また、マップ値KTHは、スロットル弁開度THに応じて、前述した図2のマップを検索することにより算出される。上式(13)に示すように、補正後マップ値KTH_Fは、マップ値KTHを値KREF・(TH−THREF)2・KCLSで補正することにより、吸気通路6の詰まり度合が反映された値として算出されるとともに、KCLS=1のときに最も詰まり度合が大きい状態での開度関数値として算出される。
【0058】
次いで、ステップ12に進み、流量関数値の同定用値FPBAPAiniを算出する。この同定用値FPBAPAiniは、前述した図6の縦軸の流量関数値FPBAPAを同定用値FPBAPAiniに、横軸の圧力比R_PHを圧力比R_PHiにそれぞれ置き換えたマップを、圧力比R_PHiに応じて検索することにより算出される。この圧力比R_PHiは、吸気圧PBAと初期推定大気圧HPAiniとの比PBA/HPAiniとして算出され、この初期推定大気圧HPAiniは、RAM内に記憶されている、大気圧推定処理で算出された値を用いる。この初期推定大気圧HPAiniを用いた理由については後述する。
【0059】
次に、ステップ13で、吸気温TAに応じて、図示しないマップを検索することにより、吸気温TAの平方根RTTAを算出する。その後、ステップ14で、下式(14)により、開度関数値のモデル式値KTHCALを算出する。
【数14】
【0060】
この場合、上式(14)は、前述した式(7)において、開度関数値KTHをモデル式値KTHCALに、大気圧PAを推定大気圧の初期値HPAiniに、流量関数値FPBAPAを流量関数値の同定用値FPBAPAiniにそれぞれ置き換えたものに相当する。なお、これらの値HPAini,FPBAPAiniを用いた理由については後述する。
【0061】
ステップ14に続くステップ15で、関数値誤差KTHERRを、モデル式値と補正後マップ値との比KTHCAL/KTH_Fに設定する。
【0062】
次いで、ステップ16に進み、スロットル弁開度THが前述した所定開度THB未満であるか否かを判別する。この判別結果がNOのときには、そのまま本処理を終了する。
【0063】
一方、ステップ16の判別結果がYESのときには、スロットル弁開度THが、前述した第1誤差に起因してモデル化誤差が発生する領域にあり、モデルパラメータAの同定演算を行うべきであると判定して、ステップ17に進み、後述するように、モデルパラメータAの同定演算処理を実行する。その後、本処理を終了する。
【0064】
以上のように、このモデルパラメータ学習処理では、学習条件フラグF_LEARN=1のときに、初期推定大気圧HPAiniおよび流量関数値の同定用値FPBAPAiniを用いて、関数値誤差KTHERRが算出される。このような手法によって、関数値誤差KTHERRを算出するのは以下の理由による。すなわち、本実施形態の場合、大気圧PAの推定値を用いて、関数値誤差KTHERRを算出している関係上、この大気圧の推定値に誤差が含まれていると、前述した第1〜第3誤差の補償精度(修正精度)が低下し、ひいては、後述するように、これらの第1〜第3誤差を補償しながら算出された3つの値HGAIRTH,GAIR,PBAを用いて算出される推定大気圧HPAの算出精度(推定精度)も低下してしまう。この場合、そのような大気圧PAの推定誤差の影響を排除するには、吸気圧センサ22の検出信号から算出された吸気圧PBAが大気圧PAの真値と等しくなり、かつ大気圧PAの真値がほとんど変動しない条件下で、関数値誤差KTHERRを算出する必要がある。したがって、それを達成するために、本実施形態では、学習条件フラグF_LEARNを用いて、学習条件の成立を確認するととともに、初期推定大気圧HPAiniおよび流量関数値の同定用値FPBAPAiniを用いて、関数値誤差KTHERRを算出するように構成されている。
【0065】
次に、図9を参照しながら、モデルパラメータAの同定演算処理について説明する。この処理では、以下に述べるように、スロットル弁開度THの領域を、0≦TH<THN1の第1領域と、THN1≦TH<THN2の第2領域と、THN2≦TH<THN3の第3領域と、THN3≦TH<THBの第4領域とに区分けするとともに、これらの4つの領域に対して均等な重み付け処理を施しながら、前述した同定演算式(9)に基づく演算手法によって、モデルパラメータAが算出される。この場合、THN1〜3は、スロットル弁開度THの所定開度であり、0<THN1<THN2<THN3<THBが成立するように設定される。
【0066】
同図に示すように、まず、ステップ40で、誤差KTHERRCORを、関数値誤差KTHERRと値1との偏差KTHERR−1に設定する。次いで、ステップ41に進み、スロットル弁開度THが所定値THN1未満であるか否かを判別する。この判別結果がYESで、スロットル弁開度THが第1領域にあるときには、ステップ44に進み、領域値nを値1に設定する。
【0067】
一方、ステップ41の判別結果がNOで、THN1≦THのときには、ステップ42に進み、スロットル弁開度THが所定値THN2未満であるか否かを判別する。この判別結果がYESで、スロットル弁開度THが第2領域にあるときには、ステップ45に進み、領域値nを値2に設定する。
【0068】
一方、ステップ42の判別結果がNOで、THN2≦THのときには、ステップ43に進み、スロットル弁開度THが所定値THN3未満であるか否かを判別する。この判別結果がYESで、スロットル弁開度THが第3領域にあるときには、ステップ46に進み、領域値nを値3に設定する。
【0069】
一方、ステップ43の判別結果がNOで、スロットル弁開度THが第4領域にあるときには、ステップ47に進み、領域値nを値4に設定する。以上のように、領域値nは、スロットル弁開度THの4つの領域を表す値として算出される。
【0070】
以上のステップ44〜47に続くステップ48で、下式(15)により、第n領域の積分項XXXX[n]を算出する。
【数15】
【0071】
上式(15)において、積分項XXXX[n]は、前述した同定演算式(9)の分母に相当する値であり、値XXXX[n]zは積分項の前回値を表している。また、積分項XXXX[n]の[]内の値nは、上述した領域値であり、この点は以下の説明においても同様である。すなわち、このステップ48では、例えば、領域値n=1のときには第1領域の積分項XXXX[1]が、n=2のときには第2領域の積分項XXXX[2]がそれぞれ算出される。
【0072】
次いで、ステップ49で、下式(16)により、第n領域の積分項XXY[n]を算出する。
【数16】
【0073】
上式(16)において、積分項XXY[n]は、前述した同定演算式(9)の分子に相当する値であり、値XXY[n]zは積分項の前回値を表している。
【0074】
ステップ49に続くステップ50で、第n領域のサンプリング数SAMPL[n]を、その前回値と値1の和(SAMPL[n]z+1)に設定する。このサンプリング数SAMPL[n]は、第n領域における積分項のサンプリング数すなわち演算結果数を表している。
【0075】
次いで、ステップ51に進み、下式(17)により、加重平均値XXXXTTLを算出する。
【数17】
【0076】
上式(17)を参照すると明らかなように、加重平均値XXXXTTLは、値(TH−THB)4の相加平均値を領域ごとに算出するとともに、これらの相加平均値に対して、均等重み付けでの加重平均演算を施すことにより算出される。
【0077】
次に、ステップ52で、下式(18)により、加重平均値XXYTTLを算出する。
【数18】
【0078】
上式(18)を参照すると明らかなように、加重平均値XXYTTLは、値KTHERRCOR・(TH−THB)2の相加平均値を領域ごとに算出するとともに、これらの相加平均値に対して、均等重み付けでの加重平均演算を施すことにより算出される。
【0079】
ステップ52に続くステップ53で、下式(19)により、モデルパラメータAを算出した後、本処理を終了する。
【数19】
【0080】
以上のように、このモデルパラメータAの同定演算処理では、スロットル弁開度THの領域ごとに算出した値KTHERRCOR・(TH−THB)2の4つの相加平均値に対して、均等重み付けでの加重平均演算を施すことにより、加重平均値XXYTTLを算出し、領域ごとに算出した値(TH−THB)4の4つの相加平均値に対して、均等重み付けでの加重平均演算を施すことにより、加重平均値XXXXTTLを算出し、前者を後者で除算することにより、モデルパラメータAが算出される。この演算手法の利点を、図10および図11を参照しながら説明する。
【0081】
図10は、本実施形態の上述した同定演算手法で算出したモデルパラメータAを用いて、誤差KTHERRCORを演算した場合の演算結果例を示しており、図11は、比較のために、前述した式(9)により算出したモデルパラメータAを用いて、誤差KTHERRCORを演算した場合の演算結果例を示している。なお、両図中の■で示すデータは演算開始直後のものを、▽で示すデータは■で示すデータよりも演算時間が経過したときのものを、×で示すデータは▽で示すデータよりも演算時間がさらに経過したときのものをそれぞれ表している。
【0082】
両図を比較すると明らかなように、図11の場合、演算時間の経過に伴い、スロットル弁開度THのサンプリングデータの多い領域での演算結果が、モデルパラメータAの演算結果に反映される度合が高くなってしまい、その結果、誤差KTHERRCORの演算結果を示す曲線が変化していることが判る。すなわち、モデルパラメータAの同定精度が低下していることが判る。これに対して、図10に示す本実施形態の手法の場合、演算時間が経過した際、スロットル弁開度THのサンプリングデータがある領域に偏った状態になったとしても、前述した均等重み付けの手法により、その領域での演算結果がモデルパラメータAの演算結果に反映される度合が他の領域と同じようになることで、誤差KTHERRCORの演算結果を示す曲線が変化していないことが判る。すなわち、モデルパラメータAの同定演算結果において、高い算出精度を確保できていることが判る。
【0083】
次に、図12を参照しながら、大気圧推定処理について説明する。この処理は、以下に述べるように、推定大気圧HPAおよびその初期値である初期推定大気圧HPAiniを算出するものであり、ECU2によって、クランキング開始以降、CRK信号が所定回数発生するごとに実行される。
【0084】
同図に示すように、まず、ステップ60で、初期圧算出済みフラグF_FINHPAINIが「1」であるか否かを判別する。この判別結果がNOのときには、ステップ61に進み、初期推定大気圧HPAiniを算出する。このステップ61では、初期推定大気圧の前回値HPAinizと吸気圧PBAを比較し、両者のうちの大きい方が、初期推定大気圧HPAiniとして設定される。
【0085】
次いで、ステップ62に進み、始動モードフラグF_STMODが「1」であるか否かを判別する。この始動モードフラグF_STMODは、エンジン3のクランキングが終了するまでの間は「1」に設定され、クランキングが終了したときに「0」に設定される。このステップ62の判別結果がYESで、クランキング中のときには、そのまま本処理を終了する。
【0086】
一方、ステップ62の判別結果がNOで、クランキングが終了したときには、初期推定大気圧HPAiniの算出を終了すべきであると判定して、ステップ63に進み、それを表すために、初期圧算出済みフラグF_FINHPAINIを「1」に設定した後、本処理を終了する。
【0087】
このように、ステップ63で、初期圧算出済みフラグF_FINHPAINIが「1」に設定されると、前述したステップ60の判別結果がYESとなり、その場合には、ステップ64に進み、推定大気圧HPAの算出処理を以下に述べるように実行する。その後、本処理を終了する。
【0088】
次に、図13を参照しながら、推定大気圧HPAの算出処理について説明する。同図に示すように、まず、ステップ70で、初期設定フラグF_FINHPAINIRが「1」であるか否かを判別する。今回のループが本処理の1回目の制御タイミングであるときには、ステップ70の判別結果がNOとなり、その場合には、ステップ71に進み、推定大気圧HPAおよび遅延大気圧HPADをいずれも初期推定大気圧HPAiniに設定する。
【0089】
次いで、ステップ72に進み、初期設定フラグF_FINHPAINIRを「1」に設定した後、本処理を終了する。
【0090】
このように、ステップ72で、初期設定フラグF_FINHPAINIRが「1」に設定されると、前述したステップ70の判別結果がYESとなり、その場合には、ステップ73に進み、前述した図7のステップ11と同じ手法により、開度関数値の補正後マップ値KTH_Fを算出する。
【0091】
次いで、ステップ74に進み、流量関数値FPBAPAを算出する。このステップ74では、圧力比R_PHDを、吸気圧PBAと前述した遅延推定大気圧HPADとの比PBA/HPDAとして算出するとともに、前述した図6のマップにおいて、横軸の圧力比R_PHを圧力比R_PHDに置き換えたマップを用い、このマップを圧力比R_PHDに応じて検索することにより、流量関数値FPBAPAが算出される。
【0092】
次に、ステップ75に進み、前述した図7のステップ13と同様に、吸気温TAに応じて、図示しないマップを検索することにより、吸気温TAの平方根RTTAを算出する。その後、ステップ76で、エンジン回転数NEに応じて、図14に示すマップを検索することにより、回転数補正係数KTHNEを算出する。この回転補正係数KTHNEは、エアフローセンサ20よりも上流側に配置されたエアクリーナ(図示せず)の圧力損失を補正するための値である。
【0093】
ステップ76に続くステップ77で、下式(20)により、推定通過空気量HGAIRTHを算出する。
【数20】
【0094】
この式(20)は、前述した式(6)において、右辺の通過空気量GAIRTHを推定通過空気量HGAIRTHに、左辺の大気圧PAおよび開度関数KTHを遅延推定大気圧HPADおよび補正後マップ値KTH_Fにそれぞれ置き換えたものに相当する。
【0095】
次いで、ステップ78に進み、下式(21)により、空気量偏差DGAIRを算出する。
【数21】
【0096】
次に、ステップ79で、車速VPが所定車速VPLよりも大きいか否かを判別する。この判別結果がYESのときには、車両が走行中であると判定して、ステップ80に進み、空気量偏差DGAIRに応じて、図15に示すマップを検索することにより、補正項CORHPAを算出する。
【0097】
一方、ステップ79の判別結果がNOのときには、停車中であると判定して、ステップ81に進み、補正項CORHPAを値0に設定する。
【0098】
以上のステップ80または81に続くステップ82で、下式(22)により、更新推定大気圧HPACALを算出する。
【数22】
【0099】
次いで、ステップ83に進み、下式(23)に示す加重平均演算(なまし演算)により、推定大気圧HPAを算出する。
【数23】
【0100】
上式(23)のCA1は、重み係数であり、0<CA1<1が成立するような所定値に設定されている。また、HAPzは、推定大気圧HPAの前回値である。
【0101】
次に、ステップ84で、上記のように算出した推定大気圧の今回値HPAを遅延推定大気圧HPADに設定した後、本処理を終了する。
【0102】
以上のように、この推定大気圧HPAの算出処理では、更新推定大気圧HPACALが、推定大気圧の前回値HPAzを補正項CORHPAで補正することにより算出されるとともに、補正項CORHPAが空気量偏差DGAIRに応じて算出されるので、更新推定大気圧HPACALは、空気量偏差DGAIRが値0になるように算出される。言い換えれば、更新推定大気圧HPACALは、推定通過空気量HGAIRTHが吸入空気量GAIRに一致するように算出され、そのような更新推定大気圧HPACALと推定大気圧の前回値HPAzとの加重平均演算によって、推定大気圧HPAが算出されるので、推定大気圧HPAを実際の大気圧PAに精度よく追従するように算出することができる。
【0103】
以下、図16を参照しながら、吸入空気量GAIRの算出処理について説明する。この処理は、以下に述べるように、エアフローセンサ20の検出信号の出力電圧値VAFMを用いて、吸入空気量GAIRを算出するものであり、ECU2によって、CRK信号が所定回数発生するごとに実行される。
【0104】
まず、ステップ90で、出力電圧値VAFMに応じて、図17に示すマップを検索することにより、基本吸入空気量GAIRNを算出する。
【0105】
次いで、ステップ91に進み、基本吸入空気量GAIRNを補正係数KAFMERRで割った値GAIRN/KAFMERRを、吸入空気量GAIRとして設定する。この補正係数KAFMERRの算出手法については後述する。以上のようにステップ91で、吸入空気量GAIRを算出した後、本処理を終了する。なお、本実施形態では、基本吸入空気量GAIRNが基本吸気パラメータに相当し、補正係数KAFMERRが補正値に相当する。
【0106】
上記ステップ91において、補正係数KAFMERRを基本吸入空気量GAIRNを除算するための値として用いた理由は、前述した誤差補正係数KTHCORを、関数値誤差KTHERRの逆数として算出した理由と同じである。
【0107】
なお、図16の算出処理で算出された吸入空気量GAIRは、ECU2によって実行される各種の制御処理において用いられる。例えば、燃料噴射制御処理および点火時期制御処理において、燃料噴射量や点火時期を算出する際に用いられる。
【0108】
次に、図18を参照しながら、上記の補正係数KAFMERRの算出処理について説明する。この処理は、前述した関数値誤差KTHERRを用いる手法によって、補正係数KAFMERRを算出するものであり、ECU2によって、CRK信号が所定回数発生するごとに実行される。
【0109】
同図に示すように、まず、ステップ100で、前述した図7のステップ11と同じ手法により、開度関数値の補正後マップ値KTH_Fを算出する。
【0110】
次いで、ステップ101に進み、流量関数値FPBAPAを算出する。この場合、流量関数値FPBAPAは、前述した図6の横軸の圧力比R_PHを圧力比R_P(=PBA/PA)に置き換えたマップを用い、このマップを圧力比R_Pに応じて検索することにより算出される。
【0111】
次に、ステップ102で、前述した図7のステップ13と同じ手法により、吸気温TAの平方根RTTAを算出する。その後、ステップ103で、下式(24)により、開度関数値のモデル式値KTHCALを算出する。この式(24)は、前述した式(7)において、左辺のKTHをKTHCALに置き換えたものに相当する。
【数24】
【0112】
ステップ103に続くステップ104で、関数値誤差KTHERRを、モデル式値と補正後マップ値との比KTHCAL/KTH_Hに設定する。
【0113】
次いで、ステップ105に進み、スロットル弁開度THが前述した所定開度THB未満であるか否かを判別する。この判別結果がYESのときには、そのまま本処理を終了する。
【0114】
一方、ステップ105の判別結果がNOのときには、ステップ106に進み、圧力比R_Pが臨界圧力比R_CRIT未満であるか否かを判別する。この判別結果がNOのときには、そのまま本処理を終了する。
【0115】
一方、ステップ106の判別結果がYESのとき、すなわちTHB≦THかつR_CRIT<R_Pのときには、前述した第2誤差に起因して、モデル化誤差が発生する領域にあり、補正係数KAFMERRを更新すべきであると判定して、ステップ107に進み、下式(25)により、補正係数KAFMERRを算出する。その後、本処理を終了する。
【数25】
【0116】
上式(25)のCA2は、重み係数であり、0<CA2<1が成立するような所定値に設定されている。なお、この重み係数CA2を、エンジン回転数NEに応じてマップを検索する手法により算出してもよい。また、式(25)のKAFMERRzは、補正係数KAFMERRの前回値である。
【0117】
以上のように、図18の算出処理では、補正係数KAFMERRは、その前回値KAFMERRzと関数値誤差KTHERRの加重平均演算により算出されるので、補正係数KAFMERRを、関数値誤差KTHERRが表すモデル化誤差を反映した値として算出することができる。同じ理由により、何らかの原因で、関数値誤差KTHERRの演算結果において演算誤差が一時的に急増した場合でも、その影響を回避しながら、補正係数KAFMERRを精度よく算出することができる。
【0118】
次に、図19を参照しながら、吸気圧PBAの算出処理について説明する。この処理は、以下に述べるように、吸気圧センサ22の検出信号の出力電圧値VPBAを用いて、吸気圧PBAを算出するものであり、ECU2によって、CRK信号が所定回数発生するごとに実行される。
【0119】
まず、ステップ110で、出力電圧値VPBAに基づき、下式(26)により、基本吸気圧PBANを算出する。なお、下式(26)のα、β、γは所定値である。
【数26】
【0120】
次いで、ステップ111に進み、吸気圧PBAを、基本吸気圧PBANと補正項PBAERRCORとの和(PBAN+PBAERRCOR)に設定する。この補正項PBAERRCORの算出手法については後述する。以上のようにステップ111で、吸気圧PBAを算出した後、本処理を終了する。なお、本実施形態では、基本吸気圧PBANが基本吸気パラメータに相当し、補正項PBAERRCORが補正値に相当する。
【0121】
この場合、図19の算出処理で算出された吸気圧PBAは、ECU2によって実行される各種の制御処理において用いられる。例えば、燃料噴射制御処理および点火時期制御処理において、燃料噴射量や点火時期を算出する際に用いられる。
【0122】
次に、図20を参照しながら、上記の補正項PBAERRCORの算出処理について説明する。この処理は、前述した関数値誤差KTHERRを用いる手法によって、補正項PBAERRCORを算出するものであり、ECU2によって、CRK信号が所定回数発生するごとに実行される。
【0123】
同図を参照すると明らかなように、この処理のステップ120〜125は、図18のステップ100〜105と同様に構成されているので、以下の説明では、ステップ126以降を中心に説明する。この処理の場合、ステップ125の判別結果がYESで、THB≦THのときには、ステップ126に進み、圧力比R_Pが臨界圧力比R_CRIT以上であるか否かを判別する。この判別結果がNOのときには、そのまま本処理を終了する。
【0124】
一方、ステップ126の判別結果がYESで、R_CRIT≦R_Pのときには、前述した第3誤差に起因して、モデル化誤差が発生する領域にあり、補正項PBAERRCORを更新すべきであると判定して、ステップ127に進み、流量関数値の補正演算用値FPBAPACORを、流量関数値と関数値誤差との比FPBAPA/KTHERRに設定する。この流量関数値の補正演算用値FPBAPACORは、モデル化誤差によって生じている流量関数値FPBAPAの誤差を表す値である。
【0125】
次いで、ステップ128に進み、流量関数値の補正演算用値FPBAPACORに応じて、図21に示すマップを検索することにより、圧力比の補正演算用値R_PCORを算出する。このマップは、前述した図6のマップにおいて、横軸と縦軸の関係を入れ換えるとともに、縦軸を圧力比の補正演算用値R_PCORに、横軸を流量関数値の補正演算用値FPBAPACORにそれぞれ置き換えたものに相当する。以上のように算出される圧力比の補正演算用値R_PCORは、モデル化誤差によって生じている圧力比R_Pの誤差を表す値である。
【0126】
次に、ステップ129で、吸気圧の補正演算用値PBACORを、大気圧PAと圧力比の補正演算用値R_PCORとの積PA・R_PCORに設定する。この吸気圧の補正演算用値PBACORは、モデル化誤差によって生じている吸気圧PBAの誤差を表す値である。さらに、ステップ129に続くステップ130で、吸気圧誤差PBAERRを、吸気圧の補正演算用値PBACORと基本吸気圧PBANとの偏差PBACOR−PBANに設定する。
【0127】
次いで、ステップ131に進み、下式(27)により、補正項PBAERRCORを算出した後、本処理を終了する。
【数27】
【0128】
上式(27)のCA3は、重み係数であり、0<CA3<1が成立するような所定値に設定されている。なお、この重み係数CA3を、エンジン回転数NEに応じてマップを検索する手法により算出してもよい。また、式(27)のPBAERRCORzは、補正項PBAERRCORの前回値である。
【0129】
以上のように、図20の算出処理では、補正項PBAERRCORは、その前回値PBAERRCORzと吸気圧誤差PBAERRの加重平均演算により算出されるので、補正項PBAERRCORを、関数値誤差KTHERRが表すモデル化誤差を反映した値として算出することができる。同じ理由により、何らかの原因で、関数値誤差KTHERRの演算結果において演算誤差が一時的に急増した場合でも、その影響を回避しながら、補正項PBAERRCORを精度よく算出することができる。
【0130】
次に、図22を参照しながら、ECU2によって実行されるアイドルFB制御処理について説明する。このアイドルFB制御処理は、アイドル運転中、エンジン回転数NEが目標回転数NOBJに収束するように、スロットル弁開度THをフィードバック制御するものであり、所定の制御周期(例えば10msec)で実行される。
【0131】
同図に示すように、まず、ステップ140で、アイドルFB許可フラグF_IDLEFBが「1」であるか否かを判別する。このアイドルFB許可フラグF_IDLEFBは、アイドルFB制御処理の実行条件が成立しているか否かを表すものであり、図示しない設定処理において、エンジン3の運転状態(例えば、スロットル弁開度TH、エンジン回転数NEおよび車速VPなど)に基づき、アイドルFB制御処理の実行条件が成立しているときには「1」に、実行条件が不成立のときには「0」にそれぞれ設定される。
【0132】
ステップ140の判別結果がNOのときには、そのまま本処理を終了する。一方、ステップ140の判別結果がYESのときには、アイドルFB制御処理を実行すべきであると判定して、ステップ141に進み、下式(28)により、積分項の前回値IAINzを算出する。
【数28】
【0133】
上式(28)において、ITWは、水温補正項であり、エンジン3の冷却水温度に応じてマップ検索により算出される。また、IXREFは、積分項IAINの学習値であり、後述する手法によって算出される。さらに、IUPは、回転数補正項であり、エンジン回転数NEに応じてマップ検索により算出される。
【0134】
次に、ステップ142で、下式(29)により、回転数偏差DNEを算出する。
【数29】
この式(29)の目標回転数NOBJは、図示しない設定処理において、エンジン3の冷却水温度などに応じて設定される。
【0135】
次いで、ステップ143に進み、下式(30)により、積分項IAINを算出する。
【数30】
この式(30)のKIは積分項ゲインであり、エンジン3の運転状態(冷却水温度など)に応じてマップ検索により算出される。
【0136】
ステップ143に続くステップ144で、下式(31)により、比例項IPを算出する。
【数31】
この式(31)のKPは比例項ゲインであり、エンジン3の運転状態(冷却水温度など)に応じてマップ検索により算出される。
【0137】
次に、ステップ145で、下式(32)により、微分項IDを算出する。
【数32】
この式(32)において、KPは比例項ゲインであり、エンジン3の運転状態(冷却水温度など)に応じてマップ検索により算出される。また、DNEzは、回転数偏差DNEの前回値である。
【0138】
次いで、ステップ146に進み、フィードバック補正項IFBを算出する。具体的には、下式(33)により、フィードバック補正項IFBを算出し、その算出値にリミット処理を施すことによって、フィードバック補正項IFBが最終的に算出される。
【数33】
【0139】
以上のように、フィードバック補正項IFBは、PID制御アルゴリズムを適用した制御アルゴリズムによって、エンジン回転数NEを目標回転数NOBJに収束させるための値として算出される。
【0140】
次に、ステップ147で、下式(34)により、制御入力ICMDを算出する。
【数34】
【0141】
この式(34)において、ILOADは、負荷補正項であり、補機負荷などに応じて算出される。また、KIPA,IPAはそれぞれ、大気圧補正係数および大気圧補正項であり、大気圧PAに応じて算出される。
【0142】
ステップ147に続くステップ148で、学習値算出許可フラグF_IXREFが「1」であるか否かを判別する。この学習値算出許可フラグF_IXREFは、積分項の学習値IXREFの算出条件が成立しているか否かを表すものであり、図示しない設定処理において、エンジン3の運転状態(例えば、スロットル弁開度TH、エンジン回転数NEおよび車速VPなど)に基づき、学習値IXREFの算出条件が成立しているときには「1」に、算出条件が不成立のときには「0」にそれぞれ設定される。
【0143】
ステップ148の判別結果がNOのときには、そのまま本処理を終了する。一方、ステップ148の判別結果がYESのときには、学習値IXREFを算出すべきであると判定して、ステップ149に進み、学習値IXREF(フィードバック補正量)を算出する。具体的には、下式(35)に示す加重平均演算によって、学習値IXREFを算出し、その算出値にリミット処理を施すことにより、学習値IXREFが最終的に算出される。
【数35】
【0144】
この式(35)において、CB1は、重み係数であり、0<CB1<1が成立するような所定値に設定されている。また、IXREFzは、学習値IXREFの前回値である。このように、ステップ149で、学習値IXREFを算出した後、本処理を終了する。
【0145】
図22のアイドルFB制御処理において、制御入力ICMDが以上のように算出されると、この制御入力ICMDに対応する制御入力信号がTHアクチュエータ7bに供給される。それにより、制御入力ICMDに含まれているフィードバック補正項IFBの効果によって、エンジン回転数NEが目標回転数NOBJに収束するように、スロットル弁開度THがフィードバック制御される。
【0146】
次に、図23,24を参照しながら、ECU2によって実行される詰まり係数算出処理について説明する。この算出処理は、以下に述べるように、吸気通路6の詰まり度合を表す値として、詰まり係数KCLSを算出するものであり、所定の制御周期(例えば10msec)で実行される。
【0147】
図23に示すように、まず、ステップ160で、算出許可フラグF_KCLSが「1」であるか否かを判別する。この算出許可フラグF_KCLSは、詰まり係数KCLSの算出条件が成立しているか否かを表すものであり、図示しない設定処理において、ブローバイガスのリークの有無などに基づき、詰まり係数KCLSの算出条件が成立しているときには「1」に、算出条件が不成立のときには「0」にそれぞれ設定される。
【0148】
ステップ160の判別結果がNOのときには、そのまま本処理を終了する。一方、ステップ160の判別結果がYESのときには、詰まり係数KCLSを算出すべきであると判定して、ステップ161に進み、詰まり係数の前回値KCLSzをRAM内に記憶されている詰まり係数KCLSの値に設定する。
【0149】
次に、ステップ162,163において、学習値IXREFに応じて、図24に示すマップを検索することにより、スロットル弁開度の基準上限値thmaxおよび基準下限値thminをそれぞれ算出する。同図において、破線で示す基準上限値thmaxは、吸気通路6がスロットル弁7aを制御可能な限界の詰まり状態にあるときの、学習値IXREFに対するスロットル弁開度の値を表している。一方、実線で示す基準下限値thminは、吸気通路6の詰まりが発生していないときの、学習値IXREFに対するスロットル弁開度の値を表している。したがって、吸気通路6の詰まり度合が増大するのに伴い、学習値IXREFに対するスロットル弁開度の値は、基準下限値thminから基準上限値thmax側に向かって変化することになる。
【0150】
また、図24において、IXBASEは、学習値IXREFの所定のしきい値であり、このしきい値IXBASEは、IXREF>IXBASEが成立しているときに、吸気通路6の詰まりが発生していると推定できる値に設定されている。また、THMAX,THMINはそれぞれ、IXREF=IXBASEのときの、基準上限値thmaxおよび基準下限値thminの所定値である。
【0151】
ステップ163に続くステップ164で、下式(36)により、スロットル弁開度の暫定値thtmpを算出する。
【数36】
この式(36)から明らかなように、スロットル弁開度の暫定値thtmpは、詰まり係数の前回値KCLSzを重み係数とする、基準上限値thmaxおよび基準下限値thminの加重平均演算によって算出される。
【0152】
次いで、ステップ165に進み、下式(37)により、詰まり係数の暫定値kclstmpを算出する。
【数37】
この式(37)から明らかなように、詰まり係数の暫定値kclstmpは、スロットル弁開度の暫定値thtmpが基準下限値thminから基準上限値thmaxに近づくほど(すなわち、吸気通路6の詰まり度合がより大きくなるほど)、値0から値1により近づくように算出される。
【0153】
次に、ステップ166で、下式(38)〜(42)により、詰まり係数KCLSを算出した後、本処理を終了する。
【0154】
【数38】
【数39】
【数40】
【数41】
【数42】
【0155】
上式(38)において、KCLS_Lは下限しきい値を、CREFは所定値をそれぞれ表している。この下限しきい値KCLS_Lは、式(38)による算出結果が値0を下回っているときには、値0に設定される。また、上式(39)のKCLS_Hは上限しきい値を表しており、この上限しきい値KCLS_Hは、式(39)による算出結果が値1を上回っているときには、値1に設定される。式(40)〜(42)から明らかなように、下限しきい値KCLS_Lを下限とし、上限しきい値KCLS_Hを上限とするリミット処理を暫定値kclstmpに施すことによって、詰まり係数KCLSが算出される。
【0156】
以上のように、本実施形態では、図23に示す手法によって詰まり係数KCLSが算出される。これは、以下の理由による。すなわち、前述したように、アイドルFB制御処理では、制御入力ICMDに含まれるフィードバック補正項IFBが、エンジン回転数NEを目標回転数NOBJに収束させるための値として算出される。その場合、フィードバック補正項IFBに含まれる積分項IAINは、その学習値IXREFを用いて算出されるとともに、この学習値IXREFは、積分項IAINと学習値の前回値IXREFzの加重平均演算によって算出されるので、吸気通路6の詰まりが発生した際、学習値IXREFが増大することになるとともに、詰まり度合が大きいほど、学習値IXREFの増大度合がより大きくなる。したがって、吸気通路6の詰まり度合と相関性の高い学習値IXREFを用いることによって、詰まり係数KCLSを、吸気通路6の詰まり度合を適切に表す値として算出できることになる。この理由により、本実施形態では、図23に示す手法を用いて、詰まり係数KCLSが算出される。
【0157】
以上のように、本実施形態の吸気パラメータ算出装置1によれば、補正後マップ値KTH_Fが、マップ値KTHを詰まり係数KCLSを含む値KREF・(TH−THREF)2・KCLSで補正することによって算出されるので、補正後マップ値KTH_Fを、吸気通路6の詰まり度合を反映させた値として算出することができる。それにより、吸気通路6の詰まりに起因して、前述した詰まり誤差を生じている場合でも、この詰まり誤差の影響を回避しながら、補正後マップ値KTH_Fを精度よく算出することができる。
【0158】
また、通過空気量GAIRTHを算出する際、関数値誤差KTHERRが、モデル式値KTHCALと補正後マップ値KTH_Fとの比として算出されるので、モデル式(6)のモデル化誤差を表すものとして算出される。そして、TH<THBの領域では、そのような関数値誤差KTHERRを用いて、モデルパラメータAがオンボード同定され、オンボード同定されたモデルパラメータAを用いて、補正係数KTHCORが算出されるとともに、その補正係数KTHCORで基本通過空気量GAIRTHNを補正することにより、通過空気量GAIRTHが算出されるので、通過空気量GAIRTHを、モデル式(6)のモデル化誤差と、吸気通路6の詰まりに起因する詰まり誤差とが補正された値として算出することができる。それにより、通過空気量GAIRTHを精度よく算出することができる。
【0159】
また、通過空気量GAIRTHの算出式(11),(12)において、大気圧PAに代えて、推定大気圧HPAを用いているので、大気圧PAが変動しやすい条件下でも、大気圧変動の影響を回避しながら、通過空気量GAIRTHを算出することができ、その算出精度をさらに向上させることができる。
【0160】
さらに、モデルパラメータAがオンボード同定されるので、スロットル弁7aにおける経年変化および個体間のばらつきなどに起因して、誤差モデル式(8)が誤差KTHERRCORとスロットル弁開度THとの間の実際の関係から乖離した場合、すなわちモデル化誤差を生じた場合でも、オンボード同定されたモデルパラメータAを用いることによって、そのようなモデル化誤差を迅速に補償でき、誤差モデル式(8)を誤差KTHERRCORとスロットル弁開度THとの実際の関係に迅速に適合させることができる。それにより、補正係数KTHCORによる補正精度を向上させることができ、通過空気量GAIRTHの算出精度をより一層、向上させることができる。
【0161】
また、モデルパラメータAの同定演算では、スロットル弁開度THの領域ごとに算出した値KTHERRCOR・(TH−THB)2の4つの相加平均値に対して、均等重み付けでの加重平均演算を施すことにより、加重平均値XXYTTLを算出し、領域ごとに算出した値(TH−THB)4の4つの相加平均値に対して、均等重み付けでの加重平均演算を施すことにより、加重平均値XXXXTTLを算出し、前者を後者で除算することにより、モデルパラメータAが算出される。それにより、モデルパラメータAの同定演算中、スロットル弁開度THのサンプリングデータがある領域に偏った状態になったとしても、その領域での演算結果がモデルパラメータAの演算結果に反映される度合を他の領域と同じようにすることができ、モデルパラメータAの演算結果において、高い演算精度を確保することができる。
【0162】
さらに、エンジン始動後における車両の総走行距離DISTが所定値DLEARN未満であるときに、大気圧PAに代えて初期推定大気圧HPAiniを用いながら、モデルパラメータAの同定演算が実行され、DIST≧DLEARNのときに、モデルパラメータAの同定演算が禁止される。この場合、エンジン始動後での車両の総走行距離が小さいときには、スロットル弁開度THが低開度域で推移し、TH<THBの状態になる頻度が高いことで、モデルパラメータAの同定演算頻度を高めることができ、その演算精度をさらに向上させることができる。
【0163】
これに加えて、開度関数値のモデル式値KTHCALの算出において、大気圧PAに代えて、初期推定大気圧HPAiniが用いられるので、大気圧PAが変化しやすいような条件下でも、関数値誤差KTHERRを精度よく算出することができ、それにより、モデルパラメータAの演算精度をより一層、向上させることができる。以上のようにモデルパラメータAの演算において、高い演算精度を確保できることで、補正係数KTHCORの算出精度すなわち通過空気量GAIRTHの算出精度をさらに向上させることができる。
【0164】
一方、THB≦THの領域では、モデルパラメータAの同定演算が停止されるので、モデル化誤差が発生しない領域での無用な同定演算を回避することができ、演算負荷を低減することができる。
【0165】
また、吸入空気量GAIRを算出する際、補正係数KAFMERRで基本吸入空気量GAIRNを補正することにより、吸入空気量GAIRが算出され、この補正係数KAFMERRは、THB≦THかつR_P<R_CRITのとき、すなわち前述した第2誤差に起因して、モデル式(6)のモデル化誤差が発生していると推定されるときに、そのモデル化誤差を表す関数値誤差KTHERRと、補正係数の前回値KAFMERRzとの加重平均演算によって算出される。それにより、補正係数KAFMERRを、関数値誤差KTHERRが表すモデル化誤差を反映した値として算出することができ、吸入空気量GAIRを精度よく算出することができる。
【0166】
さらに、吸気圧PBAを算出する際、補正項PBAERRCORで基本吸気圧PBANを補正することにより、吸気圧PBAが算出され、この補正項PBAERRCORは、R_CRIT≦R_Pのとき、すなわち前述した第3誤差に起因して、モデル式(6)のモデル化誤差が発生していると推定されるときに、そのモデル化誤差を表す関数値誤差KTHERRを用いて算出されるので、この補正項PBAERRCORを、関数値誤差KTHERRが表すモデル化誤差を反映した値として算出することができ、吸気圧PBAを精度よく算出することができる。
【0167】
また、以上のように補正された吸気圧PBAおよび吸入空気量GAIRと、前述した補正係数KTHCORとを用いて、推定通過空気量HGAIRTHが算出されるので、この推定通過空気量HGAIRTHの算出精度を向上させることができる。さらに、そのような推定通過空気量HGAIRTHから吸入空気量GAIRを減算した値である空気量偏差DGAIRを用いて、補正項CORHPAが算出され、この補正項CORHPAを用いて、推定大気圧HPAが更新されるので、その算出精度を向上させることができる。これに加えて、そのような推定大気圧HPAを用いて通過空気量GAIRTHが算出されるので、通過空気量GAIRTHの算出精度をさらに向上させることができる。
【0168】
なお、実施形態では、モデルパラメータAの同定演算手法として、図9のステップ51,52で、前述した式(17),(18)により2つの加重平均値XXXXTTL,XXYTTLをそれぞれ算出し、ステップ53で、前述した式(19)により、モデルパラメータAを算出する手法を用いたが、これに代えて、以下の同定演算手法を用いてもよい。
【0169】
すなわち、ステップ51,52で、前述した式(17),(18)に代えて、下式(43),(44)を用いて、2つの加重平均値XXXXTTL,XXYTTLをそれぞれ算出した後、ステップ53で前述した式(19)により、モデルパラメータAを算出するように構成してもよい。
【数43】
【数44】
【0170】
上式(43),(44)のKG1〜KG4は、重み係数であり、KG1>KG2>KG3>KG4が成立し、かつKG1+KG2+KG3+KG4=1が成立するように設定される。上式(43)を参照すると明らかなように、加重平均値XXXXTTLは、4つの領域における値(TH−THB)4の相加平均値に対して、加重平均演算を施すことにより算出されるとともに、その重み係数KG1〜KG4は、スロットル弁開度THが小さい領域ほど、より大きな値に設定されている。また、加重平均値XXYTTLも、4つの領域における値KTHERRCOR・(TH−THB)2の相加平均値に対して、加重平均演算を施すことにより算出されるとともに、その重み係数KG1〜KG4は、加重平均値XXXXTTLと同じ値に設定されている。
【0171】
この場合、関数値誤差KTHERRは、前述したように、標準品(基準品)に対するスロットル弁7aの開口面積のずれに起因して発生するものであり、そのずれの影響度合は、スロットル弁開度THが小さいほど、より大きくなる。したがって、4つの重み係数KG1〜KG4を上記のように設定することによって、そのようなずれの影響度合を反映させながら、モデルパラメータAを同定することができ、それにより、補正係数KTHCORの算出精度を向上させることができる。なお、上記重み係数KG1〜KG4は、これらのうちのいずかが互いに同じ値になるように設定してもよい。
【0172】
また、実施形態は、誤差モデル式として、Y=A・X2の形式のものを用いた例であるが、本発明の誤差モデル式はこれに限らず、Y=a・X2+b・X+cの形式のものや、Y=a・X+bの形式のものを用いてもよい。なお、これらの形式の誤差モデル式を用いた場合、実施形態の誤差モデル式(8)を用いた場合と比較すると、演算精度の向上と演算負荷の低減とを両立させる観点からは、実施形態の誤差モデル式(8)を用いた場合の方が優れている。
【0173】
さらに、実施形態は、モデルパラメータAの同定演算を、エンジン始動後の車両の総走行距離DISTが所定値DLEARN未満であるときに実行した例であるが、本発明のモデルパラメータAの同定演算の実行条件はこれに限らず、モデルパラメータAを精度よく同定できる条件であればよい。例えば、始動後のエンジン3の運転時間が所定時間が経過していないことを、モデルパラメータAの同定演算の実行条件としてもよい。
【0174】
また、実施形態は、詰まり度合値として、詰まり係数KCLSを用いた例であるが、本発明の詰まり度合値はこれに限らず、吸気通路の詰まり度合を表す値であればよい。例えば、詰まり度合値として、詰まり係数KCLSの逆数(1/KCLS)を用いてもよく、その場合には、マップ値KTHと値KREF・(TH−THREF)2の積をこの逆数(1/KCLS)で除算することにより、補正後マップ値KTH_Fを算出すればよい。
【0175】
さらに、実施形態は、フィードバック補正量として、積分項の学習値IXREFを用いた例であるが、本発明のフィードバック補正量はこれに限らず、吸気絞り弁の開度をフィードバック制御するための値であればよい。例えば、フィードバック補正量として、積分項IAINやフィードバック補正項IFBを用いてもよく、その場合には、図24の横軸の学習値IXREFを積分項IAINまたはフィードバック補正項IFBに置き換えたマップを用いて、基準上限値thmaxおよび基準下限値thminを算出するように構成すればよい。このように構成した場合でも、吸気通路6の詰まり度合が増大すると、それに伴って、積分項IAINまたはフィードバック補正項IFBが増大するので、実施形態と同じ効果を得ることができる。
【0176】
一方、実施形態は、相関関係モデルとして、図2のマップを用いた例であるが、本発明の相関関係モデルはこれに限らず、吸気絞り弁の開度と開度関数値との相関関係を表すものであればよい。例えば、吸気絞り弁の開度と開度関数値との相関関係を定義した数式を、オフライン同定により決定し、そのような数式を相関関係モデルとして用いてもよい。
【0177】
また、実施形態は、吸気絞り弁としてスロットル弁7aを用いた例であるが、本発明の吸気絞り弁はこれに限らず、吸気通路に設けられ、吸気絞り弁を通過する空気量を変更可能な弁であればよい。
【符号の説明】
【0178】
1 吸気パラメータ算出装置
2 ECU(基本吸気パラメータ算出手段、第1開度関数値算出手段、第2開度関数 値算出手段、詰まり度合値算出手段、補正後第2開度関数値算出手段、補正値算 出手段、吸気パラメータ算出手段)
3 内燃機関
6 吸気通路
7a スロットル弁(吸気絞り弁)
NE 回転数
NOBJ 目標回転数
PA 大気圧(上流側圧力)
TH スロットル弁の開度(吸気絞り弁の開度)
KTHCAL 開度関数値のモデル式値(第1開度関数値)
KTH 開度関数値のマップ値(第2開度関数値)
IXREF 積分項の学習値(フィードバック補正量)
KCLS 詰まり係数(詰まり度合値)
KTH_F 補正後マップ値(補正後第2開度関数値)
KTHERR 関数値誤差(関数値比)
GAIRTH 通過空気量(吸気パラメータ)
GAIRTHN 基本通過空気量(基本吸気パラメータ)
KTHCOR 補正係数(補正値)
A モデルパラメータ
GAIR 吸入空気量(吸気パラメータ)
GAIRN 基本吸入空気量(基本吸気パラメータ)
KAFMERR 補正係数(補正値)
PBA 吸気圧(吸気パラメータ、下流側圧力)
PBAN 基本吸気圧(基本吸気パラメータ)
PBAERRCOR 補正項(補正値)
【技術分野】
【0001】
本発明は、内燃機関の吸気圧および吸入空気量などの、吸気通路内の空気の状態を表す吸気パラメータを算出する内燃機関の吸気パラメータ算出装置に関する。
【背景技術】
【0002】
従来、内燃機関の吸気パラメータ算出装置として、特許文献1に記載されたものが知られている。この吸気パラメータ算出装置は、吸気パラメータとしての要求吸気圧Pを算出するものであり、エアフローメータ、吸気圧センサおよびスロットルセンサなどを備えている。この吸気パラメータ算出装置では、アクセルペダルの操作量であるアクセル開度Accがスロットルセンサの検出信号に基づいて、実吸気量Gactがエアフローメータの検出信号に基づいて、実吸気圧Pactが吸気圧センサの検出信号に基づいてそれぞれ算出される。
【0003】
さらに、アクセル開度Accおよびエンジン回転数Neを用いて、要求軸トルクを算出し、これと要求吸気圧Pとの関係を定義した式(3)の吸気系モデルを用いて、要求吸気圧Pが算出される。この吸気系モデルは、気体の状態方程式から導出されたものであり、学習値Knを乗算係数として含んでいる。この学習値Knは、モデル化誤差を修正するためのものであり、その前回値とベース値Knbaseとのなまし演算(加重平均演算)によって算出される。このベース値Knbaseは、実吸気圧Pactと実吸気量Gactとの比を、吸気系モデルに基づいて算出した要求吸気圧Pと要求吸気量Gとの比で除算することにより算出される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−309993号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1の内燃機関のように、スロットル弁などの、吸気通路の開口面積を変更する吸気絞り弁が吸気通路に設けられている場合、吸気圧は、吸気通路の吸気絞り弁の下流側の圧力である関係上、吸気絞り弁の開度変化の影響を受けやすいという特性を有している。これに対して、特許文献1の吸気パラメータ算出装置の場合、要求吸気圧Pを、吸気絞り弁の開度を考慮することなく、気体の状態方程式から導出した吸気系モデルを用いて算出しているものに過ぎないので、算出精度が低いという問題がある。特に、過渡運転状態のように、吸気絞り弁の開度が変化しやすい条件下では、算出精度の低下度合が大きくなってしまう。
【0006】
本発明は、上記課題を解決するためになされたもので、吸気絞り弁が設けられている場合において、吸気パラメータを精度よく算出することができる内燃機関の吸気パラメータ算出装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、請求項1に係る発明は、吸気通路6に設けられた吸気絞り弁(スロットル弁7a)によって吸気絞り弁を通過する空気量が通過空気量として変更されるとともに、アイドル運転中の回転数NEが目標回転数NOBJに収束するように、吸気絞り弁の開度(スロットル弁開度TH)がフィードバック制御される内燃機関3において、吸気通路6内の空気の状態を表す吸気パラメータ(通過空気量GAIRTH、吸入空気量GAIR、吸気圧PBA)を算出する内燃機関3の吸気パラメータ算出装置1であって、吸気パラメータの基本値として基本吸気パラメータ(基本通過空気量GAIRTHN,基本吸入空気量GAIRN,基本吸気圧PBAN)を算出する基本吸気パラメータ算出手段(ECU2、ステップ6,90,110)と、所定のモデリング手法によって導出された、吸気絞り弁の上流側おける吸気通路6内の圧力である上流側圧力(大気圧PA)と、吸気絞り弁の下流側における吸気通路6内の圧力である下流側圧力(吸気圧PBA)と、吸気絞り弁の開度によって定まる開度関数値KTHと、通過空気量GAIRTHとの関係を定義したモデル式[式(7),(14),(24)]を用いて、開度関数値の第1の算出値として第1開度関数値(モデル式値KTHCAL)を算出する第1開度関数値算出手段(ECU2、ステップ14,103,123)と、吸気絞り弁の開度(スロットル弁開度TH)と開度関数値KTHとの相関関係を表す相関関係モデル(図2)を用いて、開度関数値の第2の算出値として第2開度関数値(マップ値KTH)を算出する第2開度関数値算出手段(ECU2、ステップ11,100,120)と、吸気絞り弁の開度(スロットル弁開度TH)をフィードバック制御するためのフィードバック補正量(積分項の学習値IXREF)に応じて、吸気通路6の詰まり度合を表す詰まり度合値(詰まり係数KCLS)を算出する詰まり度合値算出手段(ECU2、ステップ162〜166)と、算出された詰まり度合値(詰まり係数KCLS)を用いて、算出された第2開度関数値(マップ値KTH)を補正することにより、補正後第2開度関数値(補正後マップ値KTH_F)を算出する補正後第2開度関数値算出手段(ECU2、ステップ11,100,120)と、算出された第1開度関数値および算出された補正後第2開度関数値の一方と他方との比である関数値比(関数値誤差KTHERR)を用いて、補正値(補正係数KTHCOR、補正係数KAFMERR、補正項PBAERRCOR)を算出する補正値算出手段(ECU2、ステップ3,100〜107,120〜131)と、算出された補正値で基本吸気パラメータを補正することにより、吸気パラメータ(通過空気量GAIRTH、吸入空気量GAIR、吸気圧PBA)を算出する吸気パラメータ算出手段(ECU2、ステップ6,91,111)と、を備えることを特徴とする。
【0008】
この内燃機関の吸気パラメータ算出装置によれば、第1開度関数値が、吸気絞り弁の上流側おける吸気通路内の圧力である上流側圧力と、吸気絞り弁の下流側における吸気通路内の圧力である下流側圧力と、吸気絞り弁の開度によって定まる開度関数値と、通過空気量との関係を定義したモデル式を用いて算出され、第2開度関数値が、吸気絞り弁の開度と開度関数値との相関関係を表す相関関係モデルを用いて算出される。また、吸気絞り弁の開度をフィードバック制御するためのフィードバック補正量に応じて、吸気通路の詰まり度合を表す詰まり度合値が算出され、算出された詰まり度合値を用いて、算出された第2開度関数値を補正することにより、補正後第2開度関数値が算出される。さらに、算出された第1開度関数値および算出された補正後第2開度関数値の一方と他方との比である関数値比を用いて、補正値が算出され、このように算出された補正値で基本吸気パラメータを補正することにより、吸気パラメータが算出される。この場合、補正後第2開度関数値は、吸気通路の詰まり度合を表す詰まり度合値を用いて、第2開度関数値を補正することによって算出されるので、補正後第2開度関数値を、吸気通路の詰まり度合が反映された値として算出することができる。また、第1開度関数値および補正後第2開度関数値はいずれも、吸気絞り弁の開度によって定まる関数値であるとともに、そのような2つの値の比を用いて算出した補正値で基本吸気パラメータを補正することにより、吸気パラメータが算出されるので、吸気絞り弁の開度状態を反映させながら、吸気パラメータを算出することができる。これに加えて、第1開度関数値および補正後第2開度関数値の一方と他方との比である関数値比は、2つの開度関数値の間の差異、すなわちモデル式と相関関係モデルとの間の誤差を表すものとなるので、補正値を、そのような誤差を補正できるものとして算出することができる。以上により、過渡運転状態のような吸気絞り弁の開度が変化しやすい条件下や、吸気通路の詰まりが発生している条件下でも、吸気パラメータを従来よりも精度よく算出することができ、商品性を向上させることができる(なお、本明細書における「吸気通路の詰まり」は、吸気通路の詰まりに限らず、吸気絞り弁の詰まりも含むものとする)。
【図面の簡単な説明】
【0009】
【図1】本願発明の一実施形態に係る吸気パラメータ算出装置およびこれを適用した内燃機関の概略構成図である。
【図2】開度関数値のマップ値KTHの算出に用いるマップの一例を示す図である。
【図3】誤差モデル式として、関数値誤差KTHERRとスロットル弁開度THとの関係を定義した2次式を用いた場合の演算結果例を示す図である。
【図4】実施形態の誤差モデル式を用いた場合の演算結果例を示す図である。
【図5】通過空気量GAIRTHの算出処理を示すフローチャートである。
【図6】流量関数値FPBAPAの算出に用いるマップの一例を示す図である。
【図7】モデルパラメータ学習処理を示すフローチャートである。
【図8】学習条件判定処理を示すフローチャートである。
【図9】モデルパラメータAの同定演算処理を示すフローチャートである。
【図10】吸気パラメータ算出装置による同定演算処理結果の一例を示す図である。
【図11】同定演算処理結果の比較例を示す図である。
【図12】大気圧推定処理を示すフローチャートである。
【図13】推定大気圧HPAの算出処理を示すフローチャートである。
【図14】回転補正係数KTHNEの算出に用いるマップの一例を示す図である。
【図15】補正項CORHPAの算出に用いるマップの一例を示す図である。
【図16】吸入空気量GAIRの算出処理を示すフローチャートである。
【図17】基本吸入空気量GAIRNの算出に用いるマップの一例を示す図である。
【図18】補正係数KAFMERRの算出処理を示すフローチャートである。
【図19】吸気圧PBAの算出処理を示すフローチャートである。
【図20】補正項PBAERRCORの算出に用いるマップの一例を示す図である。
【図21】圧力比の補正演算用値R_PCORの算出に用いるマップの一例を示す図である。
【図22】アイドルFB制御処理を示すフローチャートである。
【図23】詰まり係数算出処理を示すフローチャートである。
【図24】スロットル弁開度の基準上限値thmaxおよび基準下限値thminの算出にそれぞれ用いるマップの一例を示す図である。
【発明を実施するための形態】
【0010】
以下、図面を参照しながら、本発明の一実施形態に係る内燃機関の吸気パラメータ算出装置について説明する。図1に示すように、本実施形態の吸気パラメータ算出装置1は、ECU2を備えており、このECU2は、後述するように、吸気パラメータとして、通過空気量GAIRTH、吸入空気量GAIRおよび吸気圧PBAを算出する。
【0011】
エンジン3は、図示しない車両に搭載されたガソリンエンジンタイプのものであり、このエンジン3には、燃料噴射弁4および点火プラグ5が気筒ごとに取り付けられている。この燃料噴射弁4は、ECU2に電気的に接続されており、その開弁時間および開弁タイミングがECU2によって制御され、それにより、燃料噴射制御が実行される。
【0012】
また、点火プラグ5も、ECU2に電気的に接続されており、ECU2によって、点火時期に応じたタイミングで燃焼室内の混合気を燃焼させるように、放電状態が制御される。すなわち、点火時期制御が実行される。
【0013】
エンジン3の吸気通路6には、上流側から順に、エアフローセンサ20、スロットル弁機構7、スロットル弁開度センサ21および吸気圧センサ22が設けられている。このエアフローセンサ20は、吸気通路6のエアフローセンサ20付近を流れる空気の流量(以下「吸入空気量」という)を検出して、それを表す検出信号をECU2に出力する。ECU2は、後述するように、このエアフローセンサ20の検出信号に基づいて、吸入空気量GAIRを算出する。この吸入空気量GAIRは、質量流量として算出される。
【0014】
スロットル弁機構7は、スロットル弁7aおよびこれを開閉駆動するTHアクチュエータ7bなどを備えている。スロットル弁7aは、吸気通路6の途中に回動自在に設けられており、当該回動に伴う開度の変化によりスロットル弁7aを通過する空気量を変化させる。THアクチュエータ7bは、ECU2に接続されたモータにギヤ機構(いずれも図示せず)を組み合わせたものであり、ECU2からの制御入力信号によって制御されることにより、スロットル弁7aの開度を変化させる。
【0015】
また、スロットル弁開度センサ21は、例えばポテンショメータなどで構成されており、スロットル弁7aの開度(以下「スロットル弁開度」という)THを検出して、それを表す検出信号を、ECU2に出力する。ECU2は、このスロットル弁開度センサ21の検出信号に基づいて、スロットル弁開度THを算出する。このスロットル弁開度THは、角度(゜)として算出される。なお、本実施形態では、スロットル弁7aが吸気絞り弁に相当し、スロットル弁開度THが吸気絞り弁の開度に相当する。
【0016】
さらに、吸気圧センサ22は、吸気通路6のスロットル弁7aよりも下流側のサージタンクの部分に配置されており、吸気通路6内の圧力(以下「吸気圧」という)を検出して、それを表す検出信号をECU2に出力する。ECU2は、後述するように、この吸気圧センサ22の検出信号に基づいて、吸気圧PBAを算出する。この吸気圧PBAは絶対圧として算出される。
【0017】
一方、ECU2には、吸気温センサ23、大気圧センサ24、クランク角センサ25および4つの車輪速度センサ26(1つのみ図示)がそれぞれ電気的に接続されている。これらの吸気温センサ23および大気圧センサ24はそれぞれ、吸気通路6内の空気の温度(以下「吸気温」という)および大気の圧力(以下「大気圧」という)を検出して、それを表す検出信号をECU2に出力する。
【0018】
ECU2は、これらの吸気温センサ23および大気圧センサ24の検出信号に基づき、吸気温TAおよび大気圧PAをそれぞれ算出する。この吸気温TAは絶対温度として、大気圧PAは絶対圧としてそれぞれ算出される。
【0019】
また、クランク角センサ25は、マグネットロータおよびMREピックアップで構成されており、図示しないクランクシャフトの回転に伴い、いずれもパルス信号であるCRK信号およびTDC信号をECU2に出力する。このCRK信号は、所定クランク角(例えば2゜)毎に1パルスが出力され、ECU2は、このCRK信号に基づき、エンジン3の回転数(以下「エンジン回転数」という)NEを算出する。また、TDC信号は、各気筒のピストンが吸気行程のTDC位置よりも若干、手前の所定のクランク角位置にあることを表す信号であり、所定クランク角毎に1パルスが出力される。
【0020】
さらに、4つの車輪速センサ26の各々は、対応する車輪の回転速度を検出して、それを表す検出信号をECU2に出力する。ECU2は、これらの車輪速センサの検出信号に基づいて、車速VPや、エンジン始動後の総走行距離DISTなどを算出する。
【0021】
一方、ECU2は、CPU、RAM、ROMおよびI/Oインターフェース(いずれも図示せず)などからなるマイクロコンピュータで構成されており、以上の各種のセンサ20〜26の検出信号などに基づいて、エンジン回転数NEなどの、エンジン3の運転状態を表す各種の運転状態パラメータを算出するとともに、以下に述べるように、通過空気量GAIRTHの算出処理などの各種の算出処理や、アイドルFB制御処理などの各種の制御処理を実行する。
【0022】
なお、本実施形態では、ECU2が、基本吸気パラメータ算出手段、第1開度関数値算出手段、第2開度関数値算出手段、詰まり度合値算出手段、補正後第2開度関数値算出手段、補正値算出手段および吸気パラメータ算出手段に相当する。
【0023】
以下、本実施形態における通過空気量GAIRTHの算出手法の原理について説明する。本実施形態のエンジン3の場合、スロットル弁7aが吸気通路6に設けられているので、このスロットル弁7aを通過する空気(以下「通過空気」という)を圧縮性流体かつ断熱流であると見なしかつスロットル弁7aをノズルと見なしてモデリングすると、下式(1)に示すモデル式が得られる。
【数1】
【0024】
上式(1)において、uは通過空気の流速を、P1,P2はスロットル弁7aの上流側および下流側圧力を、ρ1はスロットル弁7aの上流側の吸入空気の密度を、κは吸入空気の比熱比をそれぞれ表している。
【0025】
次に、通過空気の流量をG、スロットル弁7aの開口面積をAth、スロットル弁7aの流量係数をCd、空気の温度をT、空気のガス定数をRとし、連続の式および気体の状態方程式を適用して変形すると、下式(2)が得られる。
【数2】
【0026】
ここで、上式(2)の圧力比P2/P1の項を流量関数値Ψとして下式(3)のように定義し、これを用いて上式(2)を書き換えると、下式(4)が得られる。
【数3】
【数4】
【0027】
上式(4)において、開口面積Athおよび流量係数Cdはいずれも、スロットル弁開度THによって決まる関数であるので、値Cd・Athを開度関数値KTH(=Cd・Ath)と定義し、これを用いて上式(4)を書き換えると、下式(5)が得られる。
【数5】
【0028】
上式(5)において、スロットル弁7aの上流側における圧力損失を無視し、上流側圧力P1を大気圧PAに置き換え、流量Gを通過空気量GAIRTHに、温度Tを吸気温TAにそれぞれ置き換えるとともに、流量関数値ΨをFPBAPA、気体定数Rの平方根をRGAS(=R1/2)、吸気温TAの平方根をRTTA(=TA1/2)とそれぞれ表記すると、下式(6)に示すモデル式が得られる。なお、下式(6)のKCは、通過空気量GAIRTHの単位を(g/sec)に変換するための変換係数である。
【数6】
【0029】
上式(6)において、流量関数値FPBAPAは、吸気圧PBAと大気圧PAとの比である圧力比R_P(=PBA/PA)によって決まる値であるので、後述するように、圧力比R_Pに応じて、マップを検索することにより算出される。また、上式(6)をKTHについて整理するとともに、通過空気量GAIRTHを吸入空気量GAIRに置き換えると、下式(7)が得られる。
【数7】
【0030】
ここで、開度関数値KTHは、スロットル弁開度THによって決まる関数値であり、この開度関数値KTHとスロットル弁開度THとの実際の関係を測定し、マップを作成した場合(すなわちオフラインで同定した場合)、図2に示すものが得られる。上記式(7)によって算出した開度関数値をモデル式値KTHCALとし、図2のマップ検索により算出した開度関数値をマップ値KTHとするとともに、モデル式値KTHCALとマップ値KTHとの比を値KTHERR(=KTHCAL/KTH)とした場合、KTHERR=1のときには、KTH=KTHCALとなり、モデル式(6)のモデル化誤差がないことになる。一方、値KTHERRが値1に対して乖離している場合、その乖離度合が大きいほど、マップ値KTHに対するモデル式値KTHCALの乖離度合が大きいことになり、前述したモデル式(6)のモデル化誤差が大きいことになる。
【0031】
以上のように、値KTHERRはモデル式(6)のモデル化誤差を表すものであり、以下の説明では、値KTHERRを「関数値誤差KTHERR」という。この関数値誤差KTHERRは、主に、標準品(基準品)に対するスロットル弁7aの開口面積のずれに起因して発生する。このずれは、標準品に基づいて設定されたマップ値KTHに対する実製品のずれであり、例えば、スロットルボア径の精度ばらつきや、スロットルボアに付着したカーボンなどの異物に起因して発生するものである。以下の説明では、このずれを「第1誤差」という。また、関数値誤差KTHERRの算出において、エアフローセンサ20および吸気圧センサ22の検出信号を用いている関係上、関数値誤差KTHERRは、エアフローセンサ20の検出誤差(以下「第2誤差」という)や、吸気圧センサ22の検出誤差(以下「第3誤差」という)に起因しても発生する。
【0032】
この第1誤差の場合、スロットル弁開度THが大きくなるほど(すなわち、スロットル弁7aの開口面積が大きくなるほど)、関数値誤差KTHERRに対する影響は小さくなるので、スロットル弁開度THが所定開度THB以上となる領域では、第1誤差を無視することができる。なお、この所定開度THBは、実験的に求めることも可能であるとともに、スロットル弁7aの開口面積の許容誤差に基づいて演算することも可能である。また、圧力比R_Pが臨界圧力比R_CRIT未満の場合、流量関数値FPBAPAは一定値となるので、R_P<R_CRITの領域では、関数値誤差KTHERRは吸気圧センサ22の検出誤差の影響を受けなくなる。したがって、圧力比R_Pが臨界圧力比R_CRITとなるスロットル弁開度THをTH_CRITとすると、TH<TH_CRITの領域(すなわちR_P<R_CRITの領域)では、第3誤差を無視することができる。その結果、THB≦TH<TH_CRITの領域(すなわちTHB≦THかつR_P<R_CRITが成立する領域)では、第1誤差および第3誤差を無視することができるので、関数値誤差KTHERRによって第2誤差を特定することが可能となる。
【0033】
以上の理由により、本実施形態の場合、後述するように、TH<THBの領域では、第1誤差を補償(補正)するために、関数値誤差KTHERRを用いて、基本通過空気量GAIRTHN補正用の補正係数KTHCORが算出され、THB≦THかつR_P<R_CRITの領域では、第2誤差を補償するために、関数値誤差KTHERRを用いて、基本吸入空気量GAIRN補正用の補正係数KAFMERRが算出され、TH_CRIT≦THの領域(すなわちR_CRIT≦R_Pの領域)では、第3誤差を補償するために、関数値誤差KTHERRを用いて、基本吸気圧PBAN補正用の補正項PBAERRCORが算出される。
【0034】
また、エンジン3の使用期間が長くなるのに伴って、吸気通路6やスロットル弁14aの詰まり(以下「吸気通路6の詰まり」という)が発生すると、図2のスロットル弁開度THとマップ値KTHmapとの関係は、スロットル弁開度THと開度関数値との実際の関係に対して誤差(以下「詰まり誤差」という)を生じてしまうことになる。この詰まり誤差を補償するために、本実施形態では、後述する手法によって、吸気通路6の詰まり度合を表す詰まり係数KCLSを算出し、これを用いてマップ値KTHを補正することによって、開度関数値の補正後マップ値KTH_Fが算出される。そして、この補正後マップ値KTH_Fがマップ値KTHに代えて用いられるとともに、関数値誤差KTHERRとして、上記モデル式値KTHCALと補正後マップ値KTH_Fとの比(=KTHCAL/KTH_F)が用いられる。なお、本実施形態では、図2のマップが相関関係モデルに、モデル式値KTHCALが第1開度関数値に、マップ値KTHが第2開度関数値に、補正後マップ値KTH_Fが補正後第2開度関数値に、関数値誤差KTHERRが関数値比にそれぞれ相当する。
【0035】
以下、上述した第1誤差を補償しながら、通過空気量GAIRTHを算出する手法について説明する。まず、関数値誤差KTHERRから値1を減算した値を誤差KTHERRCOR(=KTHERR−1)とする。この場合、前述したように、値KTHERRが値1に対して乖離している度合がモデル化誤差を表すので、誤差KTHERRCORは、モデル化誤差を表すものとなり、誤差モデル式を、下式(8)のように定義する。なお、この誤差モデル式(8)を用いた理由については後述する。
【数8】
【0036】
この誤差モデル式(8)のAはモデルパラメータであり、このモデルパラメータAをオンボード同定する演算手法として、最小2乗法を用いた場合、モデルパラメータAの同定演算式として、下式(9)が得られる。
【数9】
【0037】
なお、後述するように、モデルパラメータAの実際の演算では、上式(9)に基づき、スロットル弁開度THのサンプリング領域が偏った場合でも、モデルパラメータAの同定結果における算出精度の低下を回避できるような演算手法が用いられる。
【0038】
次に、同定したモデルパラメータAを用いて、前述した(8)により、誤差KTHERRCORを算出した後、下式(10)により、誤差補正係数KTHCORを算出する。
【数10】
【0039】
上式(10)に示すように、誤差補正係数KTHCORは、誤差KTHERRCORと値1との和、すなわち関数値誤差KTHERRの逆数に相当する値として算出される。これは以下の理由による。すなわち、関数値誤差KTHERRがモデル式値KTHCALと補正後マップ値KTH_Fとの比である以上、例えば、KTHERR>1の場合、言い換えればモデル式値KTHCALが補正後マップ値KTH_Fを上回っている場合には、その上回っている分を補正するために、関数値誤差KTHERRで通過空気量GAIRTHを除算すればよいことになる。一方、KTHERR<1の場合、すなわちモデル式値KTHCALが補正後マップ値KTH_Fを下回っている場合には、その下回っている分を補正するために、関数値誤差KTHERRで通過空気量GAIRTHを除算すればよいことになる。これに対して、誤差補正係数KTHCORは、後述するように乗算係数として用いられるので、モデル式値KTHCALが補正後マップ値KTH_Fに対して下回っている分または上回っている分を補正するために、関数値誤差KTHERRの逆数に相当する値として算出される。
【0040】
そして、最終的に、誤差補正係数KTHCORを用いて、下式(11),(12)により、通過空気量GAIRTHが算出される。
【数11】
【数12】
【0041】
ここで、上式(11)のGAIRTHNは、基本通過空気量であり、HPAは、後述するように算出される推定大気圧である。この式(11)は、前述した式(7)の通過空気量GAIRTHを基本通過空気量GAIRTHNに、開度関数値KTHを補正後マップ値KTH_Fに、大気圧PAを推定大気圧HPAにそれぞれ置き換えたものに相当する。この式(11)において、大気圧PAに代えて、推定大気圧HPAを用いたのは、大気圧PAの変動を回避しながら、通過空気量GAIRTHの算出精度を向上させるためである。上式(12)に示すように、通過空気量GAIRTHは、基本通過空気量GAIRTHNを補正係数KTHCORで補正することにより算出される。なお、本実施形態では、基本通過空気量GAIRTHNが基本吸気パラメータに相当し、補正係数KTHCORが補正値に相当する。
【0042】
次に、前述した誤差モデル式(8)を用いた理由について説明する。まず、開度関数値KTHは、前述したように、開口面積Athおよび流量係数Cdの積であり、スロットル弁7aの半径の2乗値との相関性が高い以上、誤差モデル式としては、誤差を従属変数とし、スロットル弁開度THを独立変数とする2次式を用いた方が、良好な算出精度が得られることになる。その場合、THB≦THの領域では、関数値誤差KTHERRは、前述したように、スロットル弁開度THの算出誤差ではなく、吸入空気量GAIRまたは吸気圧PBAの算出誤差に起因して発生する関係上、吸入空気量GAIRおよび吸気圧PBAの算出誤差がない条件下では、図3に示すように、関数値誤差KTHERR=1となるので、誤差モデル式のモデルパラメータAを同定する必要がないことになる。
【0043】
これに加えて、図3に示すように、誤差モデル式として、関数値誤差KTHERRを従属変数Yとし、スロットル弁開度THを独立変数Xとする2次式を用いた場合、その誤差モデル式は、Y=a・X2+b・X+c(a,b,cはモデルパラメータ)の形式となることで、3つのモデルパラメータa,b,cを同定する必要が生じる。その結果、同定演算が複雑になり、演算負荷が高くなってしまう。なお、図3の黒丸は、関数値誤差KTHERRの制御タイミングごとの演算結果を示している。
【0044】
これに対して、上記(8)式を用いた場合、図4に示すように、誤差KTHERRCORを従属変数Yとし、TH−THBを独立変数Xとすると、誤差モデル式がY=A・X2の形式となることで、1つのモデルパラメータAのみを同定すればよくなり、それによって、同定演算も容易になり、その演算負荷を低減できることになる。以上の理由により、本実施形態では、誤差モデル式として式(8)が用いられる。なお、図4の黒丸は、誤差KTHERRCORの制御タイミングごとの演算結果を示している。
【0045】
以下、図5を参照しながら、通過空気量GAIRTHの算出処理について説明する。この算出処理は、前述した算出手法によって通過空気量GAIRTHを算出するものであり、ECU2によって、CRK信号が所定回数発生するごと(すなわち所定クランク角ごと)に実行される。なお、以下の説明では、算出された各種の値はすべてECU2のRAM内に記憶されるものとするとともに、今回の制御タイミングにおいてRAMから読み出す値すなわち前回の制御タイミングで算出された値を前回値という。
【0046】
同図に示すように、まず、ステップ1(図では「S1」と略す。以下同じ)で、スロットル弁開度THが所定開度THB未満であるか否かを判別する。この判別結果がYESのときには、誤差補正係数KTHCORによって通過空気量GAIRTHを補正する必要があると判定して、ステップ2に進み、前述した式(8)により、誤差KTHERRCORを算出する。
【0047】
次いで、ステップ3で、前述した式(10)により、誤差補正係数KTHCORを算出する。
【0048】
一方、ステップ1の判別結果がNOのときには、誤差補正係数KTHCORによって通過空気量GAIRTHを補正する必要がないと判定して、ステップ4に進み、誤差補正係数KTHCORを値1に設定する。
【0049】
以上のステップ3または4に続くステップ5で、圧力比R_PHに応じて、図6に示すマップを検索することにより、流量関数値FPBAPAを算出する。この圧力比R_PHは、吸気圧PBAと前述した推定大気圧HPAとの比PBA/HPAに相当する値である。この場合、圧力比R_PHを用いた理由は、前述した推定大気圧HPAを用いた理由と同じであり、推定大気圧HPAは、RAM内に記憶されている、大気圧推定処理で算出された値を用いる。
【0050】
次に、ステップ6に進み、前述した式(11),(12)により、通過空気量GAIRTHを算出する。この場合、吸気温TAの平方根RTTAおよび開度関数値KTHは、RAM内に記憶されている、後述するモデルパラメータ学習処理において算出された値を用いる。以上のように、ステップ6で、通過空気量GAIRTHを算出した後、本処理を終了する。
【0051】
なお、図5の算出処理で算出された通過空気量GAIRTHは、ECU2によって実行される各種の制御処理において用いられる。例えば、燃料噴射制御処理および点火時期制御処理において、過渡運転条件下で、燃料噴射量や点火時期を算出する際、後述するように算出された吸入空気量GAIRを補正するのに用いられる。
【0052】
以下、図7を参照しながら、モデルパラメータ学習処理について説明する。この処理は、関数値誤差KTHERRを反映させながら、誤差モデルのモデルパラメータAの同定演算を行うもの、言い換えればモデルパラメータAの同定値を学習するものであり、ECU2によって、CRK信号が所定回数発生するごとに実行される。
【0053】
同図に示すように、まず、ステップ10で、学習条件フラグF_LEARNが「1」であるか否かを判別する。この学習条件フラグF_LEARNは、モデルパラメータAの同定値の学習条件が成立しているか否かを表すものであり、その値は、図8に示す手法により設定される。
【0054】
同図8に示すように、まず、ステップ20で、エンジン始動後の車両の総走行距離DISTが所定値DLEARN未満であるか否かを判別する。この判別結果がYESのときには、モデルパラメータAの同定値の学習条件が成立していると判定して、ステップ21に進み、それを表すために、学習条件フラグF_LEARNを「1」に設定する。その後、本処理を終了する。
【0055】
一方、ステップ20の判別結果がNOのときには、モデルパラメータAの同定値の学習条件が成立していないと判定して、ステップ22に進み、それを表すために、学習条件フラグF_LEARNを「0」に設定する。その後、本処理を終了する。
【0056】
図7に戻り、ステップ10の判別結果がNOで、モデルパラメータAの同定値の学習条件が成立していないときには、そのまま本処理を終了する。一方、ステップ10の判別結果がYESで、モデルパラメータAの同定値の学習条件が成立しているときには、ステップ11に進み、下式(13)により、開度関数値の補正後マップ値KTH_F(補正後第2開度関数値)を算出する。
【数13】
【0057】
上式(13)において、KREFは、所定の定数(例えば値0.003)であり、THREFは、詰まりの影響がなくなるような開度(例えば15度)である。さらに、詰まり係数KCLS(詰まり度合値)は、吸気通路6の詰まり度合を表すものであり、後述する手法により算出されるとともに、吸気通路6の詰まり度合が最も大きいときにKCLS=1となる。また、マップ値KTHは、スロットル弁開度THに応じて、前述した図2のマップを検索することにより算出される。上式(13)に示すように、補正後マップ値KTH_Fは、マップ値KTHを値KREF・(TH−THREF)2・KCLSで補正することにより、吸気通路6の詰まり度合が反映された値として算出されるとともに、KCLS=1のときに最も詰まり度合が大きい状態での開度関数値として算出される。
【0058】
次いで、ステップ12に進み、流量関数値の同定用値FPBAPAiniを算出する。この同定用値FPBAPAiniは、前述した図6の縦軸の流量関数値FPBAPAを同定用値FPBAPAiniに、横軸の圧力比R_PHを圧力比R_PHiにそれぞれ置き換えたマップを、圧力比R_PHiに応じて検索することにより算出される。この圧力比R_PHiは、吸気圧PBAと初期推定大気圧HPAiniとの比PBA/HPAiniとして算出され、この初期推定大気圧HPAiniは、RAM内に記憶されている、大気圧推定処理で算出された値を用いる。この初期推定大気圧HPAiniを用いた理由については後述する。
【0059】
次に、ステップ13で、吸気温TAに応じて、図示しないマップを検索することにより、吸気温TAの平方根RTTAを算出する。その後、ステップ14で、下式(14)により、開度関数値のモデル式値KTHCALを算出する。
【数14】
【0060】
この場合、上式(14)は、前述した式(7)において、開度関数値KTHをモデル式値KTHCALに、大気圧PAを推定大気圧の初期値HPAiniに、流量関数値FPBAPAを流量関数値の同定用値FPBAPAiniにそれぞれ置き換えたものに相当する。なお、これらの値HPAini,FPBAPAiniを用いた理由については後述する。
【0061】
ステップ14に続くステップ15で、関数値誤差KTHERRを、モデル式値と補正後マップ値との比KTHCAL/KTH_Fに設定する。
【0062】
次いで、ステップ16に進み、スロットル弁開度THが前述した所定開度THB未満であるか否かを判別する。この判別結果がNOのときには、そのまま本処理を終了する。
【0063】
一方、ステップ16の判別結果がYESのときには、スロットル弁開度THが、前述した第1誤差に起因してモデル化誤差が発生する領域にあり、モデルパラメータAの同定演算を行うべきであると判定して、ステップ17に進み、後述するように、モデルパラメータAの同定演算処理を実行する。その後、本処理を終了する。
【0064】
以上のように、このモデルパラメータ学習処理では、学習条件フラグF_LEARN=1のときに、初期推定大気圧HPAiniおよび流量関数値の同定用値FPBAPAiniを用いて、関数値誤差KTHERRが算出される。このような手法によって、関数値誤差KTHERRを算出するのは以下の理由による。すなわち、本実施形態の場合、大気圧PAの推定値を用いて、関数値誤差KTHERRを算出している関係上、この大気圧の推定値に誤差が含まれていると、前述した第1〜第3誤差の補償精度(修正精度)が低下し、ひいては、後述するように、これらの第1〜第3誤差を補償しながら算出された3つの値HGAIRTH,GAIR,PBAを用いて算出される推定大気圧HPAの算出精度(推定精度)も低下してしまう。この場合、そのような大気圧PAの推定誤差の影響を排除するには、吸気圧センサ22の検出信号から算出された吸気圧PBAが大気圧PAの真値と等しくなり、かつ大気圧PAの真値がほとんど変動しない条件下で、関数値誤差KTHERRを算出する必要がある。したがって、それを達成するために、本実施形態では、学習条件フラグF_LEARNを用いて、学習条件の成立を確認するととともに、初期推定大気圧HPAiniおよび流量関数値の同定用値FPBAPAiniを用いて、関数値誤差KTHERRを算出するように構成されている。
【0065】
次に、図9を参照しながら、モデルパラメータAの同定演算処理について説明する。この処理では、以下に述べるように、スロットル弁開度THの領域を、0≦TH<THN1の第1領域と、THN1≦TH<THN2の第2領域と、THN2≦TH<THN3の第3領域と、THN3≦TH<THBの第4領域とに区分けするとともに、これらの4つの領域に対して均等な重み付け処理を施しながら、前述した同定演算式(9)に基づく演算手法によって、モデルパラメータAが算出される。この場合、THN1〜3は、スロットル弁開度THの所定開度であり、0<THN1<THN2<THN3<THBが成立するように設定される。
【0066】
同図に示すように、まず、ステップ40で、誤差KTHERRCORを、関数値誤差KTHERRと値1との偏差KTHERR−1に設定する。次いで、ステップ41に進み、スロットル弁開度THが所定値THN1未満であるか否かを判別する。この判別結果がYESで、スロットル弁開度THが第1領域にあるときには、ステップ44に進み、領域値nを値1に設定する。
【0067】
一方、ステップ41の判別結果がNOで、THN1≦THのときには、ステップ42に進み、スロットル弁開度THが所定値THN2未満であるか否かを判別する。この判別結果がYESで、スロットル弁開度THが第2領域にあるときには、ステップ45に進み、領域値nを値2に設定する。
【0068】
一方、ステップ42の判別結果がNOで、THN2≦THのときには、ステップ43に進み、スロットル弁開度THが所定値THN3未満であるか否かを判別する。この判別結果がYESで、スロットル弁開度THが第3領域にあるときには、ステップ46に進み、領域値nを値3に設定する。
【0069】
一方、ステップ43の判別結果がNOで、スロットル弁開度THが第4領域にあるときには、ステップ47に進み、領域値nを値4に設定する。以上のように、領域値nは、スロットル弁開度THの4つの領域を表す値として算出される。
【0070】
以上のステップ44〜47に続くステップ48で、下式(15)により、第n領域の積分項XXXX[n]を算出する。
【数15】
【0071】
上式(15)において、積分項XXXX[n]は、前述した同定演算式(9)の分母に相当する値であり、値XXXX[n]zは積分項の前回値を表している。また、積分項XXXX[n]の[]内の値nは、上述した領域値であり、この点は以下の説明においても同様である。すなわち、このステップ48では、例えば、領域値n=1のときには第1領域の積分項XXXX[1]が、n=2のときには第2領域の積分項XXXX[2]がそれぞれ算出される。
【0072】
次いで、ステップ49で、下式(16)により、第n領域の積分項XXY[n]を算出する。
【数16】
【0073】
上式(16)において、積分項XXY[n]は、前述した同定演算式(9)の分子に相当する値であり、値XXY[n]zは積分項の前回値を表している。
【0074】
ステップ49に続くステップ50で、第n領域のサンプリング数SAMPL[n]を、その前回値と値1の和(SAMPL[n]z+1)に設定する。このサンプリング数SAMPL[n]は、第n領域における積分項のサンプリング数すなわち演算結果数を表している。
【0075】
次いで、ステップ51に進み、下式(17)により、加重平均値XXXXTTLを算出する。
【数17】
【0076】
上式(17)を参照すると明らかなように、加重平均値XXXXTTLは、値(TH−THB)4の相加平均値を領域ごとに算出するとともに、これらの相加平均値に対して、均等重み付けでの加重平均演算を施すことにより算出される。
【0077】
次に、ステップ52で、下式(18)により、加重平均値XXYTTLを算出する。
【数18】
【0078】
上式(18)を参照すると明らかなように、加重平均値XXYTTLは、値KTHERRCOR・(TH−THB)2の相加平均値を領域ごとに算出するとともに、これらの相加平均値に対して、均等重み付けでの加重平均演算を施すことにより算出される。
【0079】
ステップ52に続くステップ53で、下式(19)により、モデルパラメータAを算出した後、本処理を終了する。
【数19】
【0080】
以上のように、このモデルパラメータAの同定演算処理では、スロットル弁開度THの領域ごとに算出した値KTHERRCOR・(TH−THB)2の4つの相加平均値に対して、均等重み付けでの加重平均演算を施すことにより、加重平均値XXYTTLを算出し、領域ごとに算出した値(TH−THB)4の4つの相加平均値に対して、均等重み付けでの加重平均演算を施すことにより、加重平均値XXXXTTLを算出し、前者を後者で除算することにより、モデルパラメータAが算出される。この演算手法の利点を、図10および図11を参照しながら説明する。
【0081】
図10は、本実施形態の上述した同定演算手法で算出したモデルパラメータAを用いて、誤差KTHERRCORを演算した場合の演算結果例を示しており、図11は、比較のために、前述した式(9)により算出したモデルパラメータAを用いて、誤差KTHERRCORを演算した場合の演算結果例を示している。なお、両図中の■で示すデータは演算開始直後のものを、▽で示すデータは■で示すデータよりも演算時間が経過したときのものを、×で示すデータは▽で示すデータよりも演算時間がさらに経過したときのものをそれぞれ表している。
【0082】
両図を比較すると明らかなように、図11の場合、演算時間の経過に伴い、スロットル弁開度THのサンプリングデータの多い領域での演算結果が、モデルパラメータAの演算結果に反映される度合が高くなってしまい、その結果、誤差KTHERRCORの演算結果を示す曲線が変化していることが判る。すなわち、モデルパラメータAの同定精度が低下していることが判る。これに対して、図10に示す本実施形態の手法の場合、演算時間が経過した際、スロットル弁開度THのサンプリングデータがある領域に偏った状態になったとしても、前述した均等重み付けの手法により、その領域での演算結果がモデルパラメータAの演算結果に反映される度合が他の領域と同じようになることで、誤差KTHERRCORの演算結果を示す曲線が変化していないことが判る。すなわち、モデルパラメータAの同定演算結果において、高い算出精度を確保できていることが判る。
【0083】
次に、図12を参照しながら、大気圧推定処理について説明する。この処理は、以下に述べるように、推定大気圧HPAおよびその初期値である初期推定大気圧HPAiniを算出するものであり、ECU2によって、クランキング開始以降、CRK信号が所定回数発生するごとに実行される。
【0084】
同図に示すように、まず、ステップ60で、初期圧算出済みフラグF_FINHPAINIが「1」であるか否かを判別する。この判別結果がNOのときには、ステップ61に進み、初期推定大気圧HPAiniを算出する。このステップ61では、初期推定大気圧の前回値HPAinizと吸気圧PBAを比較し、両者のうちの大きい方が、初期推定大気圧HPAiniとして設定される。
【0085】
次いで、ステップ62に進み、始動モードフラグF_STMODが「1」であるか否かを判別する。この始動モードフラグF_STMODは、エンジン3のクランキングが終了するまでの間は「1」に設定され、クランキングが終了したときに「0」に設定される。このステップ62の判別結果がYESで、クランキング中のときには、そのまま本処理を終了する。
【0086】
一方、ステップ62の判別結果がNOで、クランキングが終了したときには、初期推定大気圧HPAiniの算出を終了すべきであると判定して、ステップ63に進み、それを表すために、初期圧算出済みフラグF_FINHPAINIを「1」に設定した後、本処理を終了する。
【0087】
このように、ステップ63で、初期圧算出済みフラグF_FINHPAINIが「1」に設定されると、前述したステップ60の判別結果がYESとなり、その場合には、ステップ64に進み、推定大気圧HPAの算出処理を以下に述べるように実行する。その後、本処理を終了する。
【0088】
次に、図13を参照しながら、推定大気圧HPAの算出処理について説明する。同図に示すように、まず、ステップ70で、初期設定フラグF_FINHPAINIRが「1」であるか否かを判別する。今回のループが本処理の1回目の制御タイミングであるときには、ステップ70の判別結果がNOとなり、その場合には、ステップ71に進み、推定大気圧HPAおよび遅延大気圧HPADをいずれも初期推定大気圧HPAiniに設定する。
【0089】
次いで、ステップ72に進み、初期設定フラグF_FINHPAINIRを「1」に設定した後、本処理を終了する。
【0090】
このように、ステップ72で、初期設定フラグF_FINHPAINIRが「1」に設定されると、前述したステップ70の判別結果がYESとなり、その場合には、ステップ73に進み、前述した図7のステップ11と同じ手法により、開度関数値の補正後マップ値KTH_Fを算出する。
【0091】
次いで、ステップ74に進み、流量関数値FPBAPAを算出する。このステップ74では、圧力比R_PHDを、吸気圧PBAと前述した遅延推定大気圧HPADとの比PBA/HPDAとして算出するとともに、前述した図6のマップにおいて、横軸の圧力比R_PHを圧力比R_PHDに置き換えたマップを用い、このマップを圧力比R_PHDに応じて検索することにより、流量関数値FPBAPAが算出される。
【0092】
次に、ステップ75に進み、前述した図7のステップ13と同様に、吸気温TAに応じて、図示しないマップを検索することにより、吸気温TAの平方根RTTAを算出する。その後、ステップ76で、エンジン回転数NEに応じて、図14に示すマップを検索することにより、回転数補正係数KTHNEを算出する。この回転補正係数KTHNEは、エアフローセンサ20よりも上流側に配置されたエアクリーナ(図示せず)の圧力損失を補正するための値である。
【0093】
ステップ76に続くステップ77で、下式(20)により、推定通過空気量HGAIRTHを算出する。
【数20】
【0094】
この式(20)は、前述した式(6)において、右辺の通過空気量GAIRTHを推定通過空気量HGAIRTHに、左辺の大気圧PAおよび開度関数KTHを遅延推定大気圧HPADおよび補正後マップ値KTH_Fにそれぞれ置き換えたものに相当する。
【0095】
次いで、ステップ78に進み、下式(21)により、空気量偏差DGAIRを算出する。
【数21】
【0096】
次に、ステップ79で、車速VPが所定車速VPLよりも大きいか否かを判別する。この判別結果がYESのときには、車両が走行中であると判定して、ステップ80に進み、空気量偏差DGAIRに応じて、図15に示すマップを検索することにより、補正項CORHPAを算出する。
【0097】
一方、ステップ79の判別結果がNOのときには、停車中であると判定して、ステップ81に進み、補正項CORHPAを値0に設定する。
【0098】
以上のステップ80または81に続くステップ82で、下式(22)により、更新推定大気圧HPACALを算出する。
【数22】
【0099】
次いで、ステップ83に進み、下式(23)に示す加重平均演算(なまし演算)により、推定大気圧HPAを算出する。
【数23】
【0100】
上式(23)のCA1は、重み係数であり、0<CA1<1が成立するような所定値に設定されている。また、HAPzは、推定大気圧HPAの前回値である。
【0101】
次に、ステップ84で、上記のように算出した推定大気圧の今回値HPAを遅延推定大気圧HPADに設定した後、本処理を終了する。
【0102】
以上のように、この推定大気圧HPAの算出処理では、更新推定大気圧HPACALが、推定大気圧の前回値HPAzを補正項CORHPAで補正することにより算出されるとともに、補正項CORHPAが空気量偏差DGAIRに応じて算出されるので、更新推定大気圧HPACALは、空気量偏差DGAIRが値0になるように算出される。言い換えれば、更新推定大気圧HPACALは、推定通過空気量HGAIRTHが吸入空気量GAIRに一致するように算出され、そのような更新推定大気圧HPACALと推定大気圧の前回値HPAzとの加重平均演算によって、推定大気圧HPAが算出されるので、推定大気圧HPAを実際の大気圧PAに精度よく追従するように算出することができる。
【0103】
以下、図16を参照しながら、吸入空気量GAIRの算出処理について説明する。この処理は、以下に述べるように、エアフローセンサ20の検出信号の出力電圧値VAFMを用いて、吸入空気量GAIRを算出するものであり、ECU2によって、CRK信号が所定回数発生するごとに実行される。
【0104】
まず、ステップ90で、出力電圧値VAFMに応じて、図17に示すマップを検索することにより、基本吸入空気量GAIRNを算出する。
【0105】
次いで、ステップ91に進み、基本吸入空気量GAIRNを補正係数KAFMERRで割った値GAIRN/KAFMERRを、吸入空気量GAIRとして設定する。この補正係数KAFMERRの算出手法については後述する。以上のようにステップ91で、吸入空気量GAIRを算出した後、本処理を終了する。なお、本実施形態では、基本吸入空気量GAIRNが基本吸気パラメータに相当し、補正係数KAFMERRが補正値に相当する。
【0106】
上記ステップ91において、補正係数KAFMERRを基本吸入空気量GAIRNを除算するための値として用いた理由は、前述した誤差補正係数KTHCORを、関数値誤差KTHERRの逆数として算出した理由と同じである。
【0107】
なお、図16の算出処理で算出された吸入空気量GAIRは、ECU2によって実行される各種の制御処理において用いられる。例えば、燃料噴射制御処理および点火時期制御処理において、燃料噴射量や点火時期を算出する際に用いられる。
【0108】
次に、図18を参照しながら、上記の補正係数KAFMERRの算出処理について説明する。この処理は、前述した関数値誤差KTHERRを用いる手法によって、補正係数KAFMERRを算出するものであり、ECU2によって、CRK信号が所定回数発生するごとに実行される。
【0109】
同図に示すように、まず、ステップ100で、前述した図7のステップ11と同じ手法により、開度関数値の補正後マップ値KTH_Fを算出する。
【0110】
次いで、ステップ101に進み、流量関数値FPBAPAを算出する。この場合、流量関数値FPBAPAは、前述した図6の横軸の圧力比R_PHを圧力比R_P(=PBA/PA)に置き換えたマップを用い、このマップを圧力比R_Pに応じて検索することにより算出される。
【0111】
次に、ステップ102で、前述した図7のステップ13と同じ手法により、吸気温TAの平方根RTTAを算出する。その後、ステップ103で、下式(24)により、開度関数値のモデル式値KTHCALを算出する。この式(24)は、前述した式(7)において、左辺のKTHをKTHCALに置き換えたものに相当する。
【数24】
【0112】
ステップ103に続くステップ104で、関数値誤差KTHERRを、モデル式値と補正後マップ値との比KTHCAL/KTH_Hに設定する。
【0113】
次いで、ステップ105に進み、スロットル弁開度THが前述した所定開度THB未満であるか否かを判別する。この判別結果がYESのときには、そのまま本処理を終了する。
【0114】
一方、ステップ105の判別結果がNOのときには、ステップ106に進み、圧力比R_Pが臨界圧力比R_CRIT未満であるか否かを判別する。この判別結果がNOのときには、そのまま本処理を終了する。
【0115】
一方、ステップ106の判別結果がYESのとき、すなわちTHB≦THかつR_CRIT<R_Pのときには、前述した第2誤差に起因して、モデル化誤差が発生する領域にあり、補正係数KAFMERRを更新すべきであると判定して、ステップ107に進み、下式(25)により、補正係数KAFMERRを算出する。その後、本処理を終了する。
【数25】
【0116】
上式(25)のCA2は、重み係数であり、0<CA2<1が成立するような所定値に設定されている。なお、この重み係数CA2を、エンジン回転数NEに応じてマップを検索する手法により算出してもよい。また、式(25)のKAFMERRzは、補正係数KAFMERRの前回値である。
【0117】
以上のように、図18の算出処理では、補正係数KAFMERRは、その前回値KAFMERRzと関数値誤差KTHERRの加重平均演算により算出されるので、補正係数KAFMERRを、関数値誤差KTHERRが表すモデル化誤差を反映した値として算出することができる。同じ理由により、何らかの原因で、関数値誤差KTHERRの演算結果において演算誤差が一時的に急増した場合でも、その影響を回避しながら、補正係数KAFMERRを精度よく算出することができる。
【0118】
次に、図19を参照しながら、吸気圧PBAの算出処理について説明する。この処理は、以下に述べるように、吸気圧センサ22の検出信号の出力電圧値VPBAを用いて、吸気圧PBAを算出するものであり、ECU2によって、CRK信号が所定回数発生するごとに実行される。
【0119】
まず、ステップ110で、出力電圧値VPBAに基づき、下式(26)により、基本吸気圧PBANを算出する。なお、下式(26)のα、β、γは所定値である。
【数26】
【0120】
次いで、ステップ111に進み、吸気圧PBAを、基本吸気圧PBANと補正項PBAERRCORとの和(PBAN+PBAERRCOR)に設定する。この補正項PBAERRCORの算出手法については後述する。以上のようにステップ111で、吸気圧PBAを算出した後、本処理を終了する。なお、本実施形態では、基本吸気圧PBANが基本吸気パラメータに相当し、補正項PBAERRCORが補正値に相当する。
【0121】
この場合、図19の算出処理で算出された吸気圧PBAは、ECU2によって実行される各種の制御処理において用いられる。例えば、燃料噴射制御処理および点火時期制御処理において、燃料噴射量や点火時期を算出する際に用いられる。
【0122】
次に、図20を参照しながら、上記の補正項PBAERRCORの算出処理について説明する。この処理は、前述した関数値誤差KTHERRを用いる手法によって、補正項PBAERRCORを算出するものであり、ECU2によって、CRK信号が所定回数発生するごとに実行される。
【0123】
同図を参照すると明らかなように、この処理のステップ120〜125は、図18のステップ100〜105と同様に構成されているので、以下の説明では、ステップ126以降を中心に説明する。この処理の場合、ステップ125の判別結果がYESで、THB≦THのときには、ステップ126に進み、圧力比R_Pが臨界圧力比R_CRIT以上であるか否かを判別する。この判別結果がNOのときには、そのまま本処理を終了する。
【0124】
一方、ステップ126の判別結果がYESで、R_CRIT≦R_Pのときには、前述した第3誤差に起因して、モデル化誤差が発生する領域にあり、補正項PBAERRCORを更新すべきであると判定して、ステップ127に進み、流量関数値の補正演算用値FPBAPACORを、流量関数値と関数値誤差との比FPBAPA/KTHERRに設定する。この流量関数値の補正演算用値FPBAPACORは、モデル化誤差によって生じている流量関数値FPBAPAの誤差を表す値である。
【0125】
次いで、ステップ128に進み、流量関数値の補正演算用値FPBAPACORに応じて、図21に示すマップを検索することにより、圧力比の補正演算用値R_PCORを算出する。このマップは、前述した図6のマップにおいて、横軸と縦軸の関係を入れ換えるとともに、縦軸を圧力比の補正演算用値R_PCORに、横軸を流量関数値の補正演算用値FPBAPACORにそれぞれ置き換えたものに相当する。以上のように算出される圧力比の補正演算用値R_PCORは、モデル化誤差によって生じている圧力比R_Pの誤差を表す値である。
【0126】
次に、ステップ129で、吸気圧の補正演算用値PBACORを、大気圧PAと圧力比の補正演算用値R_PCORとの積PA・R_PCORに設定する。この吸気圧の補正演算用値PBACORは、モデル化誤差によって生じている吸気圧PBAの誤差を表す値である。さらに、ステップ129に続くステップ130で、吸気圧誤差PBAERRを、吸気圧の補正演算用値PBACORと基本吸気圧PBANとの偏差PBACOR−PBANに設定する。
【0127】
次いで、ステップ131に進み、下式(27)により、補正項PBAERRCORを算出した後、本処理を終了する。
【数27】
【0128】
上式(27)のCA3は、重み係数であり、0<CA3<1が成立するような所定値に設定されている。なお、この重み係数CA3を、エンジン回転数NEに応じてマップを検索する手法により算出してもよい。また、式(27)のPBAERRCORzは、補正項PBAERRCORの前回値である。
【0129】
以上のように、図20の算出処理では、補正項PBAERRCORは、その前回値PBAERRCORzと吸気圧誤差PBAERRの加重平均演算により算出されるので、補正項PBAERRCORを、関数値誤差KTHERRが表すモデル化誤差を反映した値として算出することができる。同じ理由により、何らかの原因で、関数値誤差KTHERRの演算結果において演算誤差が一時的に急増した場合でも、その影響を回避しながら、補正項PBAERRCORを精度よく算出することができる。
【0130】
次に、図22を参照しながら、ECU2によって実行されるアイドルFB制御処理について説明する。このアイドルFB制御処理は、アイドル運転中、エンジン回転数NEが目標回転数NOBJに収束するように、スロットル弁開度THをフィードバック制御するものであり、所定の制御周期(例えば10msec)で実行される。
【0131】
同図に示すように、まず、ステップ140で、アイドルFB許可フラグF_IDLEFBが「1」であるか否かを判別する。このアイドルFB許可フラグF_IDLEFBは、アイドルFB制御処理の実行条件が成立しているか否かを表すものであり、図示しない設定処理において、エンジン3の運転状態(例えば、スロットル弁開度TH、エンジン回転数NEおよび車速VPなど)に基づき、アイドルFB制御処理の実行条件が成立しているときには「1」に、実行条件が不成立のときには「0」にそれぞれ設定される。
【0132】
ステップ140の判別結果がNOのときには、そのまま本処理を終了する。一方、ステップ140の判別結果がYESのときには、アイドルFB制御処理を実行すべきであると判定して、ステップ141に進み、下式(28)により、積分項の前回値IAINzを算出する。
【数28】
【0133】
上式(28)において、ITWは、水温補正項であり、エンジン3の冷却水温度に応じてマップ検索により算出される。また、IXREFは、積分項IAINの学習値であり、後述する手法によって算出される。さらに、IUPは、回転数補正項であり、エンジン回転数NEに応じてマップ検索により算出される。
【0134】
次に、ステップ142で、下式(29)により、回転数偏差DNEを算出する。
【数29】
この式(29)の目標回転数NOBJは、図示しない設定処理において、エンジン3の冷却水温度などに応じて設定される。
【0135】
次いで、ステップ143に進み、下式(30)により、積分項IAINを算出する。
【数30】
この式(30)のKIは積分項ゲインであり、エンジン3の運転状態(冷却水温度など)に応じてマップ検索により算出される。
【0136】
ステップ143に続くステップ144で、下式(31)により、比例項IPを算出する。
【数31】
この式(31)のKPは比例項ゲインであり、エンジン3の運転状態(冷却水温度など)に応じてマップ検索により算出される。
【0137】
次に、ステップ145で、下式(32)により、微分項IDを算出する。
【数32】
この式(32)において、KPは比例項ゲインであり、エンジン3の運転状態(冷却水温度など)に応じてマップ検索により算出される。また、DNEzは、回転数偏差DNEの前回値である。
【0138】
次いで、ステップ146に進み、フィードバック補正項IFBを算出する。具体的には、下式(33)により、フィードバック補正項IFBを算出し、その算出値にリミット処理を施すことによって、フィードバック補正項IFBが最終的に算出される。
【数33】
【0139】
以上のように、フィードバック補正項IFBは、PID制御アルゴリズムを適用した制御アルゴリズムによって、エンジン回転数NEを目標回転数NOBJに収束させるための値として算出される。
【0140】
次に、ステップ147で、下式(34)により、制御入力ICMDを算出する。
【数34】
【0141】
この式(34)において、ILOADは、負荷補正項であり、補機負荷などに応じて算出される。また、KIPA,IPAはそれぞれ、大気圧補正係数および大気圧補正項であり、大気圧PAに応じて算出される。
【0142】
ステップ147に続くステップ148で、学習値算出許可フラグF_IXREFが「1」であるか否かを判別する。この学習値算出許可フラグF_IXREFは、積分項の学習値IXREFの算出条件が成立しているか否かを表すものであり、図示しない設定処理において、エンジン3の運転状態(例えば、スロットル弁開度TH、エンジン回転数NEおよび車速VPなど)に基づき、学習値IXREFの算出条件が成立しているときには「1」に、算出条件が不成立のときには「0」にそれぞれ設定される。
【0143】
ステップ148の判別結果がNOのときには、そのまま本処理を終了する。一方、ステップ148の判別結果がYESのときには、学習値IXREFを算出すべきであると判定して、ステップ149に進み、学習値IXREF(フィードバック補正量)を算出する。具体的には、下式(35)に示す加重平均演算によって、学習値IXREFを算出し、その算出値にリミット処理を施すことにより、学習値IXREFが最終的に算出される。
【数35】
【0144】
この式(35)において、CB1は、重み係数であり、0<CB1<1が成立するような所定値に設定されている。また、IXREFzは、学習値IXREFの前回値である。このように、ステップ149で、学習値IXREFを算出した後、本処理を終了する。
【0145】
図22のアイドルFB制御処理において、制御入力ICMDが以上のように算出されると、この制御入力ICMDに対応する制御入力信号がTHアクチュエータ7bに供給される。それにより、制御入力ICMDに含まれているフィードバック補正項IFBの効果によって、エンジン回転数NEが目標回転数NOBJに収束するように、スロットル弁開度THがフィードバック制御される。
【0146】
次に、図23,24を参照しながら、ECU2によって実行される詰まり係数算出処理について説明する。この算出処理は、以下に述べるように、吸気通路6の詰まり度合を表す値として、詰まり係数KCLSを算出するものであり、所定の制御周期(例えば10msec)で実行される。
【0147】
図23に示すように、まず、ステップ160で、算出許可フラグF_KCLSが「1」であるか否かを判別する。この算出許可フラグF_KCLSは、詰まり係数KCLSの算出条件が成立しているか否かを表すものであり、図示しない設定処理において、ブローバイガスのリークの有無などに基づき、詰まり係数KCLSの算出条件が成立しているときには「1」に、算出条件が不成立のときには「0」にそれぞれ設定される。
【0148】
ステップ160の判別結果がNOのときには、そのまま本処理を終了する。一方、ステップ160の判別結果がYESのときには、詰まり係数KCLSを算出すべきであると判定して、ステップ161に進み、詰まり係数の前回値KCLSzをRAM内に記憶されている詰まり係数KCLSの値に設定する。
【0149】
次に、ステップ162,163において、学習値IXREFに応じて、図24に示すマップを検索することにより、スロットル弁開度の基準上限値thmaxおよび基準下限値thminをそれぞれ算出する。同図において、破線で示す基準上限値thmaxは、吸気通路6がスロットル弁7aを制御可能な限界の詰まり状態にあるときの、学習値IXREFに対するスロットル弁開度の値を表している。一方、実線で示す基準下限値thminは、吸気通路6の詰まりが発生していないときの、学習値IXREFに対するスロットル弁開度の値を表している。したがって、吸気通路6の詰まり度合が増大するのに伴い、学習値IXREFに対するスロットル弁開度の値は、基準下限値thminから基準上限値thmax側に向かって変化することになる。
【0150】
また、図24において、IXBASEは、学習値IXREFの所定のしきい値であり、このしきい値IXBASEは、IXREF>IXBASEが成立しているときに、吸気通路6の詰まりが発生していると推定できる値に設定されている。また、THMAX,THMINはそれぞれ、IXREF=IXBASEのときの、基準上限値thmaxおよび基準下限値thminの所定値である。
【0151】
ステップ163に続くステップ164で、下式(36)により、スロットル弁開度の暫定値thtmpを算出する。
【数36】
この式(36)から明らかなように、スロットル弁開度の暫定値thtmpは、詰まり係数の前回値KCLSzを重み係数とする、基準上限値thmaxおよび基準下限値thminの加重平均演算によって算出される。
【0152】
次いで、ステップ165に進み、下式(37)により、詰まり係数の暫定値kclstmpを算出する。
【数37】
この式(37)から明らかなように、詰まり係数の暫定値kclstmpは、スロットル弁開度の暫定値thtmpが基準下限値thminから基準上限値thmaxに近づくほど(すなわち、吸気通路6の詰まり度合がより大きくなるほど)、値0から値1により近づくように算出される。
【0153】
次に、ステップ166で、下式(38)〜(42)により、詰まり係数KCLSを算出した後、本処理を終了する。
【0154】
【数38】
【数39】
【数40】
【数41】
【数42】
【0155】
上式(38)において、KCLS_Lは下限しきい値を、CREFは所定値をそれぞれ表している。この下限しきい値KCLS_Lは、式(38)による算出結果が値0を下回っているときには、値0に設定される。また、上式(39)のKCLS_Hは上限しきい値を表しており、この上限しきい値KCLS_Hは、式(39)による算出結果が値1を上回っているときには、値1に設定される。式(40)〜(42)から明らかなように、下限しきい値KCLS_Lを下限とし、上限しきい値KCLS_Hを上限とするリミット処理を暫定値kclstmpに施すことによって、詰まり係数KCLSが算出される。
【0156】
以上のように、本実施形態では、図23に示す手法によって詰まり係数KCLSが算出される。これは、以下の理由による。すなわち、前述したように、アイドルFB制御処理では、制御入力ICMDに含まれるフィードバック補正項IFBが、エンジン回転数NEを目標回転数NOBJに収束させるための値として算出される。その場合、フィードバック補正項IFBに含まれる積分項IAINは、その学習値IXREFを用いて算出されるとともに、この学習値IXREFは、積分項IAINと学習値の前回値IXREFzの加重平均演算によって算出されるので、吸気通路6の詰まりが発生した際、学習値IXREFが増大することになるとともに、詰まり度合が大きいほど、学習値IXREFの増大度合がより大きくなる。したがって、吸気通路6の詰まり度合と相関性の高い学習値IXREFを用いることによって、詰まり係数KCLSを、吸気通路6の詰まり度合を適切に表す値として算出できることになる。この理由により、本実施形態では、図23に示す手法を用いて、詰まり係数KCLSが算出される。
【0157】
以上のように、本実施形態の吸気パラメータ算出装置1によれば、補正後マップ値KTH_Fが、マップ値KTHを詰まり係数KCLSを含む値KREF・(TH−THREF)2・KCLSで補正することによって算出されるので、補正後マップ値KTH_Fを、吸気通路6の詰まり度合を反映させた値として算出することができる。それにより、吸気通路6の詰まりに起因して、前述した詰まり誤差を生じている場合でも、この詰まり誤差の影響を回避しながら、補正後マップ値KTH_Fを精度よく算出することができる。
【0158】
また、通過空気量GAIRTHを算出する際、関数値誤差KTHERRが、モデル式値KTHCALと補正後マップ値KTH_Fとの比として算出されるので、モデル式(6)のモデル化誤差を表すものとして算出される。そして、TH<THBの領域では、そのような関数値誤差KTHERRを用いて、モデルパラメータAがオンボード同定され、オンボード同定されたモデルパラメータAを用いて、補正係数KTHCORが算出されるとともに、その補正係数KTHCORで基本通過空気量GAIRTHNを補正することにより、通過空気量GAIRTHが算出されるので、通過空気量GAIRTHを、モデル式(6)のモデル化誤差と、吸気通路6の詰まりに起因する詰まり誤差とが補正された値として算出することができる。それにより、通過空気量GAIRTHを精度よく算出することができる。
【0159】
また、通過空気量GAIRTHの算出式(11),(12)において、大気圧PAに代えて、推定大気圧HPAを用いているので、大気圧PAが変動しやすい条件下でも、大気圧変動の影響を回避しながら、通過空気量GAIRTHを算出することができ、その算出精度をさらに向上させることができる。
【0160】
さらに、モデルパラメータAがオンボード同定されるので、スロットル弁7aにおける経年変化および個体間のばらつきなどに起因して、誤差モデル式(8)が誤差KTHERRCORとスロットル弁開度THとの間の実際の関係から乖離した場合、すなわちモデル化誤差を生じた場合でも、オンボード同定されたモデルパラメータAを用いることによって、そのようなモデル化誤差を迅速に補償でき、誤差モデル式(8)を誤差KTHERRCORとスロットル弁開度THとの実際の関係に迅速に適合させることができる。それにより、補正係数KTHCORによる補正精度を向上させることができ、通過空気量GAIRTHの算出精度をより一層、向上させることができる。
【0161】
また、モデルパラメータAの同定演算では、スロットル弁開度THの領域ごとに算出した値KTHERRCOR・(TH−THB)2の4つの相加平均値に対して、均等重み付けでの加重平均演算を施すことにより、加重平均値XXYTTLを算出し、領域ごとに算出した値(TH−THB)4の4つの相加平均値に対して、均等重み付けでの加重平均演算を施すことにより、加重平均値XXXXTTLを算出し、前者を後者で除算することにより、モデルパラメータAが算出される。それにより、モデルパラメータAの同定演算中、スロットル弁開度THのサンプリングデータがある領域に偏った状態になったとしても、その領域での演算結果がモデルパラメータAの演算結果に反映される度合を他の領域と同じようにすることができ、モデルパラメータAの演算結果において、高い演算精度を確保することができる。
【0162】
さらに、エンジン始動後における車両の総走行距離DISTが所定値DLEARN未満であるときに、大気圧PAに代えて初期推定大気圧HPAiniを用いながら、モデルパラメータAの同定演算が実行され、DIST≧DLEARNのときに、モデルパラメータAの同定演算が禁止される。この場合、エンジン始動後での車両の総走行距離が小さいときには、スロットル弁開度THが低開度域で推移し、TH<THBの状態になる頻度が高いことで、モデルパラメータAの同定演算頻度を高めることができ、その演算精度をさらに向上させることができる。
【0163】
これに加えて、開度関数値のモデル式値KTHCALの算出において、大気圧PAに代えて、初期推定大気圧HPAiniが用いられるので、大気圧PAが変化しやすいような条件下でも、関数値誤差KTHERRを精度よく算出することができ、それにより、モデルパラメータAの演算精度をより一層、向上させることができる。以上のようにモデルパラメータAの演算において、高い演算精度を確保できることで、補正係数KTHCORの算出精度すなわち通過空気量GAIRTHの算出精度をさらに向上させることができる。
【0164】
一方、THB≦THの領域では、モデルパラメータAの同定演算が停止されるので、モデル化誤差が発生しない領域での無用な同定演算を回避することができ、演算負荷を低減することができる。
【0165】
また、吸入空気量GAIRを算出する際、補正係数KAFMERRで基本吸入空気量GAIRNを補正することにより、吸入空気量GAIRが算出され、この補正係数KAFMERRは、THB≦THかつR_P<R_CRITのとき、すなわち前述した第2誤差に起因して、モデル式(6)のモデル化誤差が発生していると推定されるときに、そのモデル化誤差を表す関数値誤差KTHERRと、補正係数の前回値KAFMERRzとの加重平均演算によって算出される。それにより、補正係数KAFMERRを、関数値誤差KTHERRが表すモデル化誤差を反映した値として算出することができ、吸入空気量GAIRを精度よく算出することができる。
【0166】
さらに、吸気圧PBAを算出する際、補正項PBAERRCORで基本吸気圧PBANを補正することにより、吸気圧PBAが算出され、この補正項PBAERRCORは、R_CRIT≦R_Pのとき、すなわち前述した第3誤差に起因して、モデル式(6)のモデル化誤差が発生していると推定されるときに、そのモデル化誤差を表す関数値誤差KTHERRを用いて算出されるので、この補正項PBAERRCORを、関数値誤差KTHERRが表すモデル化誤差を反映した値として算出することができ、吸気圧PBAを精度よく算出することができる。
【0167】
また、以上のように補正された吸気圧PBAおよび吸入空気量GAIRと、前述した補正係数KTHCORとを用いて、推定通過空気量HGAIRTHが算出されるので、この推定通過空気量HGAIRTHの算出精度を向上させることができる。さらに、そのような推定通過空気量HGAIRTHから吸入空気量GAIRを減算した値である空気量偏差DGAIRを用いて、補正項CORHPAが算出され、この補正項CORHPAを用いて、推定大気圧HPAが更新されるので、その算出精度を向上させることができる。これに加えて、そのような推定大気圧HPAを用いて通過空気量GAIRTHが算出されるので、通過空気量GAIRTHの算出精度をさらに向上させることができる。
【0168】
なお、実施形態では、モデルパラメータAの同定演算手法として、図9のステップ51,52で、前述した式(17),(18)により2つの加重平均値XXXXTTL,XXYTTLをそれぞれ算出し、ステップ53で、前述した式(19)により、モデルパラメータAを算出する手法を用いたが、これに代えて、以下の同定演算手法を用いてもよい。
【0169】
すなわち、ステップ51,52で、前述した式(17),(18)に代えて、下式(43),(44)を用いて、2つの加重平均値XXXXTTL,XXYTTLをそれぞれ算出した後、ステップ53で前述した式(19)により、モデルパラメータAを算出するように構成してもよい。
【数43】
【数44】
【0170】
上式(43),(44)のKG1〜KG4は、重み係数であり、KG1>KG2>KG3>KG4が成立し、かつKG1+KG2+KG3+KG4=1が成立するように設定される。上式(43)を参照すると明らかなように、加重平均値XXXXTTLは、4つの領域における値(TH−THB)4の相加平均値に対して、加重平均演算を施すことにより算出されるとともに、その重み係数KG1〜KG4は、スロットル弁開度THが小さい領域ほど、より大きな値に設定されている。また、加重平均値XXYTTLも、4つの領域における値KTHERRCOR・(TH−THB)2の相加平均値に対して、加重平均演算を施すことにより算出されるとともに、その重み係数KG1〜KG4は、加重平均値XXXXTTLと同じ値に設定されている。
【0171】
この場合、関数値誤差KTHERRは、前述したように、標準品(基準品)に対するスロットル弁7aの開口面積のずれに起因して発生するものであり、そのずれの影響度合は、スロットル弁開度THが小さいほど、より大きくなる。したがって、4つの重み係数KG1〜KG4を上記のように設定することによって、そのようなずれの影響度合を反映させながら、モデルパラメータAを同定することができ、それにより、補正係数KTHCORの算出精度を向上させることができる。なお、上記重み係数KG1〜KG4は、これらのうちのいずかが互いに同じ値になるように設定してもよい。
【0172】
また、実施形態は、誤差モデル式として、Y=A・X2の形式のものを用いた例であるが、本発明の誤差モデル式はこれに限らず、Y=a・X2+b・X+cの形式のものや、Y=a・X+bの形式のものを用いてもよい。なお、これらの形式の誤差モデル式を用いた場合、実施形態の誤差モデル式(8)を用いた場合と比較すると、演算精度の向上と演算負荷の低減とを両立させる観点からは、実施形態の誤差モデル式(8)を用いた場合の方が優れている。
【0173】
さらに、実施形態は、モデルパラメータAの同定演算を、エンジン始動後の車両の総走行距離DISTが所定値DLEARN未満であるときに実行した例であるが、本発明のモデルパラメータAの同定演算の実行条件はこれに限らず、モデルパラメータAを精度よく同定できる条件であればよい。例えば、始動後のエンジン3の運転時間が所定時間が経過していないことを、モデルパラメータAの同定演算の実行条件としてもよい。
【0174】
また、実施形態は、詰まり度合値として、詰まり係数KCLSを用いた例であるが、本発明の詰まり度合値はこれに限らず、吸気通路の詰まり度合を表す値であればよい。例えば、詰まり度合値として、詰まり係数KCLSの逆数(1/KCLS)を用いてもよく、その場合には、マップ値KTHと値KREF・(TH−THREF)2の積をこの逆数(1/KCLS)で除算することにより、補正後マップ値KTH_Fを算出すればよい。
【0175】
さらに、実施形態は、フィードバック補正量として、積分項の学習値IXREFを用いた例であるが、本発明のフィードバック補正量はこれに限らず、吸気絞り弁の開度をフィードバック制御するための値であればよい。例えば、フィードバック補正量として、積分項IAINやフィードバック補正項IFBを用いてもよく、その場合には、図24の横軸の学習値IXREFを積分項IAINまたはフィードバック補正項IFBに置き換えたマップを用いて、基準上限値thmaxおよび基準下限値thminを算出するように構成すればよい。このように構成した場合でも、吸気通路6の詰まり度合が増大すると、それに伴って、積分項IAINまたはフィードバック補正項IFBが増大するので、実施形態と同じ効果を得ることができる。
【0176】
一方、実施形態は、相関関係モデルとして、図2のマップを用いた例であるが、本発明の相関関係モデルはこれに限らず、吸気絞り弁の開度と開度関数値との相関関係を表すものであればよい。例えば、吸気絞り弁の開度と開度関数値との相関関係を定義した数式を、オフライン同定により決定し、そのような数式を相関関係モデルとして用いてもよい。
【0177】
また、実施形態は、吸気絞り弁としてスロットル弁7aを用いた例であるが、本発明の吸気絞り弁はこれに限らず、吸気通路に設けられ、吸気絞り弁を通過する空気量を変更可能な弁であればよい。
【符号の説明】
【0178】
1 吸気パラメータ算出装置
2 ECU(基本吸気パラメータ算出手段、第1開度関数値算出手段、第2開度関数 値算出手段、詰まり度合値算出手段、補正後第2開度関数値算出手段、補正値算 出手段、吸気パラメータ算出手段)
3 内燃機関
6 吸気通路
7a スロットル弁(吸気絞り弁)
NE 回転数
NOBJ 目標回転数
PA 大気圧(上流側圧力)
TH スロットル弁の開度(吸気絞り弁の開度)
KTHCAL 開度関数値のモデル式値(第1開度関数値)
KTH 開度関数値のマップ値(第2開度関数値)
IXREF 積分項の学習値(フィードバック補正量)
KCLS 詰まり係数(詰まり度合値)
KTH_F 補正後マップ値(補正後第2開度関数値)
KTHERR 関数値誤差(関数値比)
GAIRTH 通過空気量(吸気パラメータ)
GAIRTHN 基本通過空気量(基本吸気パラメータ)
KTHCOR 補正係数(補正値)
A モデルパラメータ
GAIR 吸入空気量(吸気パラメータ)
GAIRN 基本吸入空気量(基本吸気パラメータ)
KAFMERR 補正係数(補正値)
PBA 吸気圧(吸気パラメータ、下流側圧力)
PBAN 基本吸気圧(基本吸気パラメータ)
PBAERRCOR 補正項(補正値)
【特許請求の範囲】
【請求項1】
吸気通路に設けられた吸気絞り弁によって当該吸気絞り弁を通過する空気量が通過空気量として変更されるとともに、アイドル運転中の回転数が目標回転数に収束するように、前記吸気絞り弁の開度がフィードバック制御される内燃機関において、当該吸気通路内の空気の状態を表す吸気パラメータを算出する内燃機関の吸気パラメータ算出装置であって、
前記吸気パラメータの基本値として基本吸気パラメータを算出する基本吸気パラメータ算出手段と、
所定のモデリング手法によって導出された、前記吸気絞り弁の上流側おける前記吸気通路内の圧力である上流側圧力と、前記吸気絞り弁の下流側における前記吸気通路内の圧力である下流側圧力と、前記吸気絞り弁の開度によって定まる開度関数値と、前記通過空気量との関係を定義したモデル式を用いて、当該開度関数値の第1の算出値として第1開度関数値を算出する第1開度関数値算出手段と、
前記吸気絞り弁の開度と前記開度関数値との相関関係を表す相関関係モデルを用いて、前記開度関数値の第2の算出値として第2開度関数値を算出する第2開度関数値算出手段と、
前記吸気絞り弁の開度をフィードバック制御するためのフィードバック補正量に応じて、前記吸気通路の詰まり度合を表す詰まり度合値を算出する詰まり度合値算出手段と、
当該算出された詰まり度合値を用いて、前記算出された第2開度関数値を補正することにより、補正後第2開度関数値を算出する補正後第2開度関数値算出手段と、
前記算出された第1開度関数値および前記算出された補正後第2開度関数値の一方と他方との比である関数値比を用いて、補正値を算出する補正値算出手段と、
当該算出された補正値で前記基本吸気パラメータを補正することにより、前記吸気パラメータを算出する吸気パラメータ算出手段と、
を備えることを特徴とする内燃機関の吸気パラメータ算出装置。
【請求項1】
吸気通路に設けられた吸気絞り弁によって当該吸気絞り弁を通過する空気量が通過空気量として変更されるとともに、アイドル運転中の回転数が目標回転数に収束するように、前記吸気絞り弁の開度がフィードバック制御される内燃機関において、当該吸気通路内の空気の状態を表す吸気パラメータを算出する内燃機関の吸気パラメータ算出装置であって、
前記吸気パラメータの基本値として基本吸気パラメータを算出する基本吸気パラメータ算出手段と、
所定のモデリング手法によって導出された、前記吸気絞り弁の上流側おける前記吸気通路内の圧力である上流側圧力と、前記吸気絞り弁の下流側における前記吸気通路内の圧力である下流側圧力と、前記吸気絞り弁の開度によって定まる開度関数値と、前記通過空気量との関係を定義したモデル式を用いて、当該開度関数値の第1の算出値として第1開度関数値を算出する第1開度関数値算出手段と、
前記吸気絞り弁の開度と前記開度関数値との相関関係を表す相関関係モデルを用いて、前記開度関数値の第2の算出値として第2開度関数値を算出する第2開度関数値算出手段と、
前記吸気絞り弁の開度をフィードバック制御するためのフィードバック補正量に応じて、前記吸気通路の詰まり度合を表す詰まり度合値を算出する詰まり度合値算出手段と、
当該算出された詰まり度合値を用いて、前記算出された第2開度関数値を補正することにより、補正後第2開度関数値を算出する補正後第2開度関数値算出手段と、
前記算出された第1開度関数値および前記算出された補正後第2開度関数値の一方と他方との比である関数値比を用いて、補正値を算出する補正値算出手段と、
当該算出された補正値で前記基本吸気パラメータを補正することにより、前記吸気パラメータを算出する吸気パラメータ算出手段と、
を備えることを特徴とする内燃機関の吸気パラメータ算出装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【公開番号】特開2013−79613(P2013−79613A)
【公開日】平成25年5月2日(2013.5.2)
【国際特許分類】
【出願番号】特願2011−220425(P2011−220425)
【出願日】平成23年10月4日(2011.10.4)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】
【公開日】平成25年5月2日(2013.5.2)
【国際特許分類】
【出願日】平成23年10月4日(2011.10.4)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】
[ Back to top ]