以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本発明の実施の形態としての油圧アクチュエータ制御装置が適用されたバルブタイミング可変機構の油圧システムの概略構成を示す図である。本発明は吸気バルブと排気バルブの何れのバルブタイミング可変機構にも適用可能であるが、ここでは吸気バルブのバルブタイミング可変機構に本発明が適用されている。
図1に示すように、バルブタイミング可変機構の油圧システムは、クランク軸に対するカム軸の変位角を変化させるための油圧アクチュエータ20を備えている。油圧アクチュエータ20は、クランク軸に同期して回転するハウジング22と、ハウジング22内に配置されカム軸に同期して回転するロータ24を備えている。ハウジング22の内部には油室26、28が形成されている。この油室26、28はロータ24によって進角側油室26と遅角側油室28とに区画されている。
油圧アクチュエータ20は、油室26、28へ加圧油が供給されてハウジング22に対するロータ24の回転角が変化することにより動作する。進角側油室26へ加圧油が供給されるときには、油圧アクチュエータ20はクランク軸に対するカム軸の変位角を進角側に変化させるように動作し、遅角側油室28へ加圧油が供給されるときにはクランク軸に対するカム軸の変位角を遅角側に変化させるように動作する。このとき、加圧油が供給されない側の油室からは、加圧油が供給される側の油室の拡大に伴い内部の加圧油が押し出されて排出されるようになっている。
油圧アクチュエータ20に供給される加圧油は、エンジンにより駆動されるオイルポンプ30から圧送される。オイルポンプ30と油圧アクチュエータ20との間にはオイルコントロールバルブ(以下、OCV)10が設けられている。OCV10は4ポートスプール弁であって、スリーブ18内のスプール12の位置によって、油圧アクチュエータ20の両油室26、28に対する加圧油の給排を制御することができる。OCV10のAポートは油圧アクチュエータ20の進角側油室26に接続され、Bポートは遅角側油室28に接続されている。また、OCV10のPポートはオイルポンプ30に接続され、Rポートはオイルタンク32に接続されている。
スプール12は、移動方向の一方の端部をスプリング16によって支持され、他方の端部をソレノイド14によって支持されている。スリーブ18内でのスプール12の位置は、ソレノイド14に供給する駆動電流のデューティ(以下、OCV駆動デューティという)によって制御することができる。図1に示すスプール12の位置では、A、BポートとP、Rポートとの連通が遮断されて両油室26、28に対する加圧油の給排は実質的に行わない。以下、A、BポートとP、Rポートとの連通が遮断されるスプール12の動作域を中立域という。
スプール12が中立域にある状態においてOCV駆動デューティが増大されると、スプール12はソレノイド14に押されて移動する。これにより、AポートがPポートに連通し、BポートがRポートに連通して、進角側油室26への加圧油の供給と遅角側油室28からの加圧油の排出とが同時に行われるようになる。以下、進角側油室26へ加圧油が供給されるスプール12の動作域を進角域という。
逆に、スプール12が中立域にある状態においてOCV駆動デューティが低減されると、スプール12はスプリング16に押されて移動する。これにより、AポートがRポートに連通し、BポートがPポートに連通して、遅角側油室28への加圧油の供給と進角側油室26からの加圧油の排出とが同時に行われるようになる。以下、遅角側油室28へ加圧油が供給されるスプール12の動作域を遅角域という。
図2は、バルブタイミング可変機構におけるOCV駆動デューティと油圧アクチュエータ20の変位速度(クランク軸に対するカム軸の変位角の変化速度)との関係を示す特性線図である。この図に示すように、バルブタイミング可変機構には、油圧アクチュエータ20の変位速度がゼロに保持されるデューティ(以下、保持デューティ)の付近に、デューティ値の変化に対して変位速度の変化が小さい、つまり、デューティ値の変化に対する応答性が低い不感帯が存在する。前述の中立域は一定の幅をもって形成されている。スプール12が中立域内にあるときのOCV駆動デューティの範囲が不感帯となる。
OCV駆動デューティが不感帯を超えて増大されると、油圧アクチュエータ20の変位速度は進角側に増大し始め、OCV駆動デューティの変化に対して線形に変化する。これは、スプール12の動作域が中立域から進角域に入ったことによる。OCV駆動デューティがある程度まで増大した時点で油圧アクチュエータ20の変位速度は最大進角速度に達し、それ以上OCV駆動デューティを増大させても変位速度は一定に保持される。このとき、スプール12は進角域の限界位置まで移動し、AポートとPポートとが、また、BポートとRポートとが完全に連通した状態になっている。
逆に、OCV駆動デューティが不感帯を超えて低減されると、油圧アクチュエータ20の変位速度は遅角側に増大し始め、OCV駆動デューティの変化に対して線形に変化する。これは、スプール12の動作域が中立域から遅角域に入ったことによる。OCV駆動デューティがある程度まで減少した時点で油圧アクチュエータ20の変位速度は最大遅角速度に達し、それ以上OCV駆動デューティを減少させても変位速度は一定に保持される。このとき、スプール12は遅角域の限界位置まで移動し、AポートとRポートとが、また、BポートとPポートとが完全に連通した状態になっている。
OCV10の制御は、制御装置40によって行われる。この制御装置40と油圧アクチュエータ20及びOCV10を含む機構部分(バルブタイミング可変機構)とによりバルブタイミング可変装置が構成される。制御装置40は、クランク軸に対するカム軸の目標変位角を設定し、実際の変位角(制御変位角)と目標変位角との偏差に基づいてOCV駆動デューティを算出する。制御装置40は、算出したOCV駆動デューティを制御信号としてOCV10に出力する。なお、目標変位角はエンジンの運転状態に応じた最適なバルブタイミングを得るための変位角であり、エンジンの運転状態をパラメータとするマップから決定される。制御変位角は、クランク角センサ42の出力信号とカム角センサ44の出力信号とから計算することができる。
以下、制御装置40によるOCV10の制御の概要について図3及び図4を用いて説明する。制御装置40には、OCVとして仮想のモデル制御弁(以下、仮想OCV)を用いた場合に実現される油圧アクチュエータ20の制御特性がモデル制御特性として記憶されている。モデル制御特性では、OCV駆動デューティと油圧アクチュエータ20の変位速度との関係は固定されておらず、不感帯の中心(以下、OCV中心)を基準としたときのOCV駆動デューティの変化に対する油圧アクチュエータ20の変位速度の変化の傾向が設定されている。具体的には、図3の下段に示すような特性線がモデル制御特性として記憶されている。
図3の上段にはOCV10の制御特性を特性線で示している。しかし、実際のOCV10の制御特性には個体差があり、また、油温等の条件によってOCV10の制御特性は変化する。したがって、実際のOCV10の制御特性を予め特定しておくことは難しい。そこで、制御装置40は、上記のモデル制御特性を利用し、制御特性に関する最小限のデータから実際のOCV10の制御特性を推定することにしている。
制御装置40は、OCV10の制御特性に関する最小限のデータとして、OCV10の不感帯と保持デューティとを特定する。
OCV10の不感帯は、OCV10のデューティ制御により油圧アクチュエータ20の動作を制御する中で学習される。制御装置40によって実施される不感帯の学習の方法に関しては後述する。
仮想OCVの不感帯はモデル不感帯として予め既知であるので、OCV10の不感帯(実OCV不感帯)が特定されれば、実OCV不感帯幅と仮想OCV不感帯幅との比を算出することができる。この比は、OCV10と仮想OCVとを対応させるための対応係数であり、実際のOCV10の仮想OCVに対する制御特性のばらつきを補正するための係数として用いることができる。以下の式(1)に示すように、本明細書では、実OCV不感帯幅と仮想OCV不感帯幅との比をOCVばらつき補正係数として定義する。
OCVばらつき補正係数=実OCV不感帯幅/仮想OCV不感帯幅 ・・・(1)
OCV10の保持デューティは、OCV10のデューティ制御により油圧アクチュエータ20の動作を制御する中で学習される。本発明を実施するにあたっては保持デューティの学習方法には限定はなく、従来提案されている方法の何れを用いてもよい。一例としては、目標変位角が一定時間を超えて変化していない状態で、制御変位角にも一定時間を超えて変化がないとき、その時点でのOCV駆動デューティを保持デューティとして学習することができる。
OCV10の保持デューティが学習によって特定されれば、保持デューティのOCV中心からのずれ量を求めることができる。ここでは、実際のOCV10における保持デューティのOCV中心からのずれ量は、仮想OCVにおける保持デューティのOCV中心からのずれ量に対して比例関係にあるとする。また、実際のOCV10におけるOCV中心は、仮想OCVにおけるOCV中心に一致するものとする。このような条件のもと、以下の式(2)によって算出される仮想OCVの保持デューティを、仮想OCV保持デューティ学習値として定義する。
仮想OCV保持デューティ学習値=(保持デューティ学習値−OCV中心)/OCVばらつき補正係数+OCV中心 ・・・(2)
制御装置40は、油圧アクチュエータ20の制御変位角と目標変位角との偏差に基づくフィードバック制御によってOCV10のデューティ制御を行う。フィードバック制御にはPD制御が用いられる。制御装置40には、エンジン回転数及び油温と制御ゲインとの関係が予めマップデータとして記憶されている。PD制御におけるP制御とD制御のうちP制御の制御量は、制御変位角と目標変位角との偏差とP制御ゲインとから算出される。また、D制御の制御量は、制御変位角と目標変位角との偏差の変化速度とD制御ゲインとから算出される。以下、仮想OCVにおけるP制御量とD制御量とを合わせて基本制御量という。制御装置40は、マップデータを用いて偏差に応じた基本制御量を算出し、上記の仮想OCV保持デューティ学習値に加算する。仮想OCV保持デューティ学習値に基本制御量を加算した値は、仮想OCVにおいて出力されるべきOCV駆動デューティである。以下、仮想OCVにおいて出力されるべきOCV駆動デューティを基本デューティという。
上記の基本デューティは、仮想OCVの制御特性において最適な制御結果が得られるデューティである。実際のOCV10において最適な制御結果を得るためには、上記の基本デューティを実際のOCV10の制御特性に適合した値に変換する必要がある。また、その際には、OCV10の不感帯について考慮することが求められる。OCV駆動デューティが不感帯内にあるか不感帯外にあるかにより、OCV駆動デューティの変化に対する油圧アクチュエータ20の変位速度の変化は大きく異なるからである。
そこで、制御装置40は、図4及び図5の各下段に示すように、基本制御量を仮想OCV不感帯の内にある仮想OCV不感帯内制御量と、仮想OCV不感帯の外にある仮想OCV不感帯外制御量とに区分する。図4は基本デューティが仮想OCV不感帯を超える場合を示し、図5は基本デューティが仮想OCV不感帯内にある場合を示している。制御装置40は、仮想OCV不感帯内制御量と仮想OCV不感帯外制御量のそれぞれについて独自の変換を行い、仮想OCV不感帯内制御量からは実OCV不感帯内にある制御量を算出し、仮想OCV不感帯外制御量からは実OCV不感帯外にある制御量を算出する。こうして求められた、実OCV不感帯内制御量と実OCV不感帯外制御量とを保持デューティ学習値に加算した値が、実際のOCV10にて出力されるOCV駆動デューティとなる。つまり、OCV駆動デューティは次の式(3)によって算出することができる。
OCV駆動デューティ=実OCV不感帯内制御量+実OCV不感帯外制御量+保持デューティ学習値 ・・・(3)
以上説明したような方法でOCV10の制御を行えば、OCV10の個体差に起因する制御特性のばらつきの影響を抑えて、油圧アクチュエータ20の制御性、特にOCV10の不感帯外での制御性を向上させることができる。上記のように仮想OCVのモデル制御特性を利用することで、実際のOCV10の不感帯と保持デューティとを特定するだけで、実際のOCV10の制御特性を推定することができ、その推定した制御特性に基づいて油圧アクチュエータ20の動作を制御することができるからである。
以下では、図6乃至図10の各フローチャートを用いて、本実施の形態にかかるOCV10の制御方法についてより具体的に説明する。まず、図6のフローチャートは、OCV10に出力する制御量の算出のためのルーチンを示している。このルーチンは、制御装置40によって一定の周期で実施される。
図6に示すルーチンの最初のステップS100では、式(1)を用いてOCVばらつき補正係数が算出される。次のステップS102では、OCV10の不感帯の中心値であるOCV中心デューティが算出される。OCV中心デューティは、不感帯上端デューティの学習値と不感帯下端デューティの学習値とを平均することで求めることができる。
ステップS104では、仮想OCVの不感帯上端デューティと下端デューティとが算出される。仮想OCV不感帯上端デューティは、ステップS102で算出されたOCV中心デューティに仮想OCV不感帯幅の1/2を加算した値とされ、仮想OCV不感帯下端デューティは、OCV中心デューティから仮想OCV不感帯幅の1/2を減算した値とされる。次のステップS106では、式(2)を用いて仮想OCV保持デューティ学習値が算出される。
ステップS108では、エンジン回転数及び油温をパラメータとするマップデータを用いて仮想OCVにおける基本制御量が算出される。なお、加圧油の油温は、オイルポンプ30とOCV10とを結ぶ油圧ライン上に配置された油温センサ46によって測定することができる。次のステップS110では、次の式(4)によって仮想OCVにおける基本デューティが算出される。
基本デューティ=仮想OCV保持デューティ学習値+基本制御量 ・・・(4)
ステップS112では、ステップS110で算出した基本デューティが仮想OCVの不感帯の外にあるか否か判定される。基本デューティが仮想OCVの不感帯内にある場合には、ステップS114、S116及びS118の処理によって制御量が算出される。
まず、ステップS114では、次の式(5)によって仮想OCV不感帯内制御量が算出される。
仮想OCV不感帯内制御量=基本デューティ−仮想OCV保持デューティ学習値 ・・・(5)
次のステップS116では、次の式(6)によって仮想OCV不感帯内制御量が実OCV不感帯内制御量に変換される。
実OCV不感帯内制御量=仮想OCV不感帯内制御量×OCVばらつき補正係数 ・・・(6)
最後に、ステップS118では、次の式(7)に示すように、ステップS116で算出された実OCV不感帯内制御量が制御量として設定される。
制御量=実OCV不感帯内制御量 ・・・(7)
ステップS112の判定の結果、ステップS110で算出した基本デューティが仮想OCVの不感帯外にある場合には、続いてステップS120の判定が行われる。ステップS120では、ステップS110で算出した基本デューティが仮想OCV不感帯上端デューティより大きいか否か判定される。基本デューティが仮想OCV不感帯上端デューティより大きい場合には、ステップS122、S124、S126、S128及びS130の処理によって制御量が算出される。
まず、ステップS122では、次の式(8)によって仮想OCV不感帯外制御量が算出される。
仮想OCV不感帯外制御量=基本デューティ−仮想OCV不感帯上端デューティ ・・・(8)
次のステップS124では、次の式(9)によって仮想OCV不感帯外制御量が実OCV不感帯外制御量に変換される。なお、式(9)における温度補正係数は、油温センサ46によって測定される加圧油の油温に応じて設定される。油圧アクチュエータ20の変位速度は油温の影響を受けるからである。
実OCV不感帯外制御量=仮想OCV不感帯外制御量×温度補正係数 ・・・(9)
ステップS126では、次の式(10)によって仮想OCV不感帯内制御量が算出される。
仮想OCV不感帯内制御量=仮想OCV不感帯上端デューティ−仮想OCV保持デューティ学習値 ・・・(10)
次のステップS128では、上記の式(6)によって仮想OCV不感帯内制御量が実OCV不感帯内制御量に変換される。
最後に、ステップS130では、ステップS124で算出された実OCV不感帯外制御量とステップS128で算出された実OCV不感帯内制御量とを用い、次の式(11)によって制御量が算出される。
制御量=実OCV不感帯内制御量+実OCV不感帯外制御量 ・・・(11)
ステップS120の判定の結果、ステップS110で算出した基本デューティが仮想OCV不感帯上端デューティより小さい場合には、ステップS132、S134、S136、S138及びS140の処理によって制御量が算出される。
まず、ステップS132では、次の式(12)によって仮想OCV不感帯外制御量が算出される。
仮想OCV不感帯外制御量=基本デューティ−仮想OCV不感帯下端デューティ ・・・(11)
次のステップS134では、上記の式(9)によって仮想OCV不感帯外制御量が実OCV不感帯外制御量に変換される。
ステップS136では、次の式(13)によって仮想OCV不感帯内制御量が算出される。
仮想OCV不感帯内制御量=仮想OCV不感帯下端デューティ−仮想OCV保持デューティ学習値 ・・・(13)
次のステップS138では、上記の式(6)によって仮想OCV不感帯内制御量が実OCV不感帯内制御量に変換される。
最後に、ステップS140では、ステップS134で算出された実OCV不感帯外制御量とステップS138で算出された実OCV不感帯内制御量とを用い、上記の式(11)によって制御量が算出される。
次に説明する図7乃至図10のフローチャートは、何れもOCV10の不感帯を学習するためのルーチンを示している。OCV10の不感帯は、これらルーチンのそれぞれによって学習される。図7のフローチャートは、OCV10の不感帯の上端デューティ及び下端デューティを学習するためのルーチンを示している。このルーチンは、制御装置40によって一定の周期で実行される。
図7に示すルーチンの最初のステップS700では、油圧アクチュエータ20の目標変位角が安定しているか否か判定される。目標変位角はエンジン回転数やエンジン負荷等のエンジンの運転状態から決定される。所定時間内での目標変位角の変化量が所定値よりも小さければ、目標変位角は安定していると判断される。目標変位角が安定していない場合には、本ルーチンは終了する。
ステップS700において目標変位角が安定していると判定された場合には、続いてステップS702の判定が行われる。ステップS702では、制御変位角が目標変位角に収束しているかいないか判定される。制御変位角と目標変位角との偏差が一定時間を超えて所定の基準偏差以下になっていれば、制御変位角が目標変位角に収束していると判断することができる。制御変位角が目標変位角に収束している場合には、現在の不感帯の上端デューティ及び下端デューティの学習値は適正な値であると判断することができる。したがって、その場合には本ルーチンは終了する。
ステップS702において制御変位角が目標変位角に収束していないと判定された場合には、ステップS704に進む。ステップS704では、OCV駆動デューティの変化量の絶対値が所定値以下か否か判定される。変化量の絶対値が所定値以上の場合には、本ルーチンは終了する。
ステップS704の条件が成立する場合には、ステップS706に進む。ステップS706では、ステップS704の条件が成立した状態が所定時間継続したか否か判定される。ステップS704の条件の成立から所定時間が経過していない場合には、本ルーチンは終了する。
ステップS706の条件が成立する場合、つまり、OCV駆動デューティの変化量の絶対値が所定値以下の状態が所定時間継続した場合には、OCV駆動デューティはOCV10の不感帯内にあると判断することができる。次のステップS708では、現時点までの所定期間内のOCV駆動デューティの平均値が算出され、その値が不感帯学習値の更新値としてメモリに一時的に記憶される。メモリに記憶されている更新値は、ステップS708の処理が実行される度に新たな値に更新される。
次のステップS710では、メモリに記憶されている更新値が現在の不感帯上端デューティの学習値よりも大きいか否か判定される。更新値が現在の学習値よりも大きければステップS712に進む。ステップS712では、メモリに記憶されている更新値が不感帯上端デューティの学習値に代入される。すなわち、不感帯上端デューティの更新が行われる。
更新値が現在の不感帯上端デューティの学習値以下の場合にはステップS714に進む。ステップS714では、メモリに記憶されている更新値が現在の不感帯下端デューティの学習値よりも小さいか否か判定される。更新値が現在の学習値以上であるならば、本ルーチンは終了する。一方、更新値が現在の学習値よりも小さければステップS716に進む。ステップS716では、メモリに記憶されている更新値が不感帯下端デューティの学習値に代入される。すなわち、不感帯下端デューティの更新が行われる。
図7に示すルーチンでは、油圧アクチュエータ20の目標変位角が安定しており、且つ、OCV10に出力するOCV駆動デューティの値が安定していることを条件として不感帯の上端デューティ及び下端デューティの学習を行うこととしている。上記条件の成立を判定することで、現時点のOCV駆動デューティが不感帯内の値か否か正確に判定することができ、そして、OCV駆動デューティの値が安定した状態で学習を行うことで不感帯の学習精度を高く保つことができる。また、図7に示すルーチンによれば、油圧アクチュエータ20を動作させなくても不感帯の学習を行うことが可能であるので、不感帯の学習機会を増やすことができ、それにより不感帯の学習精度を向上させることができるという利点もある。
図8のフローチャートは、OCV10の不感帯の上端デューティ及び下端デューティを学習するためのルーチンを示している。このルーチンは、制御装置40によって一定の周期で実行される。
図8に示すルーチンの最初のステップS300では、保持デューティ学習値の更新タイミングが到来したか否か判定される。保持デューティ学習値は、本ルーチンとは別のルーチンにて一定の周期にて更新されている。保持デューティ学習値の更新周期は、本ルーチンの実行周期よりも長い周期に設定されている。保持デューティ学習値の更新タイミングが未だ到来していない場合、本ルーチンは終了する。
ステップS300において保持デューティ学習値の更新タイミングが到来したと判定された場合には、ステップS302に進む。ステップS302では、保持デューティ学習値の更新値が現在の不感帯上端デューティの学習値よりも大きいか否か判定される。保持デューティ学習値の更新値が不感帯上端デューティの学習値よりも大きければステップS304に進む。ステップS304では、保持デューティ学習値の更新値が不感帯上端デューティの学習値に代入される。すなわち、不感帯上端デューティの更新が行われる。
一方、保持デューティ学習値の更新値が不感帯上端デューティの学習値以下の場合には、ステップS306に進む。ステップS306では、保持デューティ学習値の更新値が現在の不感帯下端デューティの学習値よりも小さいか否か判定される。保持デューティ学習値の更新値が不感帯下端デューティの学習値よりも小さければステップS308に進む。ステップS308では、保持デューティ学習値の更新値が不感帯下端デューティの学習値に代入される。すなわち、不感帯下端デューティの更新が行われる。
図9のフローチャートは、OCV10の不感帯の上端デューティを学習するためのルーチンを示している。このルーチンは、制御装置40によって一定の周期で実行される。
図9に示すルーチンの最初のステップS400では、油圧アクチュエータ20の目標変位角が安定しているか否か判定される。目標変位角はエンジン回転数やエンジン負荷等のエンジンの運転状態から決定される。一定時間を超えて目標変位角に変化がないとき、目標変位角は安定していると判断される。目標変位角が安定していない場合には、本ルーチンは終了する。
ステップS400において目標変位角が安定していると判定された場合には、続いてステップS402の判定が行われる。ステップS402では、オーバーシュートフラグがゼロか否か判定される。オーバーシュートフラグは、次に説明するステップS404及びS406の各条件が成立したときにセットされるフラグである。
ステップS402においてオーバーシュートフラグがゼロと判定された場合には、ステップS404に進む。ステップS404では、目標変位角と制御変位角との前回の偏差がゼロより大きいか否か判定される。前回の偏差がゼロ以下の場合には、本ルーチンは終了する。
ステップS404において前回の偏差がゼロより大きいと判定された場合、つまり、前回の時点では目標変位角に制御変位角が到達していなかった場合には、ステップS406に進む。ステップS406では、目標変位角と制御変位角との今回の偏差がゼロより小さいか否か判定される。今回の偏差がゼロ以上の場合には、本ルーチンは終了する。
ステップS406において今回の偏差がゼロより小さいと判定された場合、つまり、制御変位角が目標変位角を超えてオーバーシュートした場合には、ステップS408に進む。ステップS408では、オーバーシュートフラグが1にセットされる。
ステップS402においてオーバーシュートフラグがゼロでないと判定された場合には、ステップS410に進む。ステップS410では、目標変位角と制御変位角との今回の偏差がゼロより小さいか否か判定される。今回の偏差がゼロ以上の場合、つまり、再び制御変位角が目標変位角以下になったときには、ステップS416に進む。ステップS416では、オーバーシュートフラグがゼロにリセットされる。
ステップS410において今回の偏差がゼロより小さいと判定された場合、つまり、今回も制御変位角が目標変位角を超えてオーバーシュートしている場合には、ステップS412に進む。ステップS412では、前回の偏差のほうが今回の偏差よりも小さいか否か判定される。今回の偏差が前回の偏差以下であれば、制御変位角の目標変位角に対するオーバーシュート量は未だ拡大していると判断することができる。その場合には、本ルーチンは終了する。一方、前回の偏差のほうが今回の偏差よりも小さい場合には、オーバーシュート量は前回が最大であり、前回の偏差の絶対値が最大オーバーシュート量であると判断することができる。
ステップS412において、前回の偏差のほうが今回の偏差よりも小さいと判定された場合には、ステップS414に進む。ステップS414では、次の式(15)によって不感帯上端デューティの学習値が修正される。式(15)の右辺の不感帯上端デューティ学習値は修正前の値であり、左辺の不感帯上端デューティ学習値は修正後の値である。また、右辺の修正値は最大オーバーシュート量から決まる値であって、最大オーバーシュート量が大きければ修正値も大きい値に設定される。
不感帯上端デューティ学習値=不感帯上端デューティ学習値−修正値 ・・・(15)
図9に示すルーチンによれば、油圧アクチュエータ20の制御変位角が目標変位角を正の方向に超えることのないようにオーバーシュート量に応じて不感帯上端デューティ学習値が補正されるので、油圧アクチュエータ20の制御性をより向上させることができる。
図10のフローチャートは、OCV10の不感帯の下端デューティを学習するためのルーチンを示している。このルーチンは、制御装置40によって一定の周期で実行される。
図10に示すルーチンの最初のステップS500では、油圧アクチュエータ20の目標変位角が安定しているか否か判定される。目標変位角はエンジン回転数やエンジン負荷等のエンジンの運転状態から決定される。一定時間を超えて目標変位角に変化がないとき、目標変位角は安定していると判断される。目標変位角が安定していない場合には、本ルーチンは終了する。
ステップS500において目標変位角が安定していると判定された場合には、続いてステップS502の判定が行われる。ステップS502では、アンダーシュートフラグがゼロか否か判定される。アンダーシュートフラグは、次に説明するステップS504及びS506の各条件が成立したときにセットされるフラグである。
ステップS502においてアンダーシュートフラグがゼロと判定された場合には、ステップS504に進む。ステップS504では、目標変位角と制御変位角との前回の偏差がゼロより小さいか否か判定される。前回の偏差がゼロ以上の場合には、本ルーチンは終了する。
ステップS504において前回の偏差がゼロより小さいと判定された場合、つまり、前回の時点では目標変位角に制御変位角が到達していなかった場合には、ステップS506に進む。ステップS506では、目標変位角と制御変位角との今回の偏差がゼロより大きいか否か判定される。今回の偏差がゼロ以下の場合には、本ルーチンは終了する。
ステップS506において今回の偏差がゼロより大きいと判定された場合、つまり、制御変位角が目標変位角を超えてアンダーシュートした場合には、ステップS508に進む。ステップS508では、アンダーシュートフラグが1にセットされる。
ステップS502においてアンダーシュートフラグがゼロでないと判定された場合には、ステップS510に進む。ステップS510では、目標変位角と制御変位角との今回の偏差がゼロより大きいか否か判定される。今回の偏差がゼロ以下の場合、つまり、再び制御変位角が目標変位角以上になったときには、ステップS516に進む。ステップS516では、アンダーシュートフラグがゼロにリセットされる。
ステップS510において今回の偏差がゼロより大きいと判定された場合、つまり、今回も制御変位角が目標変位角を超えてアンダーシュートしている場合には、ステップS512に進む。ステップS512では、前回の偏差のほうが今回の偏差よりも大きいか否か判定される。今回の偏差が前回の偏差以上であれば、制御変位角の目標変位角に対するアンダーシュート量は未だ拡大していると判断することができる。その場合には、本ルーチンは終了する。一方、前回の偏差のほうが今回の偏差よりも大きい場合には、アンダーシュート量は前回が最大であり、前回の偏差の絶対値が最大アンダーシュート量であると判断することができる。
ステップS512において、前回の偏差のほうが今回の偏差よりも大きいと判定された場合には、ステップS514に進む。ステップS514では、次の式(16)によって不感帯下端デューティの学習値が修正される。式(16)の右辺の不感帯下端デューティ学習値は修正前の値であり、左辺の不感帯下端デューティ学習値は修正後の値である。また、右辺の修正値は最大アンダーシュート量から決まる値であって、最大アンダーシュート量が大きければ修正値も大きい値に設定される。
不感帯下端デューティ学習値=不感帯下端デューティ学習値+修正値 ・・・(16)
図10に示すルーチンによれば、油圧アクチュエータ20の制御変位角が目標変位角を負の方向に超えることのないようにアンダーシュート量に応じて不感帯下端デューティ学習値が補正されるので、油圧アクチュエータ20の制御性をより向上させることができる。
本実施の形態にかかる不感帯の学習方法は、従来のOCV駆動デューティの算出方法、つまり、仮想のモデル制御弁を用いることなくOCV駆動デューティを算出する方法と組み合わせてもよい。上述のように、本実施の形態にかかる不感帯の学習方法によれば、従来の学習方法に比較して高い精度で不感帯を学習することができる。したがって、不感帯を前提にしてOCV駆動デューティを決定する油圧アクチュエータ制御であれば、本実施の形態にかかる不感帯の学習方法を適用することで、その制御性を高めることが可能になる。
本実施の形態では、制御装置40によって図7に示すルーチンが実行されることによって、第1乃至第3の発明の「不感帯特定手段」が実現される。また、図7に示すルーチンを実行することで特定された不感帯に基づき、OCV駆動デューティの値が設定されることで、第1の発明の「制御信号設定手段」が実現される。
なお、図7に示すルーチンは、次のように変形して実施することもできる。まず、第1の変形例として、ステップS708で記憶する不感帯学習値の更新値を現時点におけるOCV駆動デューティとしてもよい。或いは、所定期間内のOCV駆動デューティの最大値、若しくは最小値を不感帯学習値の更新値としてもよい。或いは、OCV駆動デューティを時間方向に平滑化した値(所謂なまし処理をした値)を不感帯学習値の更新値としてもよい。
第2の変形例として、図7に示すルーチンにおいて計算に使用する制御変位角は、現時点における油圧アクチュエータ20の制御変位角そのものでなく、それを時間方向に平滑化した値(所謂なまし処理をした値)を用いてもよい。これによれば、エンジンの回転変動やノイズ等の外乱によって制御変位角の信号が変動する場合であっても、ステップS702の条件の成立機会を増やすことができ、ひいては、不感帯の学習機会を増やすことができる。
その他.
以上、本発明の実施の形態について説明したが、本発明は上述の実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。例えば、次のように変形して実施してもよい。
上述の各実施の形態において、実不感帯内制御量を加圧油の温度に応じて補正するようにしてもよい。OCV10の不感帯幅は加圧油の温度によって増減するからである。実不感帯内制御量を補正するのではなく、モデル制御特性の仮想OCV不感帯幅を加圧油の温度に応じて補正するようにしてもよい。これによれば、OCVばらつき補正係数を介して加圧油の温度を実不感帯内制御量に反映させることができる。
OCV10の不感帯幅は加圧油の温度の他、加圧油の圧力や粘度、エンジン回転数によっても増減する。したがって、モデル制御特性の仮想OCV不感帯幅は、加圧油の温度だけでなく、加圧油の圧力や粘度、或いはエンジン回転数にも応じて補正するのが好ましい。これによれば、これらのファクターが油圧アクチュエータ20の制御特性に与える影響を排除することができる。
本発明はバルブタイミング可変機構に限らず、2つの油室を備えて各油室に対する加圧油の給排によって動作を制御される油圧アクチュエータを用いる油圧システムであれば、広く適用することができる。また、油圧アクチュエータに対する加圧油の給排を制御する制御弁は、図1に示すOCV10のような電磁式の制御弁には限らない。パイロット圧によって駆動されるパイロット式の制御弁でもよい。