以下、図面を参照しながら、本発明の第1実施形態に係る制御装置について説明する。この制御装置1は、図2に示すように、ECU2を備えており、このECU2は、後述するように、内燃機関(以下「エンジン」という)3の運転状態に応じて、バルブリフト制御、カム位相制御および圧縮比制御などの制御処理を実行する。
図1および図3に示すように、エンジン3は、4組のシリンダ3aおよびピストン3b(1組のみ図示)を有する直列4気筒ガソリンエンジンであり、図示しない車両に搭載されている。エンジン3は、シリンダ3aごとに設けられ、吸気ポートおよび排気ポートをそれぞれ開閉する吸気弁4および排気弁7と、吸気弁4駆動用の吸気カムシャフト5および吸気カム6と、吸気弁4を開閉駆動する可変式吸気動弁機構40と、排気弁7駆動用の排気カムシャフト8および排気カム9と、排気弁7を開閉駆動する排気動弁機構30と、可変圧縮比機構80などを備えている。
吸気弁4は、そのステム4aがガイド4bに摺動自在に嵌合しており、このガイド4bは、シリンダヘッド3cに固定されている。さらに、吸気弁4は、図4に示すように、上下のスプリングシート4c,4dと、これらの間に設けられたバルブスプリング4eとを備えており、このバルブスプリング4eにより、閉弁方向に付勢されている。
また、吸気カムシャフト5および排気カムシャフト8はそれぞれ、図示しないホルダを介して、シリンダヘッド3cに回動自在に取り付けられている。この吸気カムシャフト5の一端部上には、吸気スプロケット(図示せず)が同軸に配置され、回転自在に設けられている。この吸気スプロケットは、図示しないタイミングベルトを介してクランクシャフト3dに連結され、後述する可変カム位相機構70を介して吸気カムシャフト5に連結されている。以上の構成により、吸気カムシャフト5は、クランクシャフト3dが2回転するごとに1回転する。また、吸気カム6は、吸気カムシャフト5上にこれと一体に回転するようにシリンダ3aごとに設けられている。
さらに、可変式吸気動弁機構40は、吸気カムシャフト5の回転に伴って、各シリンダ3aの吸気弁4を開閉駆動するとともに、吸気弁4のリフトおよびバルブタイミングを無段階に変更するものであり、その詳細については、後述する。なお、本実施形態では、「吸気弁4のリフト(以下「バルブリフト」という)」は、吸気弁4の最大揚程を表すものとする。
一方、排気弁7は、そのステム7aがガイド7bに摺動自在に嵌合しており、このガイド7bは、シリンダヘッド3cに固定されている。さらに、排気弁7は、上下のスプリングシート7c,7dと、これらの間に設けられたバルブスプリング7eとを備えており、このバルブスプリング7eにより、閉弁方向に付勢されている。
また、排気カムシャフト8は、これと一体の排気スプロケット(図示せず)を備え、この排気スプロケットおよび図示しないタイミングベルトを介してクランクシャフト3dに連結されており、それにより、クランクシャフト3dが2回転するごとに1回転する。さらに、排気カム9は、排気カムシャフト8上にこれと一体に回転するようにシリンダ3aごとに設けられている。
さらに、排気動弁機構30は、ロッカアーム31を備えており、このロッカアーム31が排気カム9の回転に伴って回動することにより、バルブスプリング7eの付勢力に抗しながら、排気弁7を開閉駆動する。
一方、エンジン3には、クランク角センサ20が設けられている。このクランク角センサ20は、マグネットロータおよびMREピックアップで構成されており、クランクシャフト3dの回転に伴い、いずれもパルス信号であるCRK信号およびTDC信号をECU2に出力する。このCRK信号は、クランク角10゜ごとに1パルスが出力され、ECU2は、このCRK信号に基づき、エンジン3の回転数(以下「エンジン回転数」という)NEを算出する。また、TDC信号は、各シリンダ3aのピストン3bが吸気行程のTDC位置よりも若干、手前の所定のクランク角位置にあることを表す信号であり、所定クランク角ごとに1パルスが出力される。
また、エンジン3の吸気管10には、上流側から順に、エアフローセンサ21、スロットル弁11、吸気管内絶対圧センサ22および燃料噴射弁12などが設けられている。
このエアフローセンサ21は、熱線式エアフローメータで構成されており、スロットル弁11を通過する吸入空気量(以下「TH通過吸入空気量」という)GTHを表す検出信号をECU2に出力する。また、スロットル弁11は、吸気管10の途中に回動自在に設けられており、当該回動に伴う開度の変化によりTH通過吸入空気量GTHを変化させる。さらに、スロットル弁11は、ECU2により、図示しないアクチュエータを介して、通常運転時、全開状態に保持されるとともに、可変式吸気動弁機構40の故障時またはマスタバック(図示せず)への負圧供給時には、開度が制御される。
また、吸気管10のスロットル弁11よりも下流側の部分は、サージタンク10aになっており、このサージタンク10aに、吸気管内絶対圧センサ22が設けられている。この吸気管内絶対圧センサ22は、例えば半導体圧力センサなどで構成され、吸気管10内の絶対圧(以下「吸気管内絶対圧」という)PBAを表す検出信号をECU2に出力する。
さらに、燃料噴射弁12は、ECU2からの駆動信号によって駆動され、燃料を吸気管10内に噴射する。また、エンジン3のシリンダヘッド3cには、点火プラグ13(図2参照)が取り付けられている。この点火プラグ13は、点火時期に応じた駆動信号がECU2から加えられることによって放電し、燃焼室内の混合気を燃焼させる。
次に、前述した可変式吸気動弁機構40について説明する。この可変式吸気動弁機構40は、図4に示すように、吸気カムシャフト5、吸気カム6、可変バルブリフト機構50および可変カム位相機構70などで構成されている。
この可変バルブリフト機構50(可動部駆動機構)は、吸気カムシャフト5の回転に伴って吸気弁4(可動部)を開閉駆動するとともに、バルブリフトLiftinを所定の最大値Liftinmaxと最小値Liftinminとの間で無段階に変更するものであり、シリンダ3aごとに設けられた四節リンク式のロッカアーム機構51と、これらのロッカアーム機構51を同時に駆動するリフトアクチュエータ60(図5参照)などを備えている。
各ロッカアーム機構51は、ロッカアーム52および上下のリンク53,54などで構成されている。この上リンク53の一端部は、上ピン55を介して、ロッカアーム52の上端部に回動自在に取り付けられており、他端部は、ロッカアームシャフト56に回動自在に取り付けられている。このロッカアームシャフト56は、図示しないホルダを介して、シリンダヘッド3cに取り付けられている。
また、ロッカアーム52の上ピン55上には、ローラ57が回動自在に設けられている。このローラ57は、吸気カム6のカム面に当接しており、吸気カム6が回転する際、そのカム面に案内されながら吸気カム6上を転動する。これにより、ロッカアーム52は上下方向に駆動されるとともに、上リンク53が、ロッカアームシャフト56を中心として回動する。
さらに、ロッカアーム52の吸気弁4側の端部には、アジャストボルト52aが取り付けられている。このアジャストボルト52aは、吸気カム6の回転に伴ってロッカアーム52が上下方向に移動すると、バルブスプリング4eの付勢力に抗しながら、ステム4aを上下方向に駆動し、吸気弁4を開閉する。
また、下リンク54の一端部は、下ピン58を介して、ロッカアーム52の下端部に回動自在に取り付けられており、下リンク54の他端部には、連結ピン59が回動自在に取り付けられている。下リンク54は、この連結ピン59を介して、リフトアクチュエータ60の後述する短アーム65に連結されている。
一方、リフトアクチュエータ60は、図5に示すように、モータ61、ナット62、リンク63、長アーム64および短アーム65などを備えている。このモータ61は、ECU2に接続され、エンジン3のヘッドカバー3gの外側に配置されている。モータ61の回転軸は、雄ねじが形成されたねじ軸61aになっており、このねじ軸61aに、ナット62が螺合している。このナット62は、リンク63を介して、長アーム64に連結されている。このリンク63の一端部は、ピン63aを介して、ナット62に回動自在に取り付けられ、他端部は、ピン63bを介して、長アーム64の一端部に回動自在に取り付けられている。
また、長アーム64の他端部は、回動軸66を介して短アーム65の一端部に取り付けられている。この回動軸66は、断面円形に形成され、エンジン3のヘッドカバー3gを貫通しているとともに、これに回動自在に支持されている。この回動軸66の回動に伴い、長アーム64および短アーム65はこれと一体に回動する。
さらに、短アーム65の他端部には、前述した連結ピン59が回動自在に取り付けられており、これにより、短アーム65は、連結ピン59を介して、下リンク54に連結されている。
次に、以上のように構成された可変バルブリフト機構50の動作について説明する。この可変バルブリフト機構50では、ECU2からの後述するリフト制御入力Uliftinがリフトアクチュエータ60に入力されると、ねじ軸61aが回転し、それに伴うナット62の移動により、長アーム64および短アーム65が回動軸66を中心として回動するとともに、この短アーム65の回動に伴って、ロッカアーム機構51の下リンク54が、下ピン58を中心として回動する。すなわち、リフトアクチュエータ60により、下リンク54が駆動される。
その際、ECU2の制御により、短アーム65の回動範囲は、図5(a)に示す最大リフト位置と図5(b)に示す最小リフト位置との間に規制され、それにより、下リンク54の回動範囲も、図4に実線で示す最大リフト位置と、図4に2点鎖線で示す最小リフト位置との間に規制される。
下リンク54が最大リフト位置にある場合、ロッカアームシャフト56、上下のピン55,58および連結ピン59によって構成される四節リンクでは、上ピン55および下ピン58の中心間の距離が、ロッカアームシャフト56および連結ピン59の中心間の距離よりも長くなるように構成されており、それにより、図6(a)に示すように、吸気カム6が回転すると、これとローラ57との当接点の移動量よりも、アジャストボルト52aの移動量の方が大きくなる。
一方、下リンク54が最小リフト位置にある場合、上記四節リンクでは、上ピン55および下ピン58の中心間の距離が、ロッカアームシャフト56および連結ピン59の中心間の距離よりも短くなるように構成されており、それにより、図6(b)に示すように、吸気カム6が回転すると、これとローラ57との当接点の移動量よりも、アジャストボルト52aの移動量の方が小さくなる。
以上の理由により、吸気弁4は、下リンク54が最大リフト位置にあるときには、最小リフト位置にあるときよりも大きなバルブリフトLiftinで開弁する。具体的には、吸気カム6の回転中、吸気弁4は、下リンク54が最大リフト位置にあるときには、図7の実線で示すバルブリフト曲線に従って開弁し、バルブリフトLiftinは、その最大値Liftinmaxを示す。一方、下リンク54が最小リフト位置にあるときには、図7の2点鎖線で示すバルブリフト曲線に従って開弁し、バルブリフトLiftinは、その最小値Liftinminを示す。
したがって、この可変バルブリフト機構50では、アクチュエータ60を介して、下リンク54を最大リフト位置と最小リフト位置との間で回動させることにより、バルブリフトLiftinを、最大値Liftinmaxと最小値Liftinminとの間で無段階に変化させることができる。
また、エンジン3には、回動角センサ23が設けられており(図2参照)、この回動角センサ23は、回動軸66すなわち短アーム65の回動角を検出して、その検出信号をECU2に出力する。ECU2は、この回動角センサ23の検出信号に基づき、バルブリフトLiftinを算出する。
次に、前述した可変カム位相機構70(可動部駆動機構)について説明する。この可変カム位相機構70は、可動部としての吸気カムシャフト5のクランクシャフト3dに対する相対的な位相(以下「カム位相」という)Cainを無段階に進角側または遅角側に変更するものであり、吸気カムシャフト5の吸気スプロケット側の端部に設けられている。図8に示すように、可変カム位相機構70は、ハウジング71、3枚羽根式のベーン72、油圧ポンプ73および電磁弁機構74などを備えている。
このハウジング71は、吸気カムシャフト5上の吸気スプロケットと一体に構成されており、互いに等間隔に形成された3つの隔壁71aを備えている。ベーン72は、吸気カムシャフト5の吸気スプロケット側の端部に同軸に取り付けられ、吸気カムシャフト5から外方に放射状に延びているとともに、ハウジング71内に回転可能に収容されている。また、ハウジング71では、隔壁71aとベーン72との間に、3つの進角室75および3つの遅角室76が形成されている。
油圧ポンプ73は、クランクシャフト3dに連結された機械式のものであり、クランクシャフト3dが回転すると、それに伴って、エンジン3のオイルパン3eに蓄えられた潤滑用のオイルを、油路77cを介して吸い込むとともに、これを昇圧した状態で、油路77cを介して電磁弁機構74に供給する。
電磁弁機構74は、スプール弁機構74aおよびソレノイド74bを組み合わせたものであり、進角油路77aおよび遅角油路77bを介して、進角室75および遅角室76にそれぞれ接続されているとともに、油圧ポンプ73から供給された油圧を、進角油圧Padおよび遅角油圧Prtとして、進角室75および遅角室76にそれぞれ出力する。電磁弁機構74のソレノイド74bは、ECU2に電気的に接続されており、ECU2からの後述する位相制御入力Ucainが入力された際、スプール弁機構74aのスプール弁体を、位相制御入力Ucainに応じて所定の移動範囲内で移動させることにより、進角油圧Padおよび遅角油圧Prtをいずれも変化させる。
以上の可変カム位相機構70では、油圧ポンプ73の動作中、電磁弁機構74が後述する位相制御入力Ucainに応じて作動することにより、進角油圧Padが進角室75に、遅角油圧Prtが遅角室76にそれぞれ供給され、それにより、ベーン72とハウジング71との間の相対的な位相が進角側または遅角側に変更される。その結果、前述したカム位相Cainが、最遅角値Cainrt(例えばカム角0゜に相当する値)と最進角値Cainad(例えばカム角55゜分に相当する値)の間で連続的に変化し、それにより、吸気弁4のバルブタイミングは、図9に実線で示す最遅角タイミングと、図9に2点鎖線で示す最進角タイミングとの間で、無段階に変更される。
なお、この可変カム位相機構70には、図示しないロック機構が設けられており、このロック機構により、油圧ポンプ73からの供給油圧が低いときには、可変カム位相機構70の動作がロックされる。すなわち、可変カム位相機構70によるカム位相Cainの変更が禁止され、カム位相Cainがアイドル運転やエンジン始動に適した値にロックされる。
以上のように、本実施形態の可変式吸気動弁機構40では、可変バルブリフト機構50により、バルブリフトLiftinが無段階に変更されるとともに、可変カム位相機構70により、カム位相Cainすなわち吸気弁4のバルブタイミングが前述した最遅角タイミングと最進角タイミングとの間で、無段階に変更される。また、ECU2により、後述するように、可変バルブリフト機構50および可変カム位相機構70を介して、バルブリフトLiftinおよびカム位相Cainがそれぞれ制御される。
一方、吸気カムシャフト5の可変カム位相機構70と反対側の端部には、カム角センサ24(図2参照)が設けられている。このカム角センサ24は、例えばマグネットロータおよびMREピックアップで構成されており、吸気カムシャフト5の回転に伴い、パルス信号であるCAM信号を所定のカム角(例えば1゜)ごとにECU2に出力する。ECU2は、このCAM信号および前述したCRK信号に基づき、カム位相Cainを算出する。
次に、図10を参照しながら、前述した可変圧縮比機構80(可動部駆動機構)について説明する。この可変圧縮比機構80は、可動部としてのピストン3bの上死点位置すなわちピストン3bのストロークを変更することにより、圧縮比Crを所定の最大値Crmaxと最小値Crminとの間で無段階に変更するものであり、ピストン3bとクランクシャフト3dの間に連結された複合リンク機構81と、複合リンク機構81の動きを制御するための制御軸85と、制御軸85を駆動するための圧縮比アクチュエータ87などで構成されている。
複合リンク機構81は、上リンク82、下リンク83および制御リンク84などで構成されている。上リンク82は、いわゆるコンロッドに相当するものであり、その上端部がピストンピン3fを介してピストン3bに回動自在に連結され、下端部がピン83aを介して、下リンク83の一端部に回動自在に連結されている。
下リンク83は、三角形状のものであり、上リンク82との連結端部以外の2つの端部はそれぞれ、クランクピン83bを介してクランクシャフト3dに、制御ピン83cを介して制御リンク84の一端部に回動自在に連結されている。以上の構成により、ピストン3bの往復運動が、複合リンク機構81を介してクランクシャフト3dに伝達され、クランクシャフト3dの回転運動に変換される。
また、制御軸85は、クランクシャフト3dと同様に、図中の奥行き方向に延びており、シリンダブロックに回動自在に支持された回動軸部85aと、これと一体の偏心軸部85bおよびアーム86を備えている。この偏心軸部85bには、制御リンク84の下端部が回動自在に連結されている。また、アーム86の先端部は、フォーク部86aになっており、このフォーク部86aには、圧縮比アクチュエータ87の駆動軸87bの先端部が回動自在に連結されている。
圧縮比アクチュエータ87は、モータおよび減速機構(いずれも図示せず)を組み合わせたものであり、これらを内蔵するケーシング87aと、このケーシング87aから出没する方向に移動可能な駆動軸87bなどを備えている。この圧縮比アクチュエータ87では、ECU2からの後述する圧縮比制御入力Ucrによってモータが正逆回転方向に駆動されると、駆動軸87bが、ケーシング87aから最も突出する低圧縮比位置(図10(a)に示す位置)と、ケーシング87a側に最も退避する高圧縮比位置(図10(b)に示す位置)との間で移動する。
以上の構成により、この可変圧縮比機構80では、アクチュエータ87の駆動軸87bが、低圧縮比位置から高圧縮比位置側に移動すると、アーム86を介して、制御軸85が回動軸部85aを中心として図中の反時計回りに回動するように駆動され、それに伴い、偏心軸部85bが下方に移動する。それにより、制御リンク84全体が押し下げられるのに伴い、下リンク83がクランクピン83bを中心として図中の時計回りに回動するとともに、上リンク82がピストンピン3fを中心として図中の反時計回りに回動する。その結果、ピストンピン3f、上ピン83aおよびクランクピン83bが、低圧縮比位置のときよりも直線状に近づくことで、ピストン3bが上死点に到達したときのピストンピン3fとクランクピン83bを結ぶ直線距離が長くなり(すなわちピストン3bのストロークが長くなり)、燃焼室の容積が小さくなることによって、圧縮比Crが高くなる。
一方、上記とは逆に、アクチュエータ87の駆動軸87bが、高圧縮比位置から低圧縮比位置側に移動すると、回動軸部85aが図中の時計回りに回動し、それに伴い、偏心軸部85bが上方に移動することで、制御リンク84全体が押し上げられる。これにより、上記とは全く逆の動作により、下リンク83が、反時計回りに回動するとともに、上リンク82が時計回りに回動する。これにより、ピストン3bが上死点に到達したときのピストンピン3fとクランクピン83bを結ぶ直線距離が短くなり(すなわちピストン3bのストロークが短くなり)、燃焼室の容積が大きくなることによって、圧縮比Crが低くなる。以上のように、この可変圧縮比機構80では、制御軸85の回動角を変更することにより、圧縮比Crが前述した所定の最大値Crmaxと最小値Crminとの間で無段階に変更される。
また、エンジン3には、制御軸85の付近に、制御角センサ25が設けられており(図2参照)、この制御角センサ25は、制御軸85の回動角を表す検出信号をECU2に出力する。ECU2は、この制御角センサ25の検出信号に基づき、圧縮比Crを算出する。
さらに、図2に示すように、ECU2には、アクセル開度センサ26およびイグニッション・スイッチ(以下「IG・SW」という)27が接続されている。このアクセル開度センサ26は、車両の図示しないアクセルペダルの踏み込み量(以下「アクセル開度」という)APを表す検出信号をECU2に出力する。また、IG・SW27は、イグニッションキー(図示せず)操作によりON/OFFされるとともに、そのON/OFF状態を表す信号をECU2に出力する。
ECU2は、CPU2a、RAM2b、ROM2c(外乱補償値記憶手段)およびI/Oインターフェース(図示せず)などからなるマイクロコンピュータで構成されており、前述した各種のセンサ20〜26の検出信号およびIG・SW27のON/OFF信号などに応じて、エンジン3の運転状態を判別するとともに、各種の制御を実行する。具体的には、ECU2は、後述するように、可変カム位相機構70および可変バルブリフト機構50を介して、カム位相CainおよびバルブリフトLiftinをそれぞれ制御するとともに、可変圧縮比機構80を介して、圧縮比Crを制御する。また、運転状態に応じて、点火プラグ13の点火時期を制御する。
なお、本実施形態では、ECU2により、外乱補償値記憶手段、外乱補償値選択手段、制御入力算出手段、目標カム位相設定手段、目標バルブリフト設定手段および目標圧縮比設定手段が構成されている。また、本実施形態では、カム位相Cainが、可動部の動作タイミング、カム位相パラメータおよび負荷パラメータに相当し、バルブリフトLiftinが、可動部の動作量、バルブリフトパラメータおよび負荷パラメータに相当する。
次に、本実施形態の制御装置1について説明する。この制御装置1は、カム位相コントローラ100(図11参照)、バルブリフトコントローラ110(図22参照)および圧縮比コントローラ120(図25参照)を備えており、これらはいずれも、具体的には、ECU2により構成されている。まず、カム位相コントローラ100について説明すると、このカム位相コントローラ100は、図11に示すように、目標カム位相算出部101、補償要素102、2自由度スライディングモードコントローラ(以下「2自由度SLDコントローラ」という)103、加算要素104、およびDSMコントローラ105を備えている。
このカム位相コントローラ100では、以下に述べるように、位相制御入力Ucainが算出されるとともに、この位相制御入力Ucainが可変カム位相機構70に入力されることにより、カム位相Cainが目標カム位相Cain_cmdになるように制御される。
まず、目標カム位相算出部101(目標カム位相設定手段)では、目標カム位相Cain_cmd(カム位相パラメータ)が、エンジン回転数NEおよびアクセル開度APに応じて、後述するマップ(図33参照)を検索することにより算出される。
また、補償要素102(外乱補償値記憶手段、外乱補償値選択手段)では、後述するように、上記目標カム位相算出部101で算出された目標カム位相Cain_cmdなどに応じて、カム位相制御用の外乱補償値Rcyc_cinが算出される。
さらに、2自由度SLDコントローラ103(制御入力算出手段)では、目標カム位相Cain_cmdおよびカム位相Cainに応じて、後述する制御アルゴリズムにより、カム位相制御用のSLD制御入力Rsldが算出される。
一方、加算要素104(制御入力算出手段)では、補償要素102で算出されたカム位相制御用の外乱補償値Rcyc_cinと、2自由度SLDコントローラ103で算出されたカム位相制御用のSLD制御入力Rsldとの和として、カム位相制御用の参照入力Rsld_f(制御入力)が算出される。さらに、DSMコントローラ105では、このカム位相制御用の参照入力Rsld_fに応じて、後述する制御アルゴリズムにより、位相制御入力Ucainが算出される。
次に、前述した補償要素102について説明する。この補償要素102では、以下に述べるように、カム位相制御用の外乱補償値Rcyc_cinが、目標カム位相Cain_cmd、クランク角カウンタの計数値C_crk、バルブリフトLiftinおよびエンジン回転数NEに応じて、算出される。なお、クランク角カウンタは、クランク角を計数するためのアップカウンタであり、その計数値C_crkは、後述するように、CRK信号の発生に同期して値10ずつインクリメントされるとともに、値720に達したときに値0にリセットされる。
このカム位相制御用の外乱補償値Rcyc_cinは、エンジン3の運転中、吸気カムシャフト5の回転、すなわち吸気カム6の回転に伴って周期的に発生すると予想される周期的外乱を補償するためのものである。以下、周期的外乱およびそれを補償するための外乱補償値Rcyc_cinの算出手法を説明する。まず、理解の容易化のために、1つのシリンダ3aにおける場合(言い換えれば、単気筒エンジンの場合)を例にとって、図12〜図17を参照しながら説明する。図12(a)に示すように、吸気カム6が、図中の矢印Y1方向に回転し、吸気弁4を開弁方向に駆動している状態では、吸気カム6は、吸気弁4のバルブスプリング4eの反力に起因して、図中の矢印Y2方向への回転モーメントとして作用する外乱を受ける。
一方、図12(b)に示すように、吸気カム6が吸気弁4を閉弁方向に駆動している状態では、吸気カム6は、吸気弁4のバルブスプリング4eの付勢力に起因して、図中の矢印Y3方向への回転モーメントとして作用する外乱を受ける。以上のような外乱は、吸気カムシャフト5の回転に伴って周期的に発生し、その振幅も周期的に変化するので、以下、周期的外乱という。
ここで、カム位相Cainが目標カム位相Cain_cmdに収束するようにフィードバック制御を実行している場合において、以上のような周期的外乱を受けると、図13に示すように、目標カム位相Cain_cmdが一定に保持されているにもかかわらず、カム位相Cainが、吸気カム6により吸気弁4が開弁側に駆動されている間は遅角側にずれ、閉弁側に駆動されている間は進角側にずれてしまう
このようなカム位相Cainのずれが発生すると、吸気弁4のバルブタイミングが、可変カム位相機構70がない場合と比べて変化してしまう。具体的には、図14および図15に示すように、吸気弁4のバルブリフト曲線は、エンジン3が可変カム位相機構70を備えている場合(図中に実線で示す曲線の場合)、これを備えていない場合(図中に破線で示す曲線)と比べて、吸気弁4の開弁時間が短くなり、その結果、吸入空気量が変化することで、エンジン3の発生トルクが変動してしまうとともに、燃焼状態が不安定になってしまうおそれがある。
これを回避するために、例えば吸気カム6のカムプロフィールを予め変更することが考えられる。しかし、図14および図15に示すバルブリフト曲線を比較すると明らかなように、エンジン3が可変バルブリフト機構50を備えている場合、バルブリフトLiftinが所定の高リフト側の値に制御されているとき(図14に示すバルブリフト曲線のとき)と、バルブリフトLiftinが所定の低リフト側の値に制御されているとき(図15に示すバルブリフト曲線のとき)とでは、吸気弁4のバルブタイミングの変化度合いが互いに異なってしまう。このため、本実施形態のように、エンジン3が可変カム位相機構70および可変バルブリフト機構50を双方とも備えている場合、吸気カム6のカムプロフィールを変更することで、周期的外乱の影響を回避することは困難である。
本実施形態では、以上のような周期的外乱が可変カム位相機構70に加えられた際の影響を回避するために、可変カム位相機構70に加えられる周期的外乱の値を予測するとともに、その予測値の符号の正負を反転した値に相当する値を、カム位相制御用の外乱補償値Rcyc_cinとして算出する。具体的には、カム位相制御用の外乱補償値Rcyc_cinは、バルブリフトLiftin、クランク角カウンタの計数値C_crkおよび目標カム位相Cain_cmdに応じて、外乱補償値マップを検索することによりマップ値Rcyc_bs_cinを算出し、そのマップ値Rcyc_bs_cinをエンジン回転数NEに応じて補正することにより算出される。
この外乱補償値マップとしては、図16に実線で示すCain_cmd=Cainrt&Liftin=Liftinmax用のマップ値Rcyc_bs_cinと、図17に実線で示すCain_cmd=Cainrt&Liftin=Liftinmin用のマップ値Rcyc_bs_cinと、Cain_cmd=Cainrtで、かつバルブリフトLiftinが最大値Liftinmaxと最小値Liftinminとの間にあるときの補間演算用の、複数段階のLiftinの値にそれぞれ対応して設定された複数のマップ値Rcyc_bs_cin(図示せず)と、を備えたものを用いる。
以上の外乱補償値マップを検索する際、目標カムCain_cmdが最遅角値Cainrtよりも進角側の値であるときには、周期的外乱の発生周期が進角側(図中の左側)にずれるので、外乱補償値もそれに応じて、例えば図16,17中の2点鎖線で示す値のように補正する必要がある。したがって、本実施形態の外乱補償値マップの検索では、目標カムCain_cmdの最遅角値Cainrtに対する進角度合いを加味して、クランク角カウンタの計数値C_crkを補正する。そして、そのように補正した計数値C_crkおよびバルブリフトLiftinに応じて、上記のマップ値Rcyc_bs_cinのうちの、そのときのバルブリフトLiftinに近い2つのマップ値Rcyc_bs_cinを選択するとともに、当該2つの選択値の補間演算により、カム位相制御用の外乱補償値のマップ値Rcyc_bs_cinを算出する。さらに、以上のように算出したマップ値Rcyc_bs_cinを、後述するように、エンジン回転数NEに応じて補正することにより、カム位相制御用の外乱補償値Rcyc_cinが算出される。
1つのシリンダ3aで発生する周期的外乱を補償するための、カム位相制御用の外乱補償値Rcyc_cinは、以上のように算出することが考えられる。これに対して、本実施形態のエンジン3は、4気筒タイプのものであるため、周期的外乱も1制御サイクル中にシリンダ3aごとに計4回、発生するとともに、互いの位相差に起因して互いに重なり合う状態で発生する。したがって、本実施形態では、そのような周期的外乱を補償するために、外乱補償値マップとして、前述したものに代えて、図18に示すCain_cmd=Cainrt&Liftin=Liftinmax用のマップ値Rcyc_bs_cinと、図19に示すCain_cmd=Cainrt&Liftin=Liftinmin用のマップ値Rcyc_bs_cinと、Cain_cmd=Cainrtで、かつバルブリフトLiftinが最大値Liftinmaxと最小値Liftinminとの間にあるときの補間演算用の、複数段階のLiftinの値にそれぞれ対応して設定された複数のマップ値Rcyc_bs_cin(図示せず)と、を備えたものを用いる。
図18,19を参照すると明らかなように、この外乱補償値マップでは、カム位相制御用の外乱補償値のマップ値Rcyc_bs_cinは、周期的外乱の予測結果に応じ、クランク角カウンタの計数値C_crkに対応する値として設定されている。すなわち、マップ値Rcyc_bs_cinは、周期的外乱の予測結果に応じて時系列的に設定されている。また、マップ値Rcyc_bs_cinの周期は、クランク角180゜分に設定されている。これは、前述した理由により、可変カム位相機構70に加えられる周期的外乱の周期が、クランク角180゜分となることによる。なお、この外乱補償値マップは、ROM2c内に予め記憶されている。
さらに、外乱補償値マップの検索は、前述した手法と同様に実行される。すなわち、クランク角カウンタの計数値C_crkを、目標カムCain_cmdの最遅角値Cainrtに対する進角度合いを加味して補正し、その補正した計数値C_crkおよびバルブリフトLiftinに応じて、上記のマップ値Rcyc_bs_cinのうちの、そのときのバルブリフトLiftinに近い2つのマップ値Rcyc_bs_cinを選択し、当該2つの選択値の補間演算により、カム位相制御用の外乱補償値のマップ値Rcyc_bs_cin(外乱補償値)を算出する。さらに、以上のように算出したマップ値Rcyc_bs_cinを、後述するように、エンジン回転数NEに応じて補正することにより、カム位相制御用の外乱補償値Rcyc_cinが算出される。以上により、カム位相制御用の外乱補償値Rcyc_cinは、周期的外乱の予測値の符号の正負を反転した値に相当するものとして算出される。なお、後述するように、カム位相制御用の外乱補償値Rcyc_cinの算出は、CRK信号の発生に同期するタイミングで実行される。
次に、前述した2自由度SLDコントローラ103について説明する。この2自由度SLDコントローラ103では、目標カム位相Cain_cmdおよびカム位相Cainに応じて、目標値フィルタ型2自由度スライディングモード制御アルゴリズム[図20に示す式(1)〜(8)]により、カム位相制御用のSLD制御入力Rsldが算出される。
これらの式(1)〜(8)において、記号(k)付きの各離散データは、所定の制御周期ΔT(本実施形態では5msec)に同期してサンプリング(または算出)されたデータであることを示しており、記号kは各離散データのサンプリングサイクルの順番を表している。例えば、記号kは今回の制御タイミングでサンプリングされた値であることを、記号k−1は前回の制御タイミングでサンプリングされた値であることをそれぞれ示している。この点は、以下の離散データにおいても同様である。なお、以下の説明では、各離散データにおける記号(k)などを適宜、省略する。
この制御アルゴリズムでは、まず、式(1)に示す一次遅れフィルタアルゴリズムにより、目標カム位相のフィルタ値Cain_cmd_fが算出される。同式(1)において、POLE_fは、目標値フィルタ設定パラメータであり、−1<POLE_f<0の関係が成立する値に設定される。
次いで、式(2)〜(8)に示すスライディングモード制御アルゴリズムにより、カム位相制御用のSLD制御入力Rsldが算出される。すなわち、式(2)に示すように、カム位相制御用のSLD制御入力Rsldは、等価制御入力Req、到達則入力Rrch、適応則入力Radpおよび非線形入力Rnlの総和として算出される。この等価制御入力Reqは、式(3)により算出される。同式(3)において、a1,a2,b1,b2は、後述するモデルのモデルパラメータを示しており、これらは所定値に設定されている。さらに、式(3)において、POLEは、切換関数設定パラメータであり、−1<POLE_f<POLE<0の関係が成立する値に設定されている。
また、到達則入力Rrchは、式(4)により算出される。この式(4)において、Krchは、所定の到達則ゲインを表しており、σsは、式(7)のように定義される切換関数である。
さらに、適応則入力Radpは、式(5)により算出され、この式(5)において、Kadpは、所定の適応則ゲインを表している。一方、非線形入力Rnlは、式(6)により算出される。この式(6)において、Knlは、所定の非線形ゲインを表しているとともに、sgn(σs)は、符号関数を表しており、その値は、σs≧0のときにはsgn(σs)=1となり、σs<0のときにはsgn(σs)=−1となる(なお、σs=0のときに、sgn(σs)=0と設定してもよい)。
なお、以上の式(1)〜(8)は以下のように導出される。すなわち、制御対象を、カム位相制御用のSLD制御入力Rsldを入力とし、カム位相Cainを出力とする系として定義するとともに、離散時間系モデルとしてモデル化すると、図20に示す式(9)が得られる。この式(9)のモデルに基づき、カム位相Cainが目標カム位相Cain_cmdに収束するように、目標値フィルタ型2自由度スライディングモード制御理論を適用すると、前述した式(1)〜(8)が導出される。
一方、前述した加算要素104では、図21の式(10)に示すように、以上のように算出されたカム位相制御用の外乱補償値Rcyc_cinおよびカム位相制御用のSLD制御入力Rsldの和として、カム位相制御用の参照入力Rsld_fが算出される。
次に、前述したDSMコントローラ105について説明する。このDSMコントローラ105では、図21の式(11)〜(16)で表される、ΔΣ変調アルゴリズムに基づいた制御アルゴリズムにより、位相制御入力Ucainが算出される。なお、これらの式(11)〜(16)の制御アルゴリズムは、本出願人が特願2003−293009号において提案済みの制御アルゴリズムを適用したものである。
図21の式(11)において、Lim(Rsld_f)は、カム位相制御用の参照入力Rsld_fをリミット処理した制限値を表しており、具体的には、カム位相制御用の参照入力Rsld_fを、所定の下限値Rminと所定の上限値Rmaxで規定される範囲内に制限した値として算出される。すなわち、Rsld_f<RminのときにはLim(Rsld_f)=Rminとなり、Rmin≦Rsld_f≦RmaxのときにはLim(Rsld_f)=Rsld_fとなり、Rsld_f>RmaxのときにはLim(Rsld_f)=Rmaxとなる。これらの上限値Rmaxおよび下限値Rminは、絶対値が互いに等しい正負の所定値に設定されている。
また、式(12)において、r2は制限値偏差を、udsm_oftは所定のオフセット値をそれぞれ表している。さらに、式(13)において、δは偏差信号値を表しており、同式(13)に示すように、制限値偏差r2と変調出力uの前回値との偏差として算出される。
一方、式(14)において、σは、偏差信号値δの積分値である偏差積分値を表しており、同式に示すように、その前回値と偏差信号値δとの和として算出される。また、式(15)において、fnl(σ)は、非線形関数であり、その値は、σ≧0のときにはfnl(σ)=Rとなり、σ<0のときにはfnl(σ)=−Rとなる(なお、σ=0のときには、fnl(σ)=0と設定してもよい)。また、この値Rは、R>|r2|の関係が常に成立するような値に設定されている。
本実施形態のDSMコントローラ105では、以上の制御アルゴリズムにより、位相制御入力Ucainが、所定の上限値と下限値との間で頻繁に反転を繰り返す値として算出され、それにより、カム位相制御の制御精度を向上させることができる。
次に、前述したバルブリフトコントローラ110について説明する。このバルブリフトコントローラ110は、図22に示すように、目標バルブリフト算出部111、補償要素112、2自由度SLDコントローラ113、加算要素114、およびDSMコントローラ115を備えている。
このバルブリフトコントローラ110では、以下に述べるように、リフト制御入力Uliftinが算出されるとともに、このリフト制御入力Uliftinが可変バルブリフト機構50に入力されることにより、バルブリフトLiftinが目標バルブリフトLiftin_cmdになるように制御される。
まず、目標バルブリフト算出部111(目標バルブリフト設定手段)では、目標バルブリフトLiftin_cmd(バルブリフトパラメータ)が、エンジン回転数NEおよびアクセル開度APに応じて、後述するマップ(図34参照)を検索することにより算出される。
また、補償要素112(外乱補償値記憶手段、外乱補償値選択手段)では、以下に述べるように、バルブリフト制御用の外乱補償値Rcyc_linが算出される。このバルブリフト制御用の外乱補償値Rcyc_linは、前述したカム位相制御用の外乱補償値Rcyc_cinと同様に、エンジン3の運転中、吸気カム6の回転に伴って発生する周期的外乱の影響を補償するためのものである。すなわち、そのような周期的外乱が可変バルブリフト機構50に加えられると、バルブリフトLiftinの変動に起因して、吸入空気量が変化してしまうので、そのような吸入空気量の変化を回避するために、可変バルブリフト機構50に加えられる周期的外乱の値を予測するとともに、その予測値の符号の正負を反転した値に相当する値を、バルブリフト制御用の外乱補償値Rcyc_linとして算出する。
具体的には、バルブリフト制御用の外乱補償値Rcyc_linは、前述した補償要素102と同様の手法により、算出される。すなわち、まず、カム位相Cain、計数値C_crkおよび目標バルブリフトLiftin_cmdに応じて、外乱補償値マップを検索することによりマップ値Rcyc_bs_lin(外乱補償値)を算出する。
この補償要素112では、外乱補償値マップとして、図23に示すLiftin_cmd=Liftinmax&Cain=Cainrt用のマップ値Rcyc_bs_linと、図24に示すLiftin_cmd=Liftinmin&Cain=Cainrt用のマップ値Rcyc_bs_linと、Cain=Cainrtで、かつ目標バルブリフトLiftin_cmdが最大値Liftinmaxと最小値Liftinminとの間にあるときの補間演算用の、複数段階のLiftin_cmdの値にそれぞれ対応して設定された複数のマップ値Rcyc_bs_lin(図示せず)とを備えたものを用いる。なお、この外乱補償値マップは、ROM2c内に予め記憶されている。
以上の外乱補償値マップの検索では、カム位相Cainの最遅角値Cainrtに対する進角度合いに応じて、クランク角カウンタの計数値C_crkを補正し、そのように補正した計数値C_crkおよび目標バルブリフトLiftin_cmdに応じて、上記のマップ値Rcyc_bs_linのうちの、そのときの目標バルブリフトLiftin_cmdに近い2つのマップ値を選択し、当該2つの選択値の補間演算により、バルブリフト制御用の外乱補償値のマップ値Rcyc_bs_linを算出する。
次いで、以上のように算出したマップ値Rcyc_bs_linを、後述するように、エンジン回転数NEに応じて補正することにより、バルブリフト制御用の外乱補償値Rcyc_lin(補正した外乱補償値)が算出される。なお、後述するように、このバルブリフト制御用の外乱補償値Rcyc_linの算出は、CRK信号の発生に同期するタイミングで実行される。
一方、2自由度SLDコントローラ113(制御入力算出手段)では、目標バルブリフトLiftin_cmdおよびバルブリフトLiftinに応じて、前述した2自由度SLDコントローラ103の制御アルゴリズム[式(1)〜(8)]と同様の目標値フィルタ型2自由度スライディングモード制御アルゴリズムにより、バルブリフト制御用のSLD制御入力Rsld’が算出される。
すなわち、この2自由度SLDコントローラ113では、前述した図20の式(1)〜(8)において、カム位相Cain、目標カム位相Cain_cmdおよびカム位相制御用のSLD制御入力Rsldをそれぞれ、バルブリフトLiftin、目標バルブリフトLiftin_cmdおよびバルブリフト制御用のSLD制御入力Rsld’に置き換えるとともに、各種の変数、パラメータおよび所定の設定値をそれぞれ、バルブリフト制御用の値に置き換えたアルゴリズムにより、バルブリフト制御用のSLD制御入力Rsld’が算出される。
また、前述した加算要素114(制御入力算出手段)では、補償要素112で算出されたバルブリフト制御用の外乱補償値Rcyc_linと、2自由度SLDコントローラ113で算出されたバルブリフト制御用のSLD制御入力Rsld’の和として、バルブリフト制御用の参照入力Rsld_f’(制御入力)が算出される。
さらに、前述したDSMコントローラ115では、バルブリフト制御用の参照入力Rsld_f’に応じて、前述したDSMコントローラ105の制御アルゴリズム[式(11)〜(16)]と同様の制御アルゴリズムにより、リフト制御入力Uliftinが算出される。すなわち、このDSMコントローラ115では、前述した図21の式(11)〜(16)において、カム位相制御用の参照入力Rsld_fおよび位相制御入力Ucainをそれぞれ、バルブリフト制御用の参照入力Rsld_f’およびリフト制御入力Uliftinに置き換えるとともに、各種の関数および所定の設定値をそれぞれ、バルブリフト制御用の値に置き換えたアルゴリズムにより、リフト制御入力Uliftinが算出される。
次に、前述した圧縮比コントローラ120について説明する。この圧縮比コントローラ120は、図25に示すように、目標圧縮比算出部121、補償要素122、2自由度SLDコントローラ123、加算要素124、およびDSMコントローラ125を備えている。
この圧縮比コントローラ120では、以下に述べるように、圧縮比制御入力Ucrが算出されるとともに、この圧縮比制御入力Ucrが可変圧縮比機構80に入力されることにより、圧縮比Crが目標圧縮比Cr_cmdになるように制御される。
まず、目標圧縮比算出部121(目標圧縮比設定手段)では、目標圧縮比Cr_cmd(圧縮比パラメータ)が、エンジン回転数NEおよびアクセル開度APに応じて、後述するマップ(図35参照)を検索することにより算出される。
また、補償要素122(外乱補償値記憶手段、外乱補償値選択手段)では、以下に述べるように、圧縮比制御用の外乱補償値Rcyc_crが算出される。この圧縮比制御用の外乱補償値Rcyc_crは、エンジン3の運転中、燃焼圧に起因して発生する周期的外乱の影響を補償するためのものである。すなわち、そのような周期的外乱が可変圧縮比機構80に加えられると、圧縮比Crが変動し、それに伴って点火時期制御で設定された点火時期との間の適合性が低下してしまうことにより、ノッキングが発生したり、燃焼効率が低下したりするおそれがある。したがって、補償要素122では、そのような圧縮比の変化を回避するために、可変圧縮比機構80に加えられる周期的外乱の値を予測するとともに、その予測値の符号の正負を反転した値を、圧縮比制御用の外乱補償値Rcyc_crとして算出する。
具体的には、圧縮比制御用の外乱補償値Rcyc_crは、以下のように算出される。まず、圧縮比Crおよびクランク角カウンタの計数値C_crkに応じて、外乱補償値マップを検索することによりマップ値Rcyc_bs_cr(外乱補償値)を算出する。
この補償要素122では、外乱補償値マップとして、図26に実線で示すCr_cmd=Crmax用のマップ値Rcyc_bs_crと、同図に破線で示すCr_cmd=Crmin用のマップ値Rcyc_bs_crと、目標圧縮比Cr_cmdが最大値Crmaxと最小値Crminとの間にあるときの補間演算用の、複数段階のCr_cmdの値にそれぞれ対応して設定された複数のマップ値Rcyc_bs_cr(図示せず)とを備えたものを用いる。この外乱補償値マップは、ROM2c内に予め記憶されている。なお、本実施形態では、可変圧縮比機構80のジオメトリに起因して、上記の外乱補償値マップを用いるが、可変圧縮比機構のジオメトリによっては、外乱補償値マップにおける、Crmax用の値とCrmin用の値との関係が逆に設定される場合もある。
また、圧縮比制御用の外乱補償値のマップ値Rcyc_bs_crは、上記のマップ値のうちの、そのときの目標圧縮比Cr_cmdに近い2つのマップ値を選択し、当該2つの選択値の補間演算により算出される。
次いで、以上のように算出したマップ値Rcyc_bs_crを、後述するように、カム位相Cain、バルブリフトLiftinおよびエンジン回転数NEに応じて補正することにより、圧縮比制御用の外乱補償値Rcyc_crが算出される。なお、後述するように、この圧縮比制御用の外乱補償値Rcyc_crの算出は、CRK信号の発生に同期するタイミングで実行される。
一方、2自由度SLDコントローラ123(制御入力算出手段)では、目標圧縮比Cr_cmdおよび圧縮比Crに応じて、前述した2自由度SLDコントローラ103の制御アルゴリズム[式(1)〜(8)]と同様の目標値フィルタ型2自由度スライディングモード制御アルゴリズムにより、圧縮比制御用のSLD制御入力Rsld''が算出される。
すなわち、この2自由度SLDコントローラ123では、前述した図20の式(1)〜(8)において、カム位相Cain、目標カム位相Cain_cmdおよびカム位相制御用のSLD制御入力Rsldをそれぞれ、圧縮比Cr、目標圧縮比Cr_cmdおよび圧縮比制御用のSLD制御入力Rsld''に置き換えるとともに、各種の変数、パラメータおよび所定の設定値をそれぞれ、圧縮比制御用の値に置き換えたアルゴリズムにより、圧縮比制御用のSLD制御入力Rsld''が算出される。
また、前述した加算要素124(制御入力算出手段)では、補償要素122で算出された圧縮比制御用の外乱補償値Rcyc_crと、2自由度SLDコントローラ123で算出された圧縮比制御用のSLD制御入力Rsld''の和として、圧縮比制御用の参照入力Rsld_f''(制御入力)が算出される。
さらに、前述したDSMコントローラ125では、圧縮比制御用の参照入力Rsld_f''に応じて、前述したDSMコントローラ105の制御アルゴリズム[式(11)〜(16)]と同様の制御アルゴリズムにより、圧縮比制御入力Ucrが算出される。すなわち、このDSMコントローラ125では、前述した図21の式(11)〜(16)において、カム位相制御用の参照入力Rsld_fおよび位相制御入力Ucainをそれぞれ、圧縮比制御用の参照入力Rsld_f''および圧縮比制御入力Ucrに置き換えるとともに、各種の関数および所定の設定値をそれぞれ、圧縮比制御用の値に置き換えたアルゴリズムにより、圧縮比制御入力Ucrが算出される。
次に、ECU2により実行される各種の制御処理について説明する。まず、図27〜図31を参照しながら、3つの外乱補償値Rcyc_cin,Rcyc_lin,Rcyc_crを算出する処理について説明する。この処理は、前述した補償要素102,112,122に相当するものであり、IG・SW27がONに切り換えられた後の、クランクシャフト3dが所定のクランク角位置(例えば所定のシリンダ3aがTDC位置となるようなクランク角位置)に達した時点以降、CRK信号の発生に同期するタイミングで実行される。すなわち、本処理の実行周期は、CRK信号の発生周期に相当し、これは、前述したように、周期的外乱の発生周期がクランク角180゜分となるので、その1/18の値に相当する。
図27に示すように、この処理では、まず、ステップ1(図では「S1」と略す。以下同じ)において、演算フラグF_CALが「1」であるか否かを判別する。この演算フラグF_CALは、IG・SW27がオンされたときに「0」に設定される。そのため、今回のループが1回目であるときには、ステップ1の判別結果がNOとなり、その場合には、ステップ2に進み、演算フラグF_CALを「1」に設定する。これにより、次回以降のループにおいて、ステップ1の判別結果がYESとなる。
次いで、ステップ3で、クランク角カウンタの計数値C_crkを値0に設定した後、後述するステップ6に進む。
一方、ステップ1の判別結果がYESのときには、ステップ4に進み、クランク角カウンタの計数値C_crkを値10分、インクリメントする。次いで、ステップ5で、クランク角カウンタの計数値C_crkが値720であるか否かを判別する。この判別結果がNOのときには、後述するステップ6に進む。一方、この判別結果がYESのときには、前述したステップ3に進み、クランク角カウンタの計数値C_crkを値0に設定した後、ステップ6に進む。
ステップ3またはステップ5に続くステップ6では、カム位相制御用の外乱補償値のマップ値Rcyc_bs_cinを算出する。具体的には、カム位相制御用の外乱補償値のマップ値Rcyc_bs_cinは、前述したように、目標カム位相Cain_cmd、クランク角カウンタの計数値C_crkおよびバルブリフトLiftinに応じて、前述したカム位相制御用の外乱補償値マップ(図18,19)を検索することにより、算出される。
次いで、ステップ7に進み、カム位相制御用の補正係数Krcyc_cinを、エンジン回転数NEに応じて、図28に示すテーブルを検索することにより算出する。同図に示すように、このテーブルでは、補正係数Krcyc_cinは、エンジン回転数NEが低いほど、より大きな値に設定されている。これは、低回転数域では、周期的外乱の周波数が低くなり、外力に対するカム位相制御系の応答ゲインが高くなるような周波数となるため、吸気カム6の周期的変位が大きくなるので、それを補償するためである。
また、このテーブルでは、補正係数Krcyc_cinは、所定回転数NEREF1(例えば4000rpm)以上の範囲では値に0に設定されている。これは、高回転域では、アクチュエータとしての電磁弁機構74の応答性が十分でないことで、周期的外乱の補償を正確に行うのが困難であることに加えて、周期的外乱が高周波になるのに対して、可変カム位相機構70は、その応答特性(ローパス特性)により、高周波の周期的外乱の影響を受けなくなることによる。
ステップ7に続くステップ8では、カム位相制御用の外乱補償値Rcyc_cinを、上記ステップ6,7で算出したマップ値Rcyc_bs_cinおよび補正係数Krcyc_cinの積に設定し、RAM2b内に記憶する。
次に、ステップ9で、バルブリフト制御用の外乱補償値のマップ値Rcyc_bs_linを算出する。具体的には、バルブリフト制御用の外乱補償値のマップ値Rcyc_bs_linは、前述したように、目標バルブリフトLiftin_cmd、カム位相Cainおよびクランク角カウンタの計数値C_crkに応じて、前述したバルブリフト制御用の外乱補償値マップ(図23,24)を検索することにより、算出される。
次いで、ステップ10に進み、バルブリフト制御用の補正係数Krcyc_linを、エンジン回転数NEに応じて、図29に示すテーブルを検索することにより算出する。同図に示すように、このテーブルでは、補正係数Krcyc_linは、エンジン回転数NEが低いほど、より大きな値に設定されている。これは、低回転数域では、前述したように、周期的外乱の周波数が低くなり、外力に対するバルブリフト制御系の応答ゲインが高くなるような周波数となるため、バルブリフトLiftinの周期的変位が大きくなるので、それを補償するためである。
また、このテーブルでは、補正係数Krcyc_linは、所定回転数NEREF2(例えば5000rpm)以上の範囲では、値0に設定されている。これは、高回転域では、リフトアクチュエータ60の応答性が十分でないことで、周期的外乱の補償を正確に行うのが困難であることに加えて、周期的外乱が高周波になるのに対して、可変バルブリフト機構50は、その応答特性(ローパス特性)により、高周波の周期的外乱の影響を受けなくなることによる。
ステップ10に続くステップ11では、バルブリフト制御用の外乱補償値Rcyc_linを、上記ステップ9,10で算出したマップ値Rcyc_bs_linおよび補正係数Krcyc_linの積に設定する。
次いで、ステップ12に進み、圧縮比制御用の外乱補償値のマップ値Rcyc_bs_crを算出する。具体的には、このマップ値Rcyc_bs_crは、前述したように、クランク角カウンタの計数値C_crkおよび目標圧縮比Cr_cmdに応じて、前述した圧縮比制御用の外乱補償値マップ(図26)を検索することにより、算出される。
次に、ステップ13で、圧縮比制御用の第1補正係数Krcyc_cr1を、カム位相CainおよびバルブリフトLiftinに応じて、図30に示すマップを検索することにより、算出する。なお、図中に示すバルブリフトの所定値Liftin1〜3は、Liftin1>Liftin2>Liftin3の関係が成立するように設定されている。
同図に示すように、このマップでは、第1補正係数Krcyc_cr1は、カム位相Cainが進角側の値であるほど、またはバルブリフトLiftinが小さいほど、より小さい値に設定されている。これは、カム位相Cainが進角側の値であるほど、内部EGR量の増大により混合気の燃焼温度が低くなり、燃焼圧が低くなることで、周期的外乱の振幅がより小さくなるためである。また、第1補正係数Krcyc_cr1は、バルブリフトLiftinが小さいほど、より小さい値に設定されている。これは、バルブリフトLiftinが小さい値であるほど、吸入空気量が小さくなり、燃焼圧が低くなることで、周期的外乱の振幅がより小さくなるためである。
次いで、ステップ14で、圧縮比制御用の第2補正係数Krcyc_cr2を、エンジン回転数NEに応じて、図31に示すテーブルを検索することにより、算出する。同図に示すように、このテーブルでは、第2補正係数Krcyc_cr2は、エンジン回転数NEが所定回転数NEREF3(例えば3000rpm)より低い領域では、NE=NEREF4(<NEREF3)のときに最大値を示すように設定されている。これは、低回転数域では、慣性質量の影響により、周期的外乱の振幅がNE=NEREF4のときに最大値を示すので、それを補償するためである。
また、このテーブルでは、第2補正係数Krcyc_cr2は、NE≧NEREF3の領域では、値0に設定されている。これは、高回転域では、圧縮比アクチュエータ87の応答性が十分でないことで、周期的外乱の補償を正確に行うのが困難であることに加えて、燃焼圧に起因する周期的外乱が高周波になるのに対して、可変圧縮比機構80は、その応答特性(ローパス特性)により、高周波の周期的外乱の影響を受けなくなることによる。
ステップ14に続くステップ15では、圧縮比制御用の外乱補償値Rcyc_crを、上記ステップ12〜14で算出したマップ値Rcyc_bs_linと、第1および第2補正係数Krcyc_cr1,Krcyc_cr2との積に設定し、その後、本処理を終了する。
次に、図32を参照しながら、前述した3つの制御入力Ucain,Uliftin,Ucrを算出する処理について説明する。この処理は、プログラムタイマの設定により、所定の制御周期ΔT(本実施形態では5msec)で実行される。
図32に示すように、この処理では、まず、ステップ20において、可変機構正常フラグF_VDOKが「1」であるか否かを判別する。この可変機構正常フラグF_VDOKは、可変カム位相機構70、可変バルブリフト機構50および可変圧縮比機構80がいずれも正常であるときには「1」に設定され、それ以外のときには「0」に設定される。
ステップ20の判別結果がNOで、3つの可変機構50,70,80の少なくとも1つが故障しているときには、ステップ32に進み、位相制御入力Ucain、リフト制御入力Uliftinおよび圧縮比制御入力Ucrをいずれも値0に設定した後、本処理を終了する。なお、このように3つの制御入力がいずれも値0に設定されたときには、可変カム位相機構70により、カム位相Cainが最遅角値Cainrtに保持され、可変バルブリフト機構50により、バルブリフトLiftinがアイドル運転やエンジン始動に適した値に保持されるとともに、可変圧縮比機構80により、圧縮比Crが最小値Crminに保持される。
一方、ステップ20の判別結果がYESで、3つの可変機構50,70,80がいずれも正常であるときには、ステップ21に進み、エンジン始動フラグF_ENGSTが「1」であるか否かを判別する。このエンジン始動フラグF_ENGSTは、エンジン3の始動中は「1」に設定され、エンジン3が始動済みであるときには「0」に設定される。この判別結果がYESで、エンジン始動中であるときには、ステップ22に進み、目標カム位相Cain_cmdを所定の始動時用値Cain_cmd_stに設定する。
次に、ステップ23,24において、目標バルブリフトLiftin_cmdおよび目標圧縮比Cr_cmdをそれぞれ、所定の始動時用値Liftin_cmd_st,Cr_cmd_stに設定する。
次いで、ステップ25に進み、RAM2bに現在記憶されている3つの外乱補償値Rcyc_cin,Rcyc_lin,Rcyc_crの値を読み込む。すなわち、これらの値をサンプリングする。
ステップ25に続くステップ26では、位相制御入力Ucainを、算出された目標カム位相Cain_cmd、および読み込まれたカム位相制御用の外乱補償値Rcyc_cinを用い、前述した式(1)〜(8),(10)〜(16)の制御アルゴリズムにより算出する。
次に、ステップ27で、リフト制御入力Uliftinを算出する。このリフト制御入力Uliftinは、前述したように、上記位相制御入力Ucainと同様の制御アルゴリズムにより算出される。すなわち、算出された目標バルブリフトLiftin_cmd、および読み込まれたバルブリフト制御用の外乱補償値Rcyc_linを用い、式(1)〜(8),(10)〜(16)と同様の制御アルゴリズムにより、リフト制御入力Uliftinが算出される。
次いで、ステップ28で、圧縮比制御入力Ucrを算出する。この圧縮比制御入力Ucrも、前述したように、上記位相制御入力Ucainと同様の制御アルゴリズムにより算出される。すなわち、算出された目標圧縮比Cr_cmd、および読み込まれた圧縮比制御用の外乱補償値Rcyc_crを用い、式(1)〜(8),(10)〜(16)と同様の制御アルゴリズムにより、圧縮比制御入力Ucrが算出される。その後、本処理を終了する。
一方、ステップ21の判別結果がNOで、エンジン始動済みであるときには、ステップ29に進み、目標カム位相Cain_cmdを、エンジン回転数NEおよびアクセル開度APに応じて、図33に示すマップを検索することにより算出する。同図において、アクセル開度APの所定値AP1〜AP3は、AP1>AP2>AP3の関係が成立するように設定されており、この関係は以下の説明でも同様である。
このマップでは、目標カム位相Cain_cmdは、AP=AP1で、高負荷である場合には、エンジン回転数NEが高いほど、より遅角側の値に設定されている。また、AP=AP2で、中負荷である場合、目標カム位相Cain_cmdは、低回転域から中回転域では、エンジン回転数NEが高いほど、より進角側の値に設定されているとともに、中回転域から高回転域では、エンジン回転数NEが高いほど、より遅角側の値に設定されている。さらに、AP=AP3で、低負荷である場合も、目標カム位相Cain_cmdは、中負荷である場合とほぼ同様の傾向に設定されている。この理由については、後述する。
ステップ29に続くステップ30では、目標バルブリフトLiftin_cmdを、エンジン回転数NEおよびアクセル開度APに応じて、図34に示すマップを検索することにより算出する。このマップでは、目標バルブリフトLiftin_cmdは、AP=AP1で、高負荷である場合には、エンジン回転数NEが高いほど、より大きな値に設定されている。また、AP=AP2で、中負荷である場合、目標カム位相Cain_cmdは、低回転域では、エンジン回転数NEが高いほど、より大きな値に設定され、中回転域では、エンジン回転数NEに対して、ほとんど変わらない値に設定されているとともに、高回転域では、エンジン回転数NEが高いほど、より大きな値に設定されている。さらに、目標バルブリフトLiftin_cmdは、AP=AP3で、低負荷である場合も、中負荷である場合とほぼ同様の傾向に設定されている。
目標バルブリフトLiftin_cmdが以上のように設定され、かつ目標カム位相Cain_cmdが前述したように設定されている理由は、以下による。すなわち、低負荷域/低回転域では、バルブリフトLiftinを低リフトに制御し、かつカム位相Cainを進角側の値に制御することで、オットーサイクルよりも吸気弁4が早く閉じる早閉じのミラーサイクルを実現する。それにより、ポンピングロスを低減させるとともに、低リフト化による筒内流動を増大化させることで、燃焼の急速化を図り、燃焼効率を向上させるためである。
また、中負荷域/中回転域では、バルブリフトLiftinを中程度のリフトに制御し、かつカム位相Cainを進角側の値に制御することで、バルブオーバーラップを増大させ、内部EGR量を増大させるとともに、早閉じのミラーサイクルの実現により、ポンピングロスの低減および燃費の向上を図るためである。
さらに、高負荷域/高回転域では、バルブリフトLiftinを高リフトに制御し、かつカム位相Cainを遅角側の値に制御することで、吸入空気量を増大させ、エンジントルクを増大させるためである。これに加えて、そのような制御の際、内部EGR量の減少と、圧縮行程の初期では、吸気の慣性力によって吸気挙動が継続するので、それを充填効率の向上に利用すべく、カム位相Cainを遅角側の値に制御するためである。
ステップ30に続くステップ31では、目標圧縮比Cr_cmdを、エンジン回転数NEおよびアクセル開度APに応じて、図35に示すマップを検索することにより算出する。このマップでは、目標圧縮比Cr_cmdは、APが大きく、高負荷であるほど、または、エンジン回転数NEが高いほど、より小さな値に設定されている。これは、エンジン回転数NEおよびアクセル開度APが大きいほど(すなわち高負荷であるほど)、点火時期に対する最適な圧縮比Crの値がより小さくなることによる。すなわち、高回転/高負荷時に圧縮比Crを高圧縮比側の値に設定すると、ノッキングが発生するのを防止するために点火時期のリタード側への制御が必要となることで、発生トルク(効率)の低下を招くおそれがあるので、それを回避するためである。
次いで、前述したように、ステップ25〜28を実行し、3つの制御入力Ucain,Uliftin,Ucrを算出した後、本処理を終了する。
以上のように、本実施形態の制御装置1では、3つの外乱補償値Rcyc_cin,Rcyc_lin,Rcyc_crが、予想される周期的外乱を補償するための、周期的外乱の正負を反転させた値として、CRK信号の発生に同期するタイミングで、マップ検索およびテーブル検索などにより算出される。さらに、そのように算出された外乱補償値Rcyc_cin,Rcyc_lin,Rcyc_crに応じて、3つの制御入力Ucain,Uliftin,Ucrがそれぞれ、前述した制御アルゴリズム[式(1)〜(8),(10)〜(16)]およびこれと同様の制御アルゴリズムにより算出される。
したがって、そのように算出された制御入力Ucain,Uliftin,Ucrにより、カム位相Cain、バルブリフトLiftinおよび圧縮比Crをそれぞれフィードフォワード的に制御することで、周期的外乱がカム位相Cain、バルブリフトLiftinおよび圧縮比Crに及ぼす影響を、従来よりも迅速に補償し、抑制することができる。その結果、カム位相制御およびバルブリフト制御においては、周期的外乱に起因する、吸気弁4の開弁時の吸入空気量の変化を回避できることで、エンジン3の発生トルクの変動を回避できるとともに、安定した燃焼状態を確保できる。また、圧縮比制御においては、周期的外乱の影響による圧縮比Crの変化を回避でき、圧縮比Crと点火時期との間の適合性を良好な状態に維持できる。その結果、ノッキングの発生および燃焼効率の低下を回避することができる。
また、制御入力Ucain,Uliftin,Ucrの算出において、目標値フィルタ型2自由度制御アルゴリズムが用いられるので、カム位相Cainを目標カム位相Cain_cmdに、バルブリフトLiftinを目標バルブリフトLiftin_cmdに、圧縮比Crを目標圧縮比Cr_cmdにそれぞれ迅速かつ安定した挙動で収束させることができる。例えば、カム位相Cainと目標カム位相Cain_cmdとの間に大きな偏差が生じた場合でも、そのような偏差に起因するオーバーシュートの発生を回避しながら、カム位相Cainを目標カム位相Cain_cmdに迅速かつ精度よく収束させることができる。
また、カム位相制御用の外乱補償値Rcyc_cinの算出では、そのマップ値Rcyc_bs_cinが、バルブリフトLiftinおよび目標カム位相Cain_cmdに応じて算出されるので、外乱補償値Rcyc_cinを、バルブリフトLiftinの変更に伴う周期的外乱の振幅変化および挙動変化の少なくとも一方と、カム位相Cainの変更に伴う周期的外乱の位相変化とをいずれも適切に補償できるような値として算出できる。さらに、補正係数Krcyc_cinが、図28のテーブルを用い、エンジン回転数NEに応じて算出され、この補正係数Krcyc_cinでマップ値Rcyc_bs_cinを補正することにより、外乱補償値Rcyc_cinが算出されるので、これにエンジン回転数NEの変化に伴う周期的外乱の周波数変化を適切に反映させることができる。
これに加えて、補正係数Krcyc_cinは、所定回転数NEREF1以上の範囲では値0に設定されるので、可変カム位相機構70の応答性が十分でない(すなわちアクチュエータとしての電磁弁機構74の応答性が低い)ことで、周期的外乱の補償を正確に行うのが困難な高回転域では、外乱補償値Rcyc_cinによる外乱補償が回避され、それにより、制御性の低下を回避できる。
さらに、バルブリフト制御用の外乱補償値Rcyc_linの算出では、そのマップ値Rcyc_bs_linが、目標バルブリフトLiftin_cmdおよびカム位相Cainに応じて算出されるので、外乱補償値Rcyc_linを、バルブリフトLiftinの変更に伴う周期的外乱の振幅変化および挙動変化の少なくとも一方と、カム位相Cainの変更に伴う周期的外乱の位相変化とをいずれも適切に補償できるような値として算出できる。また、補正係数Krcyc_linが、図29のテーブルを用い、エンジン回転数NEに応じて算出されるとともに、この補正係数Krcyc_linでマップ値Rcyc_bs_linを補正することにより、外乱補償値Rcyc_linが算出されるので、これにエンジン回転数NEの変化に伴う周期的外乱の周波数変化を適切に反映させることができる。
これに加えて、補正係数Krcyc_linは、所定回転数NEREF2以上の範囲では値0に設定されるので、可変バルブリフト機構50の応答性が十分でない(すなわちリフトアクチュエータ60の応答性が低い)ことで、周期的外乱の補償を正確に行うのが困難な高回転域では、外乱補償値Rcyc_linによる外乱補償が回避され、それにより、制御性の低下を回避できる。
また、圧縮比制御用の外乱補償値Rcyc_crの算出では、そのマップ値Rcyc_bs_crが、目標圧縮比Cr_cmdに応じて算出されるので、外乱補償値Rcyc_crを、圧縮比Crの変更伴う周期的外乱の振幅変化を適切に補償できるような値として算出できる。さらに、第1補正係数Krcyc_cr1が、図30のマップを用い、カム位相CainおよびバルブリフトLiftinに応じて算出され、この第1補正係数Krcyc_cr1でマップ値Rcyc_bs_crを補正することにより、外乱補償値Rcyc_crが算出されるので、外乱補償値Rcyc_crを、バルブリフトLiftinおよびカム位相Cainの変更に伴う周期的外乱の振幅変化を適切に補償できるような値として算出できる。
これに加えて、第2補正係数Krcyc_cr2が、図31のテーブルを用い、エンジン回転数NEに応じて算出され、この第2補正係数Krcyc_cr2でマップ値Rcyc_bs_crを補正することにより、外乱補償値Rcyc_crが算出されるので、これにエンジン回転数NEの変化に伴う周期的外乱の周波数変化を適切に反映させることができる。また、第2補正係数Krcyc_cr2は、所定回転数NEREF3以上の範囲では値0に設定されるので、可変圧縮比機構80の応答性が十分でない(すなわち圧縮比アクチュエータ87の応答性が低い)ことで、周期的外乱の補償を正確に行うのが困難な高回転域では、外乱補償値Rcyc_crによる外乱補償が回避され、それにより、制御性の低下を回避できる。
以上のように、カム位相制御、バルブリフト制御および圧縮比制御のいずれにおいても、制御の安定性および制御精度を格段に向上させることができる。
図36は、以上のような制御手法により算出された位相制御入力Ucainを用い、目標カム位相Cain_cmdを一定値に保持しながら、カム位相Cainを制御した場合のシミュレーション結果を、1つのシリンダ3aのみにおけるものを例にとって示したものである。同図と前述した図13とを比較すると明らかなように、本実施形態の制御装置1によれば、前述したようなカム位相制御用の外乱補償値Rcyc_cinを用いることにより、周期的外乱の影響を効果的に抑制できることが判る。
なお、第1実施形態は、3つの外乱補償値Rcyc_cin,Rcyc_lin,Rcyc_crの選択タイミングとしての算出タイミング(すなわち図27の処理の実行タイミング)を、CRK信号の発生タイミングに設定した例であるが、3つの外乱補償値の選択タイミングはこれに限らず、クランクシャフト3dが所定角度、回転するごとの、それに対応するタイミングに設定すればよい。例えば、CAM信号の発生に同期するタイミングに設定しても良い。その場合には、補償要素102,112,122において、外乱補償値Rcyc_cin,Rcyc_lin,Rcyc_crの算出に用いるマップを、クランク角カウンタの計数値C_crkに代えて、CAM信号の発生に同期して所定のカム角分、インクリメントされるカウンタの計数値に応じて設定したものを用いればよい。
また、補償要素102において、外乱補償値のマップ値Rcyc_bs_cinを、バルブリフトLiftinおよび目標カム位相Cain_cmdに代えて、バルブリフトパラメータとしての目標バルブリフトLiftin_cmd、およびカム位相パラメータとしてのカム位相Cainにそれぞれ応じて算出するようにしてもよい。さらに、補償要素112においても、外乱補償値のマップ値Rcyc_bs_linを、目標バルブリフトLiftin_cmdおよびカム位相Cainに代えて、バルブリフトパラメータとしてのバルブリフトLiftin、およびカム位相パラメータとしての目標カム位相Cain_cmdにそれぞれ応じて算出するようにしてもよい。
これと同様に、補償要素122において、外乱補償値のマップ値Rcyc_bs_crを、目標圧縮比Cr_cmdに代えて、圧縮比パラメータとしての圧縮比Crに応じて算出するようにしてもよく、第1補正係数Krcyc_cr1を、バルブリフトLiftinおよびカム位相Cainに代えて、バルブリフトパラメータとしての目標バルブリフトLiftin_cmd、およびカム位相パラメータとしての目標カム位相Cain_cmdにそれぞれ応じて算出するようにしてもよい。
また、第1実施形態は、カム位相制御用の外乱補償値のマップ値Rcyc_bs_cinの算出において、目標カム位相Cain_cmdに応じてクランク角カウンタの計数値C_crkを補正し、これとバルブリフトLiftinに応じて、1種類の外乱補償値マップ(図18,19)を検索する手法を用いた例であるが、マップ値Rcyc_bs_cinの算出で用いる外乱補償値マップとして、目標カム位相Cain_cmdの複数の値に応じてそれぞれ設定された複数種類のものを用いてもよい。例えば、Cain_cmd=Cainrt用のものと、Cain_cmd=Cainad用のものと、これらの間の複数段階の目標カム位相Cain_cmdの値用に設定された複数のものとを準備し、これらの外乱補償値マップのうちの、そのときの目標カム位相Cain_cmdに近い2つの外乱補償値マップを選択し、当該2つの選択マップにおけるマップ値の補間演算により、マップ値Rcyc_bs_cinを算出してもよい。これと同様に、外乱補償値Rcyc_linのマップ値Rcyc_bs_linの算出において、外乱補償値マップとして、目標バルブリフトLiftin_cmdの複数の値に応じてそれぞれ設定された複数種類のものを用いてもよい。
さらに、第1実施形態は、カム位相制御用の参照入力Rsldを算出するための制御アルゴリズムとして目標値フィルタ型2自由度スライディングモード制御アルゴリズムを用いた例であるが、カム位相制御用の参照入力Rsldを算出するための制御アルゴリズムはこれに限らず、カム位相制御用の参照入力Rsldを、カム位相Cainを目標カム位相Cain_cmdに収束させるような値として算出できる制御アルゴリズムであればよい。例えば、PID制御アルゴリズムなどのフィードバック制御アルゴリズムを用いてもよく、バックステッピング制御アルゴリズムなどの応答指定型制御アルゴリズムを用いてもよい。これと同様に、バルブリフト制御用の参照入力Rsld’または圧縮比制御用の参照入力Rsld''を算出するための制御アルゴリズムとして、PI制御アルゴリズムおよびPID制御アルゴリズムなどのフィードバック制御アルゴリズムや、バックステッピング制御アルゴリズムなどの応答指定型制御アルゴリズムを用いてもよい。
また、第1実施形態は、応答指定型制御アルゴリズムとして、目標値フィルタ型2自由度スライディングモード制御アルゴリズムを用いた例であるが、応答指定型制御アルゴリズムはこれに限らず、バックステッピング制御アルゴリズムなどの、目標値に対する制御対象の出力の収束速度および収束挙動を指定できるアルゴリズムであればよい。
また、第1実施形態は、カム位相コントローラ100における位相制御入力Ucainの算出において、DSMコントローラ105を用いた例であるが、これを省略し、カム位相制御用の参照入力Rsld_fをそのまま位相制御入力Ucainとして可変カム位相機構70に入力するように構成してもよい。さらに、バルブリフトコントローラ110におけるリフト制御入力Uliftinの算出において、DSMコントローラ115を省略し、バルブリフト制御用の参照入力Rsld_f’をそのまま、リフト制御入力Uliftinとして、可変バルブリフト機構50に入力するように構成してもよい。これと同様に、圧縮比コントローラ120における圧縮比制御入力Ucrの算出においても、DSMコントローラ125を省略し、圧縮比制御用の参照入力Rsld_f''をそのまま、圧縮比制御入力Ucrとして、可変圧縮比機構80に入力するように構成してもよい。
さらに、第1実施形態は、負荷パラメータとして、カム位相CainおよびバルブリフトLiftinを用いた例であるが、負荷パラメータはこれに限らず、エンジン3の負荷を表すものであればよい。例えば、負荷パラメータとして、目標カム位相Cain_cmdおよび目標バルブリフトLiftin_cmdをそれぞれ用いてもよく、吸気管内絶対圧PBA、TH通過吸入空気量GTHおよびアクセル開度APを用いてもよい。
また、可変カム位相機構として、第1実施形態の油圧式の可変カム位相機構70に代えて、本出願人が特願2003−293009号において提案済みの電磁式の可変カム位相機構を用いてもよい。このようにした場合、電磁式の可変カム位相機構では、カム位相Cainがソレノイドの電磁力とばねの付勢力との釣り合いによって変更されるため、周期的外乱は進角側または遅角側のみに作用する。したがって、そのような周期的外乱を補償するために、カム位相制御用の外乱補償値Rcyc_cinを算出する場合、そのマップ値Rcyc_bs_cinは、図37に実線または破線で示すようなマップを用いて算出すればよい。
次に、本発明の第2実施形態に係る制御装置1Aについて説明する。本実施形態の制御装置1Aは、前述した第1実施形態の制御装置1と比べると、一部を除いて同様に構成されているので、以下、第1実施形態の制御装置1と異なる点を中心として説明する。図38〜図40に示すように、この制御装置1Aは、カム位相コントローラ200、バルブリフトコントローラ210および圧縮比コントローラ220を備えており、これらはいずれも、具体的にはECU2(外乱推定値算出手段)により構成されている。
まず、カム位相コントローラ200について説明すると、このカム位相コントローラ200は、図38に示すように、目標カム位相算出部201(目標カム位相設定手段)、補償要素202(外乱補償値記憶手段、外乱補償値選択手段)、2自由度SLDコントローラ203(制御入力算出手段)、DSMコントローラ205および適応外乱オブザーバ206(外乱推定値算出手段)を備えている。このカム位相コントローラ200では、目標カム位相算出部201および補償要素202は、前述したカム位相コントローラ100のものと同様に構成されているので、それらの説明はここでは省略する。
また、適応外乱オブザーバ206は、モデル化誤差および外乱を補償するための、カム位相制御用の外乱推定値c1を算出するものである。具体的には、この適応外乱オブザーバ206では、カム位相Cain、カム位相制御用の外乱補償値Rcyc_cinおよびカム位相制御用のSLD制御入力Rsldに応じて、図41の式(17)〜(19)で表される、固定ゲイン法の同定アルゴリズムにより、カム位相制御用の外乱推定値c1が算出される。式(17)のCain_hatはカム位相の同定値を表し、式(18)のe_idは、同定誤差を表している。また、式(19)のP’は、同定ゲインを表している。
なお、以上の式(17)〜(19)は以下のように導出される。すなわち、前述した図20の式(9)のモデルにおいて、外乱を補償するために、カム位相制御用の外乱推定値c1および外乱補償値Rcyc_cinを付加すると、図41に示す式(20)が得られる。この式(20)において、右辺をカム位相の同定値Cain_hatに置き換え、そのように置き換えたモデルに基づき、カム位相の同定値Cain_hatとカム位相Cainとの偏差が最小になるように、統計処理に基づく固定ゲイン法の同定アルゴリズムを適用すると、前述した式(17)〜(19)が導出される。
以上の式(17)〜(19)のアルゴリズムにより、この適応外乱オブザーバ206では、カム位相制御用の外乱推定値c1が、モデル化誤差および外乱を適切に補償することができる値として算出される。
また、2自由度SLDコントローラ203では、図42の式(21)〜(27)で表される目標値フィルタ型2自由度スライディングモード制御アルゴリズムにより、カム位相制御用のSLD制御入力Rsld(制御入力)が算出される。これらの式(21)〜(27)を参照すると明らかなように、この2自由度SLDコントローラ203の制御アルゴリズムは、等価制御入力Reqの算出式に、カム位相制御用の外乱補償値Rcyc_cinおよび外乱推定値c1を含んでいる点と、SLD制御入力Rsldの算出において適応則入力Radpを用いない点とが、前述した2自由度SLDコントローラ103のものと異なっている。
さらに、DSMコントローラ205では、上記のように算出されたカム位相制御用のSLD制御入力Rsldに基づいて、前述したDSMコントローラ105と同様の制御アルゴリズム[図43に示す式(28)〜(33)]により、位相制御入力Ucainが算出される。
カム位相コントローラ200は、以上のように構成されており、これと同様に、バルブリフトコントローラ210も構成されている。すなわち、図39に示すように、バルブリフトコントローラ210は、目標バルブリフト算出部211(目標バルブリフト設定手段)、補償要素212(外乱補償値記憶手段、外乱補償値選択手段)、2自由度SLDコントローラ213(制御入力算出手段)、DSMコントローラ215および適応外乱オブザーバ216(外乱推定値算出手段)を備えている。このバルブリフトコントローラ210では、目標バルブリフト算出部211および補償要素212は、前述したバルブリフトコントローラ110のものと同様に構成されているので、それらの説明はここでは省略する。
また、適応外乱オブザーバ216では、カム位相コントローラ200の適応外乱オブザーバ206と同様のアルゴリズムにより、バルブリフト制御用の外乱推定値c1’が算出される。すなわち、前述した図41の式(17)〜(19)において、CainをLiftinに、Cain_cmdをLiftin_cmdに、Rcyc_cinをRcyc_linに、c1をc1’に、RsldをRsld’にそれぞれ置き換えるとともに、各係数などをバルブリフト制御用の値に置き換えたアルゴリズムにより、バルブリフト制御用の外乱推定値c1’が算出される。
また、2自由度SLDコントローラ213では、カム位相コントローラ200の2自由度SLDコントローラ203と同様のアルゴリズムにより、バルブリフト制御用のSLD制御入力Rsld’が算出される。すなわち、前述した図42の式(21)〜(27)において、上述したように、各パラメータおよび各係数などをバルブリフト制御用の値に置き換えたアルゴリズムにより、バルブリフト制御用のSLD制御入力Rsld’(制御入力)が算出される。
さらに、DSMコントローラ215では、上記のように算出されたバルブリフト制御用のSLD制御入力Rsld’に基づいて、カム位相コントローラ200のDSMコントローラ205と同様の制御アルゴリズムにより、リフト制御入力Uliftinが算出される。すなわち、図43の式(28)〜(33)において、各パラメータおよび各係数などをバルブリフト制御用の値に置き換えたアルゴリズムにより、リフト制御入力Uliftinが算出される。
一方、圧縮比コントローラ220も、カム位相コントローラ200と同様に構成されている。すなわち、図40に示すように、圧縮比コントローラ220は、目標圧縮比算出部221(目標圧縮比設定手段)、補償要素222(外乱補償値記憶手段、外乱補償値選択手段)、2自由度SLDコントローラ223(制御入力算出手段)、DSMコントローラ225および適応外乱オブザーバ226(外乱推定値算出手段)を備えている。この圧縮比コントローラ220では、目標圧縮比算出部221および補償要素222は、前述した圧縮比コントローラ120のものと同様に構成されているので、それらの説明はここでは省略する。
また、適応外乱オブザーバ226では、カム位相コントローラ200の適応外乱オブザーバ206と同様のアルゴリズムにより、圧縮比制御用の外乱推定値c1''が算出される。すなわち、前述した図41の式(17)〜(19)において、CainをCrに、Cain_cmdをCr_cmdに、Rcyc_cinをRcyc_crに、c1をc1''に、RsldをRsld''にそれぞれ置き換えるとともに、各係数などを圧縮比制御用の値に置き換えたアルゴリズムにより、圧縮比制御用の外乱推定値c1''が算出される。
また、2自由度SLDコントローラ223では、カム位相コントローラ200の2自由度SLDコントローラ203と同様のアルゴリズムにより、圧縮比制御用のSLD制御入力Rsld''(制御入力)が算出される。すなわち、前述した図42の式(21)〜(27)において、上述したように、各パラメータおよび各係数などを圧縮比制御用の値に置き換えたアルゴリズムにより、圧縮比制御用のSLD制御入力Rsld''が算出される。
さらに、DSMコントローラ225では、上記のように算出された圧縮比制御用のSLD制御入力Rsld''に基づいて、カム位相コントローラ200のDSMコントローラ205と同様の制御アルゴリズムにより、圧縮比制御入力Ucrが算出される。すなわち、図43の式(28)〜(33)において、各パラメータおよび各係数などを圧縮比制御用の値に置き換えたアルゴリズムにより、圧縮比制御入力Ucrが算出される。
この制御装置1Aでは、位相制御入力Ucain,Uliftin,UcrをECU2で算出する場合、前述した図32のステップ26において、式(21)〜(33)により、位相制御入力Ucainが算出される。また、ステップ27において、式(21)〜(33)の各変数および各係数などをバルブリフト制御用の値に置き換えたアルゴリズムにより、リフト制御入力Uliftinが算出されるとともに、ステップ28において、同じ手法により、圧縮比制御入力Ucrが算出される。
以上のように構成された本実施形態の制御装置1Aによれば、第1実施形態の制御装置1と同様に、3つの外乱補償値Rcyc_cin,Rcyc_lin,Rcyc_crに応じて、3つの制御入力Ucain,Uliftin,Ucrがそれぞれ算出されるので、そのように算出された制御入力Ucain,Uliftin,Ucrにより、カム位相Cain、バルブリフトLiftinおよび圧縮比Crをそれぞれフィードフォワード的に制御することで、周期的外乱がカム位相Cain、バルブリフトLiftinおよび圧縮比Crに及ぼす影響を迅速に補償し、抑制することができる。その結果、カム位相制御、バルブリフト制御および圧縮比制御において、前述した制御装置1と同様の作用効果を得ることができる。
これに加えて、外乱推定値c1,c1’,c1''が、適応外乱オブザーバ206,216,226により、モデル化誤差および外乱を補償するような値として算出されるとともに、そのような外乱推定値c1,c1’,c1''に応じて、制御入力Ucain,Uliftin,Ucrが算出される。したがって、これらの制御入力Ucain,Uliftin,Ucrにより、カム位相Cain、バルブリフトLiftinおよび圧縮比Crを、定常偏差が生じないように制御することができるとともに、周期的外乱がカム位相Cain、バルブリフトLiftinおよび圧縮比Crに及ぼす影響を、第1実施形態の制御装置1よりも、迅速に補償し、抑制することができる。以上により、制御装置1と比べて、制御の安定性および制御精度をさらに向上させることができる。
次に、本発明の第3実施形態に係る制御装置1Bについて説明する。本実施形態の制御装置1Bは、前述した第2実施形態の制御装置1Aと比べると、一部を除いて同様に構成されているので、以下、第2実施形態の制御装置1Aと異なる点を中心として説明する。図44〜図46に示すように、この制御装置1Bは、カム位相コントローラ300、バルブリフトコントローラ310および圧縮比コントローラ320を備えており、これらはいずれも、具体的にはECU2(モデルパラメータ同定手段)により構成されている。
まず、カム位相コントローラ300について説明すると、このカム位相コントローラ300は、図44に示すように、目標カム位相算出部301(目標カム位相設定手段)、補償要素302(外乱補償値記憶手段、外乱補償値選択手段)、2自由度SLDコントローラ303(制御入力算出手段)、DSMコントローラ305および部分パラメータ同定器307(モデルパラメータ同定手段)を備えている。このカム位相コントローラ300は、前述したカム位相コントローラ200と比較して、前述した外乱オブザーバ206に代えて、部分パラメータ同定器307を備えている点と、それに伴って2自由度SLDコントローラ303の制御アルゴリズムの一部とが異なっている。
この部分パラメータ同定器307では、カム位相Cain、カム位相制御用の外乱補償値Rcyc_cinおよびカム位相制御用のSLD制御入力Rsldに応じて、図47の式(34)〜(39)で表される、固定ゲイン法の逐次型同定アルゴリズムにより、パラメータベクトルθが同定される。このパラメータベクトルθは、その転置行列が式(38)のように表されるベクトルであり、同式(38)のd1は、外乱補償値ゲインであり、可変カム位相機構70の経年変化および個体間のばらつきなどに起因して、周期的外乱の振幅が変化するのを補償するためのものである。また、式(34)のWは仮想出力を表し、式(35)のW_hatは、仮想出力の同定値を表している。さらに、式(37)のe_id’は、式(36)のように定義される同定誤差であり、P''は所定の同定ゲインを表しており、ζはその転置行列が式(39)のように表されるベクトルである。
なお、以上の式(34)〜(39)は以下のように導出される。すなわち、前述した図41の式(20)のモデルに、外乱補償値ゲインd1を付加すると、図47に示す式(40)が得られる。この式(40)において、各変数を離散時間1つ分シフトさせ、パラメータb1,b2、外乱補償値ゲインd1および外乱補償値Rcyc_cinを離散化し、Cainの項を左辺に移項させると、同図の式(41)が得られる。この式(41)において、左辺をWと定義し、右辺をW_hatと定義すると、上記式(34),(35)が得られる。ここで、Wは仮想的な制御対象の出力と考え、W_hatは、そのような制御対象の出力の同定値と考えることができるとともに、式(35)は、そのような仮想的な制御対象のモデルと考えることができる。したがって、仮想出力Wが仮想出力の同定値W_hatに近づくように、仮想的な制御対象のモデルパラメータの同定を行うべく、固定ゲイン法の逐次型同定アルゴリズムを適用すると、上記(34)〜(39)が導出される。
以上の式(34)〜(39)の同定アルゴリズムにより、この部分パラメータ同定器307では、モデルパラメータb1,b2、外乱推定値c1および外乱補償値ゲインd1が、逐次同定される。
また、2自由度SLDコントローラ303では、図48の式(42)〜(48)で表される目標値フィルタ型2自由度スライディングモード制御アルゴリズムにより、カム位相制御用のSLD制御入力Rsldが算出される。これらの式(42)〜(48)を参照すると明らかなように、この2自由度SLDコントローラ303の制御アルゴリズムは、前述した2自由度SLDコントローラ203のものと比較すると、等価制御入力Reqの算出において、カム位相制御用の外乱補償値Rcyc_cinに、外乱補償値ゲインd1が乗算されている点のみが異なっている。
さらに、DSMコントローラ305では、上記のように算出されたカム位相制御用のSLD制御入力Rsldに基づいて、前述したDSMコントローラ205と同じ制御アルゴリズム[図49に示す式(49)〜(54)]により、位相制御入力Ucainが算出される。
次に、バルブリフトコントローラ310に説明すると、このバルブリフトコントローラ310も、上記カム位相コントローラ300と同様に構成されている。具体的には、図45に示すように、バルブリフトコントローラ310は、目標バルブリフト算出部311(目標バルブリフト設定手段)、補償要素312(外乱補償値記憶手段、外乱補償値選択手段)、2自由度SLDコントローラ313(制御入力算出手段)、DSMコントローラ315および部分パラメータ同定器317(モデルパラメータ同定手段)を備えている。このバルブリフトコントローラ310は、前述したバルブリフトコントローラ210と比較して、前述した外乱オブザーバ216に代えて、部分パラメータ同定器317を備えている点と、それに伴って2自由度SLDコントローラ303の制御アルゴリズムの一部とが異なっている。
この部分パラメータ同定器317では、バルブリフト制御用の、モデルパラメータb1’,b2’、外乱推定値c1’および外乱補償値ゲインd1’が、カム位相コントローラ300の部分パラメータ同定器307と同様のアルゴリズムにより、逐次同定される。すなわち、前述した図47の式(34)〜(39)において、b1,b2,c1,d1をb1’,b2’,c1’,d1’に、CainをLiftinに、Rcyc_cinをRcyc_linに、RsldをRsld’にそれぞれ置き換えるとともに、各係数などをバルブリフト制御用の値に置き換えたアルゴリズムにより、バルブリフト制御用の、モデルパラメータb1’,b2’、外乱推定値c1’および外乱補償値ゲインd1’がそれぞれ、逐次同定される。
また、2自由度SLDコントローラ313では、カム位相コントローラ300の2自由度SLDコントローラ303と同様のアルゴリズムにより、バルブリフト制御用のSLD制御入力Rsld’が算出される。すなわち、前述した図48の式(42)〜(48)において、上述したように、各パラメータおよび各係数などをバルブリフト制御用の値に置き換えたアルゴリズムにより、バルブリフト制御用のSLD制御入力Rsld’が算出される。
さらに、DSMコントローラ315では、上記のように算出されたバルブリフト制御用のSLD制御入力Rsld’に基づいて、カム位相コントローラ300のDSMコントローラ305と同様の制御アルゴリズムにより、リフト制御入力Uliftinが算出される。すなわち、図49の式(49)〜(54)において、各パラメータおよび各係数などをバルブリフト制御用の値に置き換えたアルゴリズムにより、リフト制御入力Uliftinが算出される。
一方、圧縮比コントローラ320も、カム位相コントローラ300と同様に構成されている。すなわち、図46に示すように、圧縮比コントローラ320は、目標圧縮比算出部321(目標圧縮比設定手段)、補償要素322(外乱補償値記憶手段、外乱補償値選択手段)、2自由度SLDコントローラ323(制御入力算出手段)、DSMコントローラ325および部分パラメータ同定器327(モデルパラメータ同定手段)を備えている。
この部分パラメータ同定器327では、圧縮比制御用の、モデルパラメータb1'',b2''、外乱推定値c1''および外乱補償値ゲインd1''が、カム位相コントローラ300の部分パラメータ同定器307と同様のアルゴリズムにより、逐次同定される。すなわち、前述した図47の式(34)〜(39)において、b1,b2,c1,d1をb1'',b2'',c1'',d1''に、CainをCrに、Rcyc_cinをRcyc_crに、RsldをRsld''にそれぞれ置き換えるとともに、各係数などを圧縮比制御用の値に置き換えたアルゴリズムにより、圧縮比制御用の、モデルパラメータb1'',b2''、外乱推定値c1''および外乱補償値ゲインd1''がそれぞれ、逐次同定される。
また、2自由度SLDコントローラ313では、カム位相コントローラ300の2自由度SLDコントローラ303と同様のアルゴリズムにより、圧縮比制御用のSLD制御入力Rsld''が算出される。すなわち、前述した図48の式(42)〜(48)において、上述したように、各パラメータおよび各係数などを圧縮比制御用の値に置き換えたアルゴリズムにより、圧縮比制御用のSLD制御入力Rsld''が算出される。
さらに、DSMコントローラ325では、上記のように算出された圧縮比制御用のSLD制御入力Rsld''に基づいて、カム位相コントローラ300のDSMコントローラ305と同様の制御アルゴリズムにより、圧縮比制御入力Ucrが算出される。すなわち、図49の式(49)〜(54)において、各パラメータおよび各係数などを圧縮比制御用の値に置き換えたアルゴリズムにより、圧縮比制御入力Ucrが算出される。
以上のように構成された本実施形態の制御装置1Bによれば、第1および第2実施形態の制御装置1,1Aと同様に、3つの外乱補償値Rcyc_cin,Rcyc_lin,Rcyc_crに応じて、3つの制御入力Ucain,Uliftin,Ucrがそれぞれ算出されるので、そのように算出された制御入力Ucain,Uliftin,Ucrにより、カム位相Cain、バルブリフトLiftinおよび圧縮比Crをそれぞれフィードフォワード的に制御することで、周期的外乱がカム位相Cain、バルブリフトLiftinおよび圧縮比Crに及ぼす影響を迅速に補償し、抑制することができる。その結果、カム位相制御、バルブリフト制御および圧縮比制御において、前述した制御装置1と同様の作用効果を得ることができる。
これに加えて、制御装置1Bのカム位相コントローラ300では、モデルパラメータb1,b2、外乱推定値c1および外乱補償値ゲインd1が、逐次同定されるとともに、2自由度SLDコントローラ303により、そのように同定された値b1,b2,c1,d1およびカム位相制御用の外乱補償値Rcyc_cinに応じて、カム位相制御用のSLD制御入力Rsldが算出され、これに基づいて位相制御入力Ucainが算出される。したがって、この位相制御入力Ucainにより、可変カム位相機構70の経年変化および個体間のばらつきなどに起因して、周期的外乱の振幅が変化した場合でも、それを適切に補償しながら、カム位相Cainを目標カム位相Cain_cmdに迅速に精度よく収束させることができる。すなわち、周期的外乱がカム位相Cainに及ぼす影響を、第2実施形態のカム位相コントローラ200よりも、迅速に補償し、抑制することができる。以上により、第2実施形態のカム位相コントローラ200と比べて、カム位相制御の安定性および制御精度をさらに向上させることができる。
これに加えて、バルブリフトコントローラ310および圧縮比コントローラ320でも、上記カム位相コントローラ300と同様の作用効果を得ることができ、それにより、第2実施形態のバルブリフトコントローラ210および圧縮比コントローラ220と比べて、バルブリフト制御および圧縮比制御の安定性および制御精度をさらに向上させることができる。
本実施形態のカム位相コントローラ300は、部分パラメータ同定器307により、モデルパラメータの一部(b1,b2)、外乱推定値c1および外乱補償値ゲインd1を同定するように構成した例であるが、部分パラメータ同定器307に代えて、全てのモデルパラメータa1,a2,b1,b2、外乱推定値c1および外乱補償値ゲインd1を同定するパラメータ同定器を用いてもよく、また、部分パラメータ同定器に代えて、外乱補償値ゲインd1のみを同定する同定器を用いてもよい。
さらに、部分パラメータ同定器307では、その同定アルゴリズムとして固定ゲイン法を用いたが、これに代えて他の同定アルゴリズムを用いてもよい。例えば、可変ゲイン法や、固定ゲイン法の改良アルゴリズムであるδ修正法またはσ修正法、モデルパラメータスケジューラとδ修正法を組み合わせた同定アルゴリズムを用いてもよい。これに加えて、コントローラ310,320においても、部分パラメータ同定器317,327を上記のように構成してもよいことは言うまでもない。
なお、以上の各実施形態は、本発明の制御装置を、可動部駆動機構として可変カム位相機構70、可変バルブリフト機構50および可変圧縮比機構80の制御に適用した例であるが、本発明の制御装置はこれに限らず、周期的外乱が加えられる各種の産業機械の可動部駆動機構の制御に適用可能であることは言うまでもない。
また、各実施形態は、可変カム位相機構70を、吸気カムシャフト5のクランクシャフト3dに対する位相Cainを変更するものとして構成した例であるが、可変カム位相機構はこれに限らず、排気カムシャフト8のクランクシャフト3dに対する位相を変更するものとして構成してもよく、さらに、吸気カムシャフト5および排気カムシャフト8の双方のクランクシャフト3dに対する位相を変更するものとして構成してもよい。このように可変カム位相機構を構成し、前述した制御アルゴリズムでこれを制御した場合、前述した作用効果に加えて、排気動弁系に作用する周期的外乱の影響を迅速に補償し、抑制することができる。その結果、周期的外乱の影響によって内部EGR量が減少するのを回避でき、安定した燃焼状態を確保できる。
さらに、各実施形態は、可変バルブリフト機構50を、吸気弁4のリフトLiftinを変更するものとして構成した例であるが、可変バルブリフト機構はこれに限らず、排気弁7のリフトを変更するものとして構成してもよく、さらに、吸気弁4および排気弁7の双方のリフトを変更するものとして構成してもよい。このように可変バルブリフト機構を構成し、前述した制御アルゴリズムでこれを制御した場合、前述した作用効果に加えて、排気動弁系に作用する周期的外乱の影響を迅速に補償し、抑制することができる。その結果、周期的外乱の影響によって内部EGR量が変動するのを回避でき、安定した燃焼状態を確保できる。