(57)【要約】【課題】位相角Ｆ／Ｂ制御開始時の積分項初期値を設定することで、実位相角のオーバシュート量の抑制と応答時間の向上を両立させる内燃機関の制御装置を得る。【解決手段】クランク角センサ１７、カム角センサ１８、両角センサ１７及び１８の検出信号に基づいてカム軸１５の実位相角を検出する実位相角検出手段２８、内燃機関の温度パラメータやバッテリ電圧を含む運転状態に基づいてカム軸の目標位相角を設定する目標位相角設定手段２７、実位相角が目標位相角に一致するようにフィードバック制御演算を行い、油圧制御ソレノイド弁への操作量を算出する位相角フィードバック制御手段２９を備え、位相角フィードバック制御手段２９は、位相角フィードバック制御演算開始時の積分項の初期値を内燃機関の温度パラメータに基づいて設定し、算出された制御補正量をバッテリ電圧により電圧補正して、油圧制御ソレノイド弁への操作量を出力する。【選択図】図１０
2008286125.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関のクランク軸に対するカム軸の回転位相を連続的に変更可能とする可変機構を油圧制御ソレノイド弁によって油圧駆動することにより変化させることで、吸気バルブおよび排気バルブの少なくとも一方のバルブ開閉タイミングを変化させる内燃機関の制御装置において、
前記クランク軸の基準回転位置を検出するクランク角センサと、
前記カム軸の基準回転位置を検出するカム角センサと、
前記クランク角センサおよび前記カム角センサの検出信号に基づいて前記カム軸の実位相角を検出する実位相角検出手段と、
内燃機関の温度パラメータやバッテリ電圧を含む運転状態に基づいて前記カム軸の目標位相角を設定する目標位相角設定手段と、
前記実位相角が前記目標位相角に一致するようにフィードバック制御演算を行い、前記油圧制御ソレノイド弁への操作量を算出する位相角フィードバック制御手段と
を備え、
前記位相角フィードバック制御手段は、位相角フィードバック制御演算開始時の積分項の初期値を前記内燃機関の温度パラメータに基づいて設定し、フィードバック制御演算により算出された制御補正量を前記バッテリ電圧により電圧補正して、前記油圧制御ソレノイド弁への操作量を出力する
ことを特徴とする内燃機関の制御装置。
【請求項２】
請求項１に記載の内燃機関の制御装置において、
前記位相角フィードバック制御手段は、内燃機関の温度パラメータを入力として、前記積分項の初期値を予め設定された演算式を用いて算出し設定する
ことを特徴とする内燃機関の制御装置。
【請求項３】
請求項１または２に記載の内燃機関の制御装置において、
前記内燃機関の温度パラメータは水温とした
ことを特徴とする内燃機関の制御装置。
【請求項４】
請求項１から３までのいずれか１項に記載の内燃機関の制御装置において、
前記積分項の初期値演算式は、前記油圧制御ソレノイド弁の中立位置制御電流値の公差下限値と、前記油圧制御ソレノイド弁のソレノイドコイル抵抗値の公差下限値と、ソレノイドコイル温度とに基づいて設定された第１の演算式である
ことを特徴とする内燃機関の制御装置。
【請求項５】
請求項４に記載の内燃機関の制御装置において、
前記第１の演算式は、前記水温に温度係数を乗じたものにオフセット値を加算する
ことを特徴とする内燃機関の制御装置。
【請求項６】
請求項５に記載の内燃機関の制御装置において、
前記位相角フィードバック制御手段は、バッテリ電源接続後、１回目の位相角フィードバック制御演算開始時の積分項の初期値を、前記第１の演算式により算出し設定する
ことを特徴とする内燃機関の制御装置。
【請求項７】
請求項５に記載の内燃機関の制御装置において、
前記位相角フィードバック制御手段は、バッテリ電源接続後、２回目以降の位相角フィードバック制御演算開始時の積分項の初期値を、前記第１の演算式の温度係数およびオフセット値の学習値を用いた第２の演算式により算出し設定する
ことを特徴とする内燃機関の制御装置。
【請求項８】
請求項７に記載の内燃機関の制御装置において、
前記位相角フィードバック制御手段は、前記第２の演算式の温度係数を、前記水温により判定される冷間領域と温間領域において、前記位相角フィードバック制御により実位相角が目標位相角に収束した時の積分項の実際値と水温値に基づいて、前記温間領域と冷間領域の積分項の実際値の差分値を水温値の差分値で除算して学習する
ことを特徴とする内燃機関の制御装置。
【請求項９】
請求項７に記載の内燃機関の制御装置において、
前記位相角フィードバック制御手段は、前記第２の演算式のオフセット値を、前記温度係数の学習完了後、水温により判定される温間領域において、前記位相角フィードバック制御により実位相角が目標位相角に収束した時の積分項の実際値と、前記収束時の水温値に前記温度係数学習値を乗じたものに前記オフセット値を加算して求めた積分項の初期値との差分により学習する
ことを特徴とする内燃機関の制御装置。
【請求項１０】
請求項１から４までのいずれか１項に記載の内燃機関の制御装置において、
前記位相角フィードバック制御手段は、前記内燃機関の運転状態を検出する水温センサの故障判定時は、水温を予め設定された所定値として、前記積分項の初期値を前記第１の演算式により算出し設定する
ことを特徴とする内燃機関の制御装置。
【請求項１１】
請求項１から９までのいずれか１項に記載の内燃機関の制御装置において、
前記位相角フィードバック制御手段は、前記積分項の初期値の演算値が予め設定された積分項の初期値の上限値と下限値の範囲を外れた場合は、前記積分項の初期値の設定を前記上限値または下限値で制限する
ことを特徴とする内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、内燃機関の吸気バルブまたは排気バルブの動作タイミングを制御するための内燃機関の制御装置に関するものである。
【背景技術】
【０００２】
従来、内燃機関のクランク軸に対するカム軸の位相角を変化させることによって、吸気バルブまたは排気バルブのバルブ開閉タイミングを変化させる内燃機関のバルブタイミング制御装置がある（例えば、特許文献１参照）。
【０００３】
この種のバルブタイミング制御装置では、クランク軸の基準回転位置でクランク角信号を出力するクランク角センサと、カム軸の基準回転位置でカム信号を出力するカムセンサとを備え、前記クランク角センサおよび前記カム角センサの検出信号に基づいて前記カム軸の実位相角を検出し、この実位相角が内燃機関の運転状態に基づいて設定される目標位相角に一致するように、位相角フィードバック制御を行うようにしている。
【０００４】
クランク軸に対するカム軸の位相角は、油圧制御ソレノイド弁により油圧の供給が制御される前記カム軸位相可変機構で変化させることにより変更される。油圧制御ソレノイド弁は、デューティソレノイド弁で構成されており、ソレノイドへの供給電圧をデューティ比制御することにより電流値が制御され、油圧をカム軸位相可変機構の進角室または遅角室に選択的に供給することで、カム軸が進角側または遅角側に変化する。また、デューティ比が中央付近の保持デューティ値のときには、油圧制御ソレノイド弁は、進角室および遅角室を同時に閉鎖し、油圧の供給を同時に遮断する中立位置に制御することでカム軸の位相角が保持状態となる。
【０００５】
前記油圧制御ソレノイド弁が中立位置となる保持デューティ値は、前記油圧制御ソレノイド弁の公差や経年変化などによるばらつきを補償するために、前記保持デューティ値を学習することや、その学習値をバックアップＲＡＭに記憶することが知られている。さらに、保持デューティ値の学習が全く行われていないとき、あるいはバッテリＯＦＦ（バッテリ端子外し）時のように学習値が消失したときに、ＲＯＭに予め記憶された固定値を初期値として用いることも知られている。
【０００６】
しかし、上述のように設定される保持デューティの固定値は、公差に幅があり、また、経年変化があるため、それらを補償する学習値とは当然一致しない場合がある。このため、そのようなずれが生じている場合に、バッテリＯＦＦ時などに保持デューティ値の固定値を初期値として用いた時には、油圧制御ソレノイド弁の保持状態における実際の位置が本来の中立位置からずれてしまい、それに伴い、その後のカム位相制御の制御性も低下してしまう。
【０００７】
特にこのずれが進角側に生じているとともに、目標位相角が吸気バルブと排気バルブとのバルブオーバーラップがもともと大きい進角側に設定されているような場合には、バルブオーバーラップが過大になり、それに伴い内部ＥＧＲ量（排気ガス循環量、ＥＧＲ：Exhaust Gas Recirculation）が過大になることで燃焼性が悪化する恐れがあることも知られている。
【０００８】
そのため、特許文献１に開示された内燃機関のバルブタイミング制御装置では、前記保持デューティ学習値を、前記フィードバック制御の積分項の初期値として設定し、前記保持デューティ学習が完了していない場合は目標位相角を制限するようにしている。
【０００９】
【特許文献１】特開２００１−２３４７６５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１に開示された内燃機関のバルブタイミング制御装置では、保持デューティが油温変化による油圧制御ソレノイドコイルの抵抗値変化やバッテリ電圧変化により変動するため、保持デューティ学習時の油圧制御ソレノイドコイルの温度やバッテリ電圧と、位相角フィードバック制御開始時の積分項の初期値に前記保持デューティ学習値を設定する時の温度や電圧が異なる場合、保持デューティ値の実際値と学習値にはずれを生じる。
【００１１】
このような場合、内燃機関始動後の位相角フィードバック制御開始時の積分項の初期値に前記保持デューティ学習値を設定したときには、油圧制御ソレノイド弁の保持状態における実際の位置が本来の中立位置からずれてしまい、特にこのずれが進角側に生じているとともに、目標位相角が吸気バルブと排気バルブとのバルブオーバーラップがもともと大きい進角側に設定されているような場合には、バルブオーバーラップが過大になり、それに伴い内部ＥＧＲ量が過大になることで内燃機関の始動性の低下を招くことになる。
【００１２】
また、保持デューティ値の学習が完了していない場合は、目標位相角を制限するようにしているため進角側の制御が制約され、吸気バルブの開平タイミングを変更するバルブタイミング制御装置を備えた内燃機関にあっては、内燃機関始動時に開閉タイミングを遅角側に変更しすぎた場合、吸気バルブの閉時期が遅くなるため、燃焼室内の吸入混合気が吸気管内に戻るようになる。内燃機関の回転数が極めて低いクランキング時に吸入混合気が吸気管内に戻ると、実圧縮比が低下してしまい、始動性が困難になる。特に、混合気の体積が小さい低温時には、クランキングをしても混合気が十分に圧縮されず始動性が更に悪化する問題があった。
【００１３】
この発明は上述した点に鑑みてなされたもので、簡単な制御ロジックにより位相角フィードバック制御開始時の積分項初期値を設定することにより、実位相角のオーバシュート量の抑制と応答時間の向上を両立させることができる内燃機関の制御装置を得ることを目的とする。
【課題を解決するための手段】
【００１４】
この発明に係る内燃機関の制御装置は、内燃機関のクランク軸に対するカム軸の回転位相を連続的に変更可能とする可変機構を油圧制御ソレノイド弁（ＯＣＶ）によって油圧駆動することにより変化させることで、吸気バルブおよび排気バルブの少なくとも一方のバルブ開閉タイミングを変化させるバルブタイミング制御装置において、前記クランク軸の基準回転位置を検出するクランク角センサと、前記カム軸の基準回転位置を検出するカム角センサと、前記クランク角センサおよび前記カム角センサの検出信号に基づいて前記カム軸の実位相角を検出する実位相角検出手段と、内燃機関の温度パラメータやバッテリ電圧を含む運転状態に基づいて前記カム軸の目標位相角を設定する目標位相角設定手段と、前記実位相角が前記目標位相角に一致するようにフィードバック制御演算を行い、前記油圧制御ソレノイド弁への操作量を算出する位相角フィードバック制御手段とを備え、前記位相角フィードバック制御手段は、位相角フィードバック制御演算開始時の積分項の初期値を前記内燃機関の温度パラメータに基づいて設定し、フィードバック制御演算により算出された制御補正量を前記バッテリ電圧により電圧補正して、前記油圧制御ソレノイド弁への操作量を出力することを特徴とする。
【発明の効果】
【００１５】
この発明によれば、位相角フィードバック制御演算開始時の積分項の初期値を内燃機関の温度パラメータに基づいて設定し、フィードバック制御演算により算出された制御補正量をバッテリ電圧により電圧補正して、油圧制御ソレノイド弁への操作量を出力するようにしたので、油圧制御ソレノイド弁の保持状態における実際の位置が本来の中立位置から進角側にずれることがなくなり、目標位相角が吸気バルブと排気バルブとのバルブオーバーラップがもともと大きい進角側に設定されているような場合でも、バルブオーバーラップが過大となるこはなく、内部ＥＧＲ量（排気ガス循環量）の過大による内燃機関の始動性の低下を回避することができる。また、進角側への目標位相角に制限を設ける必要もなくなるため低温時の始動性を改善することが可能となる。
【発明を実施するための最良の形態】
【００１６】
実施の形態１．
以下、この発明の実施の形態を図を参照して説明する。図１は、この発明の実施の形態１による内燃機関のバルブタイミング制御装置の概略構成図である。図１に示す内燃機関のバルブタイミング制御装置においては、内燃機関１のクランク軸１１からタイミングベルト１２を介して一対のタイミングプーリ１３、１４に駆動力が伝達される。このクランク軸１１と同期して回転駆動される一対のタイミングプーリ１３，１４には従動軸としての一対のカム軸１５、１６が配設され、これらのカム軸１５，１６によって図示しない吸気バルブおよび排気バルブが開閉駆動される。
【００１７】
これにより、吸気バルブおよび排気バルブは、クランク軸１１の回転およびピストン（図示しない）の上下動に同期して開閉駆動される。すなわち、前記吸気バルブおよび排気バルブは、内燃機関１における吸気行程、圧縮行程、爆発（膨張）行程、及び排気行程からなる一連の４行程に同期して、所定の開閉タイミングで駆動される。
【００１８】
クランク軸１１にはクランク角センサ１７、カム軸１５にはカム角センサ１８がそれぞれ配設されている。このクランク角センサ１７から出力されるクランク角信号ＳＧＴおよびカム角センサ１８から出力されるカム角信号ＳＧＣは、ＥＣＵ（Electronic Control Unit：電子制御装置）２に入力される。
【００１９】
ここで、クランク軸１１が１回転してクランク角センサ１７からのパルス数がＮ個発生するとき、カム軸１５の１回転でカム角センサ１８からのパルス数が２Ｎ個発生するようにする。また、カム軸１５のタイミング変換角最大値をＶＴｍａｘ°ＣＡ（クランク角）とすると、Ｎ≦（３６０／ＶＴｍａｘ）となるようにパルス数を設定する。これによって、実位相角ＶＴａの算出時、クランク角センサ１７のパルス信号（クランク角信号ＳＧＴ）とカム角センサ１８のパルス信号（カム角信号ＳＧＣ）とを使用することができる。
【００２０】
ＥＣＵ２には、周知のマイコン（マイクロコンピュータの略称）２１があり、前記クランク角信号ＳＧＴとカム角信号ＳＧＣとに基づいて検出されたクランク軸１１に対するカム軸の実位相角が、内燃機関の運転状態に基づいて設定された目標位相角に一致するように、位相角フィードバック（Ｆ／Ｂ）制御演算により算出された操作量（ＤＵＴＹ駆動信号）を、駆動回路２４を介して位相角制御アクチュエータである油圧制御ソレノイド弁（以下、ＯＣＶ（オイルコントロールバルブ）と称す）３のリニアソレノイド３１へ出力する。
【００２１】
ＯＣＶ３では、ＥＣＵ２からのＤＵＴＹ駆動信号によりリニアソレノイド３１の電流値が制御され、スプリング３３の付勢力と釣り合う位置にスプール３２が位置決めされ、供給油通路４２と遅角側の供給油通路４５または進角側の供給油通路４６のどちらかが連通し、オイルタンク４４内の油がポンプ４１により、一方のカム軸１５に設けられたバルブタイミング制御機構５０（図１の斜線部）に圧送される。このバルブタイミング制御機構５０に供給される油の油量が調整されることで、カム軸１５がタイミングプーリ１３、即ち、クランク軸１１に対し所定の位相差を有して回転自在であり、カム軸１５が目標位相角に設定可能である。尚、バルブタイミング制御機構５０からの油は排出油通路４３を通ってオイルタンク４４内へ戻される。
【００２２】
図２は、前記ＯＣＶ３内のスプール３２の位置（以下スプール位置と称す）と実位相角変化速度との関係を示した特性図である。この特性図において、実位相角変化速度が正の領域が進角側領域に相当し、負の領域が遅角側領域に相当する。この特性図における横軸のスプール位置はリニアソレノイド電流と比例関係にある。また、前記供給油通路４２が遅角側の供給油通路４５および進角側の供給油通路４６のどちらとも連通しないスプール位置は図中の流量０位置（ＯＣＶ３から出力される流量が０となる位置）であり、実位相角が変化しないスプール位置（前記中立位置と同じ）である。この流量０位置とリニアソレノイド電流値の関係は、ＯＣＶ３の個体差、耐久劣化や動作環境（油温やエンジン回転数など）の違いなどによりばらつきが生じる。
【００２３】
そこで、従来技術（特開２００１−２３４７６５号公報）では、位相角フィードバック制御時に前記流量０位置状態を制御しているときの駆動ＤＵＴＹ値を保持ＤＵＴＹ値として学習し、位相角フィードバック制御開始時の積分項の初期値として設定している。
【００２４】
次に、マイコン２１は、各種の演算や判定を行うＣＰＵ（中央演算処理装置：図示しない）と、所定の制御プログラムなどが予め格納されたＲＯＭ（図示しない）と、ＣＰＵからの演算結果などを一時記憶するＲＡＭ（図示しない）と、アナログ電圧をデジタル値に変換するＡ／Ｄ変換器（図示しない）と、入力信号の周期など計測するカウンタＣＮＴ（図示しない）と、出力信号の駆動時間などを計測するタイマ（図示しない）と、出力インタフェイスとなる出力ポート（図示しない）と、前記各ブロック（図示しない）を接続するコモンバス（図示しない）とから構成されている。
【００２５】
図３は、この発明の実施の形態１による内燃機関のバルブタイミング制御に関するマイコン２１内処理の基本的な構成を概念的に示す機能ブロック図であり、マイコン２１内の動作プログラムの機能を示している。以下、マイコン２１内処理を、図３と共に、カム角信号ＳＧＣの割り込み処理を示す図４、クランク角信号ＳＧＴの割り込み処理を示す図５の各フローチャートを参照しながら説明する。
【００２６】
カム角センサ１８からのカム角信号ＳＧＣは、波形整形回路２３を介して波形整形され、割り込み指令信号ＩＮＴ２としてマイコン２１に入力される。マイコン２１では、割り込み指令信号ＩＮＴ２によって割り込みがかけられる毎に、カウンタＣＮＴ（図示しない）のカウンタ値ＳＧＣＮＴを読み取って、ＳＧＣＣＮＴ（ｎ）のＲＡＭ（図示しない）に記憶する（図４のステップＳ２１）。
【００２７】
また、クランク角センサ１７からのクランク角信号ＳＧＴは、波形整形回路２２を介して波形整形され、割り込み指令信号ＩＮＴ１としてマイコン２１に入力される。マイコン２１では、割り込み指令信号ＩＮＴ１によって割り込みがかけられる毎に、前回クランク角信号ＳＧＴが入力されたときのカウンタ値ＳＧＴＣＮＴ（ｎ）をＲＡＭから読み取ってＳＧＴＣＮＴ（ｎ−１）のＲＡＭに格納し、今回クランク角信号ＳＧＴ入力時のカウンタＣＮＴのカウンタ値ＳＧＣＮＴを読み取って、ＳＧＴＣＮＴ（ｎ）のＲＡＭに格納する（図５のステップＳ４１）。
【００２８】
また、前回クランク角信号ＳＧＴが入力されたときのカウンタＣＮＴのカウンタ値ＳＧＴＣＮＴ（ｎ−１）と今回のクランク角信号ＳＧＴが入力されたときのカウンタＣＮＴのカウンタ値ＳＧＴＣＮＴ（ｎ）との差から、クランク角信号ＳＧＴの周期Ｔｓｇｔ｛＝ＳＧＴＣＮＴ（ｎ）−ＳＧＴＣＮＴ（ｎ−１）｝を算出し、さらに、クランク角信号周期Ｔｓｇｔに基づいて内燃機関の回転数ＮＥを算出する（図５のステップＳ４２）。
【００２９】
そして、マイコン２１は、カム角信号ＳＧＣが入力されたときのカウンタ値ＳＧＣＣＮＴ（ｎ）をＲＡＭ（図示しない）から読み出し、クランク角信号ＳＧＴが入力されたときのカウンタ値ＳＧＴＣＮＴ（ｎ）との差から、位相差時間ΔＴｄ（最遅角時の位相差時間）またはΔＴａ（進角時の位相差時間）を算出し、前記クランク角信号ＳＧＴの周期Ｔｓｇｔと基準クランク角度（１８０°ＣＡ）とに基づいて、後述で算出方法の詳細を説明する実位相角ＶＴａを算出する（図５のステップ４３）。
【００３０】
また、マイコン２１では、空気量信号２５やスロットル開度信号２６やバッテリ電圧信号２７や水温信号（図示しない）などを入力Ｉ／Ｆ回路（図示しない）を介してノイズ成分の除去や増幅などの処理を施して、Ａ／Ｄ変換器（図示しない）に入力し、それぞれデジタルデータに変換して、前記空気量データや内燃機関の回転数データなどに基づいて目標位相角設定手段２７により目標位相角ＶＴｔを設定する（図５のステップＳ４４）。
【００３１】
マイコン２１は、エンジン始動時の位相角フィードバック制御開始時の積分項の初期値を水温信号ＴＷＴに基づいて、前記第１または第２の演算式により算出し設定する（図５のステップＳ４５）。積分項の初期値設定処理の詳細は後述する図１０を参照して説明する。
【００３２】
マイコン２１は、前記空気量データや内燃機関の回転数データなどに基づいて目標位相角設定手段２７により設定された目標位相角ＶＴｔに、前記クランク角信号ＳＧＴと前記カム角信号ＳＧＣに基づいて実位相角検出手段２８により検出された実位相角ＶＴａが一致するように、位相角Ｆ／Ｂ制御手段２９で位相角Ｆ／Ｂ制御演算（ＰＩＤ制御演算）により制御補正量Ｄｐｉｄを算出する（図５のステップＳ４６）。
【００３３】
次に、前記位相角Ｆ／Ｂ制御演算により算出した制御補正量Ｄｐｉｄを、所定の基準電圧とバッテリ電圧との比で求めたバッテリ電圧補正係数ＫＶＢで補正し操作量Ｄｏｕｔ（駆動ＤＵＴＹ値）を算出する（図５のステップＳ４７）。
【００３４】
前記算出された操作量Ｄｏｕｔ（駆動ＤＵＴＹ値）をＰＷＭ（Pulse Width Modulation）タイマー（図示しない）に設定（図５のステップＳ４８）することにより、予め設定された所定のＰＷＭ駆動周期毎にＰＷＭタイマーから出力されるＰＷＭ駆動信号を駆動回路２４を介してＯＣＶリニアソレノイド３１に出力する。
【００３５】
次に、前記クランク角信号ＳＧＴと前記カム角信号ＳＧＣに基づいて、クランク軸１１に対するカム軸１５の相対位相角を実位相角として、前記実位相角検出手段２８による実位相角ＶＴａの検出方法について図６を参照しながら説明する。図６は、クランク角信号ＳＧＴ、最遅角時のカム角信号ＳＧＣｄおよび進角時のカム角信号ＳＧＣａとの関係を示すタイミングチャートであり、クランク角信号ＳＧＴとカム角信号ＳＧＣｄおよびＳＧＣａの位相関係と、実位相角ＶＴａの算出処理方法とを示している。
【００３６】
マイコン２１は、前記クランク角信号ＳＧＴの周期Ｔｓｇｔ｛＝ＳＧＴＣＮＴ（ｎ）−ＳＧＴＣＮＴ（ｎ−１）｝を計測するとともに、進角時のカム角信号ＳＧＣａからクランク角信号ＳＧＴまでの位相差時間ΔＴａ｛＝ＳＧＴＣＮＴ（ｎ）−ＳＧＣＣＮＴ（ｎ）｝を計測する。また、バルブタイミングが最遅角状態にある場合に計測した位相差時間ΔＴｄ｛＝ＳＧＴＣＮＴ（ｎ）−ＳＧＣＣＮＴ（ｎ）｝と、クランク角信号周期Ｔｓｇｔとに基づいて最遅角バルブタイミングＶＴｄを以下の式（１）により求め、マイコン２１内のＲＡＭに記憶する。
ＶＴｄ＝（ΔＴｄ／Ｔｓｇｔ）×１８０（°ＣＡ）            （１）
１８０（°ＣＡ）：４気筒内燃機関のＳＧＴ信号が発生する基準クランク角度
【００３７】
また、マイコン２１は、進角時の位相差時間ΔＴａ、クランク角信号周期Ｔｓｇｔおよび最遅角バルブタイミングＶＴｄに基づいて、実位相角ＶＴａを以下の式（２）により求める。
ＶＴａ＝（ΔＴａ／Ｔｓｇｔ）×１８０（°ＣＡ）−ＶＴｄ    （２）
【００３８】
次に、図７は、本実施の形態１での位相角Ｆ／Ｂ制御をクランク角信号ＳＧＴと同期させ、前記位相角Ｆ／Ｂ制御手段２９における位相角Ｆ／Ｂ制御演算を、クランク角信号ＳＧＴ入力毎にＰＩＤ制御演算により行う場合のＰＩＤ制御ブロック図を示したものである。図７のＰＩＤ制御ブロック図において、１／Ｚの制御ブロックは周知の１サンプル遅れ付きホールド要素を示す。また、位相角Ｆ／Ｂ制御開始時に、ＰＩＤ制御の積分項の初期値（ＸＩ＿ｉｎｉ）を、水温データ（ＴＷＴ）と温度係数（ＫＴＥＭＰ）とオフセット値（ＸＩＯＦＳＴ）による下記に示す第１の演算式により算出し設定する。
ＸＩ＿ｉｎｉ＝ＫＴＥＭＰ×ＴＷＴ＋ＸＩＯＦＳＴ
【００３９】
次に、ＰＩＤ制御演算処理について説明する。前記内燃機関の運転状態に応じて設定された目標位相角ＶＴｔに、前記クランク角信号ＳＧＴとカム角信号ＳＧＣとに基づいて式（２）により検出された前記実位相角ＶＴａを追従させるため、まず、前記目標位相角ＶＴｔと前記実位相角ＶＴａの位相角偏差ＥＰを式（３）により求める。
ＥＰ＝ＶＴｔ−ＶＴａ                                      （３）
【００４０】
前記実位相角ＶＴａの変化速度ＤＶＴａを今回のクランク角信号ＳＧＴ（ｎ）タイミングで検出した実位相角ＶＴａ（ｎ）と前回のクランク角信号ＳＧＴ（ｎ−１）タイミングで検出した実位相角ＶＴａ（ｎ−１）とにより式（４）より求める。
ＤＶＴａ＝ＶＴａ（ｎ）−ＶＴａ（ｎ−１）                  （４）
（ｎ）および（ｎ−１）は今回および前回の実位相角検出タイミングである。
【００４１】
前記位相角の制御偏差ＥＰと実位相角の変化速度ＤＶＴａとに基づいて、式（５）のＰＩＤ制御演算式により制御補正量Ｄｐｉｄを算出する。
Ｄｐｉｄ＝ＸＰ＋ＸＩ−ＸＤ                                （５）
ＸＰは比例項演算値、ＸＩは積分項演算値、ＸＤは微分項演算値である。
【００４２】
比例項演算値ＸＰは、位相角偏差ＥＰと、比例ゲインＫｐとにより式（６）により求める。
ＸＰ＝Ｋｐ・ＥＰ                                          （６）
【００４３】
積分項演算値ＸＩは、式（７）に示すように、比例項ＸＰと微分項ＸＤの減算値と、第１の正規化係数Ｃｉ（後述）と、積分ゲインＫｉとの積により算出した今回の加算値を、前回の積分項演算値ＸＩ（ｎ−１）に加算して求める。
ＸＩ＝（ＸＰ−ＸＤ）・Ｃｉ・Ｋｉ＋ＸＩ（ｎ−１）          （７）
【００４４】
位相角Ｆ／Ｂ制御開始時の積分項の初期値ＸＩ＿ｉｎｉは、水温ＫＷＴと、予め設定された温度係数ＫＴＥＭＰと、オフセット値ＸＩＯＦＳＴとにより式（８）により算出し、前記前回の積分項演算値ＸＩ（ｎ−１）として設定する。
ＸＩ＿ｉｎｉ＝ＫＷＴ・ＫＴＥＭＰ＋ＸＩＯＦＳＴ            （８）
【００４５】
微分項演算値ＸＤは、式（９）に示すように、実位相角の変化速度ＤＶＴａと、第２の正規化係数Ｃｄ（後述）と、微分ゲインＫｄとの積により求める。
ＸＤ＝ＤＶＴａ・Ｃｄ・Ｋｄ                                （９）
【００４６】
前記式（７）の積分項演算式における第１の正規化係数Ｃｉは、前記クランク角信号周期Ｔｓｇｔと所定の基準周期Ｔｂａｓｅ（例えば１５ｍｓｅｃ）とにより、式（１０）のように求める。
Ｃｉ＝Ｔｓｇｔ／Ｔｂａｓｅ                                （１０）
【００４７】
前記式（１０）により求めた第１の正規化係数Ｃｉとクランク角信号周期Ｔｓｇｔの関係を図８に示す。図８に示すように、クランク角信号周期Ｔｓｇｔに比例して第１の正規化係数Ｃｉも変化するので、位相角偏差ＥＰが同一値であるのに対して、クランク角信号周期Ｔｓｇｔの変化により位相角Ｆ／Ｂ制御演算周期が変化したとしても、前記第１の正規化係数Ｃｉにより積分項による操作量への補正量を同じにすることができるため、クランク角信号周期Ｔｓｇｔの変化による積分項補正量の過不足は生じない。このため、実位相角の応答性を確保しつつ、オーバシュート量やアンダーシュート量が抑制でき、位相角Ｆ／Ｂ制御をクランク角信号ＳＧＴと同期させて行うことができる。
【００４８】
前記式（９）の微分項演算式における第２の正規化係数Ｃｄは、前記所定の基準周期Ｔｂａｓｅと前記クランク角信号周期Ｔｓｇｔとにより、式（１１）のように求める。
Ｃｄ＝Ｔｂａｓｅ／Ｔｓｇｔ                                （１１）
【００４９】
前記式（１１）により求めた第２の正規化係数Ｃｄとクランク角信号周期Ｔｓｇｔの関係を図８に示す。図８に示すように、クランク角信号周期Ｔｓｇｔに反比例して第２の正規化係数Ｃｄも変化するので、実際の位相角変化速度が同一値であるのに対して、クランク角信号周期Ｔｓｇｔの変化により位相角Ｆ／Ｂ制御演算周期が変化し、実位相角の変化速度ＤＶＴａ検出値が変化したとしても、前記第２の正規化係数Ｃｄにより微分項による操作量への補正量を同じにすることができ、クランク角信号周期Ｔｓｇｔの変化による微分項補正量の過不足は生じない。このため、実位相角の応答性を確保しつつ、オーバシュート量やアンダーシュート量が抑制でき、位相角Ｆ／Ｂ制御をクランク角信号ＳＧＴと同期させて行うことができる。
【００５０】
次に、前記ＰＩＤ制御演算により算出された制御補正量Ｄｐｉｄは、バッテリ電圧ＶＢの変動の影響を受けないように、バッテリ電圧補正係数ＫＶＢ（＝所定の基準電圧／ＶＢ）を用いて式（１２）により補正し、操作量Ｄｏｕｔを算出して前記ＯＣＶリニアソレノイド３１へ駆動回路２４を介して出力する。
Ｄｏｕｔ＝Ｄｐｉｄ・ＫＶＢ                                （１２）
【００５１】
前記ＰＩＤ制御演算により位相角Ｆ／Ｂ制御を行った時のタイムチャートを図９に示す。図９は、目標位相角ＶＴｔを所定値にステップ変化させた時の実位相角ＶＴａの応答動作波形、および前記ＰＩＤ制御演算で算出される位相角制御偏差ＥＰ、比例項演算値ＸＰ、微分項演算値ＸＤ，積分項演算値ＸＩ，操作量Ｄｏｕｔの変化波形を示したものである。目標位相角ＶＴｔ変化時に比例項により位相角制御偏差ＥＰに比例した補正量ＸＰが操作量Ｄｏｕｔを増大方向に補正し、実位相角ＶＴａが動き始めると微分項により実位相角変化速度ＤＶＴａに応じた補正量ＸＤが操作量Ｄｏｕｔを減少方向に補正し、積分項により比例項演算値ＸＰと微分項演算値ＸＤの差を積分した補正量ＸＩが操作量Ｄｏｕｔを増減させて、実位相角ＶＴａのオーバシュート量を抑制しつつ、実位相角ＶＴａが目標位相角ＶＴｔに収束時に前記ＯＣＶ３のスプール位置３２を流量０位置に保持するように制御していることが判る。
【００５２】
図１０は、前記位相角フィードバック制御開始時の積分項の初期値設定処理のフローチャートを示す。まず、水温センサ（図示しない）が故障しているかどうかを判定し（ステップＳ６０）、水温センサ故障時は水温データＴＷＴに所定値（例えば、４０℃）を設定し（ステップＳ６1）、正常時は水温センサにより検出した水温値を設定する（ステップＳ６２）。
【００５３】
次に、位相角フィードバック制御の前記ＰＩＤ制御演算開始時かどうかを判定し（ステップＳ６３）、２回目以降の演算の場合は、積分項演算値ＸＩ（ｎ）を前回の積分項演算値ＸＩ（ｎ−１）に書き込んで処理を終わる（ステップＳＳ６３→Ｓ７２）。
【００５４】
前記ＰＩＤ制御演算が初回の場合、バッテリＯＦＦ（バッテリ端子外し）後かどうかを判定し（ステップＳ６４）、バッテリＯＦＦ後の場合は、水温ＴＷＴと温度係数ＫＴＥＭＰとオフセット値ＩＯＦＳＴにより式（１３）で示す第１の演算式により、積分項初期値を算出する（ステップＳ６５）。
ＸＩ＿ｉｎｉ＝ＫＴＥＭＰ×ＴＷＴ＋ＸＩＯＦＳＴ            （１３）
【００５５】
式（１３）で示した積分項初期値演算式の第１の演算式の導出方法について以下に説明する。前記ＯＣＶ３のスプールバルブ３２の中立位置（流量０位置）制御電流値の公差下限値ＩＨ＿ＯＣＶＬＯと、前記ＯＣＶ３の前記リニアソレノイドコイル３１の抵抗値の公差下限値Ｒ＿ＳＯＬＬＯと、前記バッテリ電圧補正係数ＫＶＢ算出時の所定の基準電圧（例えば、１４Ｖ）と、前記ＯＣＶ３のスプールバルブ３２の中立位置制御時の操作量（ＤＨ＿ｏｕｔ）の関係式は、式（１４）のように表すことができる。
ＤＨ＿ｏｕｔ＝ＩＨ＿ＯＣＶＬＯ×Ｒ＿ＳＯＬＬＯ／１４      （１４）
【００５６】
式（１４）は、リニアソレノイドコイル温度（水温ＴＷＴで推定）変化に伴い、前記リニアソレノイドコイル抵抗値公差下限値Ｒ＿ＳＯＬＬＯも変化するため、前記ＯＣＶ３のスプールバルブ３２の中立位置制御時の操作量（ＤＨ＿ｏｕｔ）も変化する。
【００５７】
式（１４）により算出した前記ＯＣＶ３のスプールバルブ３２の中立位置制御時の操作量（ＤＨ＿ｏｕｔ）を積分項初期値ＸＩ＿ｉｎｉとして、ＯＣＶ３の公差下限仕様の演算値と、公差上限仕様の演算値と、ＯＣＶ３のノミナル仕様品での位相角Ｆ／Ｂ制御時の実位相角が目標位相角に収束時の積分項の実際値を、温度（公差上下限仕様はリニアソレノイドコイル温度で、ノミナル仕様は水温ＴＷＴで）に対してプロットしたものを図１６に示す。
【００５８】
図１６より、リニアソレノイドコイル温度を水温ＴＷＴにより推定可能であることが判る。図１６の積分項初期値の温度特性を用いて、ＯＣＶ３の公差下限仕様の積分項初期値ＸＩ＿ｉｎｉの近似式を温度係数ＫＴＥＭＰとオフセット値ＸＩＯＦＳＴにより求めたものが、式（１３）に示された積分項初期値演算式である第１の演算式である。なお、図１６中のＸＩ＿ＬＯＬＭＴは積分項初期値設定の公差内の下限値を、ＸＩ＿ＵＰＬＭＴは公差内の上限値を示したものである。
【００５９】
次に、ステップＳ６４でバッテリＯＦＦ後でないと判定された場合は、ステップＳ６６で前記位相角Ｆ／Ｂ制御実施時に後述する学習処理により求めた、温度係数学習値ＫＴＥＭＰＬＮおよびオフセット値学習値ＸＩＯＦＳＴＬＮを用いて算出する第２の演算式（１５）により積分項初期値ＸＩ＿ｉｎｉを算出する。
ＸＩ＿ｉｎｉ＝ＫＴＥＭＰＬＮ×ＴＷＴ＋ＸＩＯＦＳＴＬＮ    （１５）
【００６０】
次に、第１の演算式（１３）および第２の演算式（１５）で算出した積分項初期値ＸＩ＿ｉｎｉが前記公差内の上限値ＸＩ＿ＵＰＬＭＴ以上であるかどうかを判定（ステップＳ６７）し、前記公差内の上限値ＸＩ＿ＵＰＬＭＴ以上の場合は、上限値ＸＩ＿ＵＰＬＭＴを積分項初期値ＸＩ＿ｉｎｉに設定し（ステップＳ６８）、そうでない場合は、前記公差内の下限値ＸＩ＿ＬＯＬＭＴ以下であるかどうかを判定し（ステップＳ６９）、前記公差内の下限値ＸＩ＿ＬＯＬＭＴ以下の場合は、下限値ＸＩ＿ＬＯＬＭＴを積分項初期値ＸＩ＿ｉｎｉに設定し（ステップＳ７０）、公差上下限範囲内の場合は、前記第１の演算式（１３）および第２の演算式（１５）で算出した値を積分項初期値ＸＩ＿ｉｎｉに設定し、上記で設定された積分項初期値ＸＩ＿ｉｎｉを前回の積分項演算値ＸＩ（ｎ−１）に書き込んで（ステップＳ７１）、処理を終わる。
【００６１】
図１１〜図１４は、ＫＥＹ  ＯＮ後、第１回目の前記位相角フィードバック制御時の動作状態（水温や実位相角の応答時間など）に基づいて学習する前記温度係数学習値ＫＴＥＭＰＬＮの学習処理のフローチャートを示す。
【００６２】
ステップＳ８０で前記温度係数学習値ＫＴＥＭＰＬＮが学習完了（ＴＫＬＮＦＬＧ＝１）かどうかを判定し、学習完了（ＴＫＬＮＦＬＧ＝１）の場合はそのまま処理を終了し、学習未完了（ＴＫＬＮＦＬＧ＝０）の場合は、ステップＳ８１以降の処理で温度係数学習値ＫＴＥＭＰＬＮの学習を行う。
【００６３】
ステップＳ８１では、運転状態が冷間状態かどうかを水温ＴＷＴが低温側の所定値ＴＷＬＯ（例えば４０℃）以下かどうかで判定（ＴＷＴ≦ＴＷＬＯ？）し、冷間状態（ＴＷＴ≦ＴＷＬＯ）と判定した場合はステップＳ８２へ進み、冷間状態でない場合はステップＳ９２に進む。
【００６４】
ステップＳ８２では、前記温度係数学習値ＫＴＥＭＰＬＮ演算用データの、冷間状態（ＴＷＴ≦ＴＷＬＯ）での積分項データＸＩ＿ＬＯと水温データＴＷＴ＿ＬＯの読み込みが完了したかどうかを判定（ＴＫＣＯＬＤＦＬＧ＝１？）し、冷間状態での前記データ読み込みが完了（ＴＫＣＯＬＤＦＬＧ＝１）している場合は処理を終了する。
【００６５】
ステップＳ８２で前記冷間状態でのデータの読み込みが未完了の場合、ステップＳ８３で前記冷間状態（ＴＷＴ≦ＴＷＬＯ）での積分項データＸＩ＿ＬＯと水温データＴＷＴ＿ＬＯの読み込み許可フラグがセットされているかどうかを判定（ＴＫＣＲＦＬＧ＝１？）し、読み込み許可フラグがセット（ＴＫＣＲＦＬＧ＝１）されている場合はステップＳ８７へ進む。
【００６６】
ステップＳ８３で、読み込み許可フラグがクリア（ＴＫＣＲＦＬＧ＝０）されている場合は、ステップＳ８４で目標位相角変化ΔＶＴｔ（＝ＶＴｔ（ｎ）−ＶＴｔ（ｎ−１））が所定値ＤＶＴＲＥＦ以上かどうかを判定（ΔＶＴｔ≧ＤＶＴＲＥＦ）し、所定値ＤＶＴＲＥＦ未満の場合は、ステップＳ８６で読み込み許可フラグをクリア（ＴＫＣＲＦＬＧ＝０）して処理を終わり、所定値ＤＶＴＲＥＦ以上の場合は、ステップＳ８５で読み込み許可フラグをセット（ＴＫＣＲＦＬＧ＝１）してステップＳ８７に進む。
【００６７】
ステップＳ８７では、前記位相角偏差ＥＰの絶対値が所定値ＥＰＲＥＦ以下かどうかを判定し、所定値以下でない（｜ＥＰ｜＞ＥＰＲＥＦ）場合は、実位相角が目標位相角に収束していないためそのまま処理を終わり、所定値以下（｜ＥＰ｜≦ＥＰＲＥＦ）の場合は、ステップＳ８８で実位相角の収束時間ＴＲＥＳＰが所定値ＴＲＥＳＰＲＥＦ以上かどうかを判定する。
【００６８】
ステップＳ８８で、実位相角の収束時間ＴＲＥＳＰが所定値以上（ＴＲＥＳＰ≧ＴＲＥＳＰＲＥＦ）の場合は、ステップＳ８９で位相角Ｆ／Ｂ制御中の現在の積分項の演算値ＸＩ（ｎ）を冷間時の積分項初期値ＸＩ＿ＬＯに書き込み、現在の水温読み取り値ＴＷＴ（ｎ）を冷間時の水温値ＴＷＴ＿ＬＯに書き込み、ステップＳ９０で冷間状態での積分項データＸＩ＿ＬＯと水温データＴＷＴ＿ＬＯの読み込み完了フラグをセット（ＴＫＣＯＬＤＦＬＧ＝１）して処理を終わる。
【００６９】
一方、ステップＳ８８で、実位相角の収束時間が所定値ＴＲＥＳＰＲＥＦ未満と判定された場合は、ステップＳ９１で前記積分項データＸＩ＿ＬＯと水温データＴＷＴ＿ＬＯの読み込み完了フラグをクリア（ＴＫＣＯＬＤＦＬＧ＝０）して処理を終わる。
【００７０】
ステップＳ８１で冷間状態でないと判定された場合は、ステップＳ９２で温間状態（ＴＷＴ≧ＴＷＨＩ？）かどうかを判定し、温間状態でないと判定（ＴＷＴ＜ＴＷＨＩ）された場合はそのまま処理を終わり、温間状態と判定（ＴＷＴ≧ＴＷＨＩ）された場合はステップＳ９３に進む。
【００７１】
ステップＳ９３では、前記温度係数学習値ＫＴＥＭＰＬＮ演算用データの、温間状態（ＴＷＴ≧ＴＷＨＩ）での積分項データＸＩ＿ＨＩと水温データＴＷＴ＿ＨＩの読み込みが完了したかどうかを判定（ＴＫＨＯＴＦＬＧ＝１？）し、温間状態での前記データ読み込みが完了（ＴＫＨＯＴＦＬＧ＝１）している場合は処理を終了する。
【００７２】
ステップＳ９３で前記冷間状態でのデータの読み込みが未完了の場合、ステップＳ９４で前記温間状態（ＴＷＴ≧ＴＷＨＩ）での積分項データＸＩ＿ＨＩと水温データＴＷＴ＿ＨＩの読み込み許可フラグがセットされているかどうかを判定し（ＴＫＨＲＦＬＧ＝１？）、読み込み許可フラグがセット（ＴＫＨＲＦＬＧ＝１）されている場合はステップＳ９８へ進む。
【００７３】
ステップＳ９４で、読み込み許可フラグがクリア（ＴＫＨＲＦＬＧ＝０）されている場合は、ステップＳ９５で目標位相角変化ΔＶＴｔ（＝ＶＴｔ（ｎ）−ＶＴｔ（ｎ−１））が所定値ＤＶＴＲＥＦ以上かどうかを判定（ΔＶＴｔ≧ＤＶＴＲＥＦ）し、所定値ＤＶＴＲＥＦ未満の場合は、ステップＳ９７で読み込み許可フラグをクリア（ＴＫＨＲＦＬＧ＝０）して処理を終わり、所定値ＤＶＴＲＥＦ以上の場合は、ステップＳ９６で読み込み許可フラグをセット（ＴＫＨＲＦＬＧ＝１）してステップＳ９８に進む。
【００７４】
ステップＳ９８では、前記位相角偏差ＥＰの絶対値が所定値ＥＰＲＥＦ以下かどうかを判定し、所定値以下でない（｜ＥＰ｜＞ＥＰＲＥＦ）場合は、実位相角が目標位相角に収束していないためそのまま処理を終わり、所定値以下（｜ＥＰ｜≦ＥＰＲＥＦ）の場合は、ステップＳ９９で実位相角の収束時間ＴＲＥＳＰが所定値ＴＲＥＳＰＲＥＦ以上かどうかを判定する。
【００７５】
ステップＳ９９で、実位相角の収束時間ＴＲＥＳＰが所定値未満（ＴＲＥＳＰ＜ＴＲＥＳＰＲＥＦ）の場合は、前記温度係数ＴＫＴＥＭＰの学習は不要であるため、ステップＳ１００で温間状態での積分項データＸＩ＿ＨＩと水温データＴＷＴ＿ＨＩの読み込み完了フラグをクリア（ＴＫＨＯＴＦＬＧ＝０）し、ステップＳ１０６で前記温度係数学習値ＫＴＥＭＰＬＮの学習完了フラグをクリア（ＴＫＬＮＦＬＧ＝０）して処理を終了する。
【００７６】
ステップＳ９９で実位相角の収束時間が所定値以上（ＴＲＥＳＰ≧ＴＲＥＳＰＲＥＦ）と判定された場合は、ステップＳ１０１で位相角Ｆ／Ｂ制御中の現在の積分項の演算値ＸＩ（ｎ）を温間時の積分項初期値ＸＩ＿ＨＩに書き込み、現在の水温読み取り値ＴＷＴ（ｎ）を温間時の水温値ＴＷＴ＿ＨＩに書き込み、ステップＳ１０２で温間状態での積分項データＸＩ＿ＨＩと水温データＴＷＴ＿ＨＩの読み込み完了フラグをセット（ＴＫＨＯＴＦＬＧ＝１）し、ステップＳ１０３で冷間状態での積分項データＸＩ＿ＬＯと水温データＴＷＴ＿ＬＯの読み込み完了フラグがセットされているかどうかを判定する。
【００７７】
ステップＳ１０３で読み込み完了フラグがセット（ＴＫＣＯＬＤＦＬＧ＝１）されていれば、ステップＳ１０４で温度係数学習値ＴＫＴＥＭＰＬＮの学習演算を行う。ステップＳ１０３で冷間時の前記読み込み完了フラグがクリア（ＴＫＣＯＬＤＦＬＧ＝０）されていれば、ステップＳ１０６で前記温度係数学習値ＫＴＥＭＰＬＮの学習完了フラグをクリア（ＴＫＬＮＦＬＧ＝０）して処理を終了する。
【００７８】
ステップＳ１０４では、冷間状態での積分項データＸＩ＿ＬＯと水温データＴＷＴ＿ＬＯと温間状態での積分項データＸＩ＿ＨＩと水温データＴＷＴ＿ＨＩを用いて、温度係数学習値ＫＴＥＭＰＬＮを式（１６）に示す演算式により算出し学習する。
ＫＴＥＭＰＬＮ＝（ＸＩ＿ＨＩ−ＸＩ＿ＬＯ）／（ＴＷＴ＿ＨＩ−ＴＷＴ＿ＬＯ）
（１６）
【００７９】
続いて、ステップＳ１０５で前記温度係数学習値ＫＴＥＭＰＬＮの学習完了フラグをセット（ＴＫＬＮＦＬＧ＝１）して処理を終わる。
【００８０】
このように、実位相角が目標位相角に収束状態での冷間時と温間時の積分項演算値の差分値を水温の差分値で除算することにより、積分項初期値演算の第２の演算式の温度係数学習値が求まるため、前記ＯＣＶ３の個体差の学習が可能である。
【００８１】
前記位相角フィードバック制御時の実位相角が目標位相角に収束状態での積分項の実際値ＸＩｒｅａｌと、前記温度係数学習値ＫＴＥＭＰＬＮを用いて前記積分項初期値演算の第１の演算式を用いて算出した積分項初期値ＸＩ＿ｉｎｉに基づいて学習する前記オフセット値学習値ＸＩＯＦＳＴＬＮの学習処理のフローチャートを図１５に示す。
【００８２】
図１５のステップＳ１２０で、前記温度係数学習値ＫＴＥＭＰＬＮが学習完了かどうか（ＴＫＬＮＦＬＧ＝１？）を判定し、未学習状態（ＴＫＬＮＦＬＧ＝０）の場合はそのまま処理を終わり、学習が完了（ＴＫＬＮＦＬＧ＝１）している場合は、ステップＳ１２１で温間状態かどうか（ＴＷＴ≧ＴＷＴ＿ＨＩ？）を判定し、温間状態でない場合は処理を終了し、温間状態（ＴＷＴ≧ＴＷＴ＿ＨＩ）の場合、ステップＳ１２２で位相角偏差の絶対値が所定値以下かどうか（｜ＥＰ｜≦ＥＰＲＥＦ）を判定する。
【００８３】
ステップＳ１２２で位相角偏差の絶対値が所定値以下に収束していない（｜ＥＰ｜＞ＥＰＲＥＦ）場合は処理を終了し、所定値以下に収束状態（｜ＥＰ｜≦ＥＰＲＥＦ）の場合は、ステップＳ１２３で実位相角の収束時間が所定値以上かどうか（ＴＲＥＳＰ≧ＴＲＥＳＰＲＥＦ）を判定し、所定時間内で収束（ＴＲＥＳＰ＜ＴＲＥＳＰＲＥＦ）している場合はそのまま処理を終わり、収束時間が所定値以上（ＴＲＥＳＰ≧ＴＲＥＳＰＲＥＦ）の場合、位相角Ｆ／Ｂ制御中の現在の積分項演算値ＸＩ（ｎ）を積分項実際値ＸＩｒｅａｌに書き込む（ステップＳ１２４）。
【００８４】
その後、ステップＳ１２５で現在の水温ＴＷＴ（ｎ）と前記温度係数学習値ＫＴＥＭＰＬＮを用いて前記積分項初期値演算の第１の演算式により積分項初期値ＸＩ＿ｉｎｉ（＝ＫＴＥＭＰＬＮ×ＴＷＴ（ｎ）＋ＸＩＯＦＳＴ）を算出し、ステップＳ１２６のように前記積分項実際値ＸＩｒｅａｌと上記算出した積分項初期値ＸＩ＿ｉｎｉとの差分を学習ＯＦＳＴＬＮ（＝ＸＩｒｅａｌ−ＸＩ＿ｉｎｉ）し、ステップＳ１２７でオフセット値学習値ＸＩＯＦＳＴＬＮをＸＩＯＦＳＴＬＮ＝ＸＩＯＦＳＴ＋ＯＦＳＴＬＮとして学習し処理を終わる。
【００８５】
このように、温間状態で実位相角が目標位相角に収束状態での位相角Ｆ／Ｂ制御中の積分項実際値ＸＩｒｅａｌと前記温度係数学習値ＫＴＥＭＰＬＮを用いると共に前記積分項初期値演算の第１の演算式を用いて算出した積分項初期値ＸＩ＿ｉｎｉとに基づいて、前記オフセット値学習値ＸＩＯＦＳＴＬＮが求まるため、前記ＯＣＶ３の個体差の学習が可能である。
【００８６】
図１７は、積分項初期値ＸＩ＿ｉｎｉ＝０とした場合の位相角応答タイムチャートを示したものである。位相角Ｆ／Ｂ制御開始時に積分項初期値ＸＩ＿ｉｎｉ＝０としているため、積分項ＸＩが平衡状態に達するまではＯＣＶ３のスプールバルブ３２の進角室側への油供給量が不足するため、実位相角の収束時間ＴＲＥＳＰが長くなる。
【００８７】
図１８は、ＯＣＶ３の公差下限仕様で設定された積分項初期値演算式である第１の演算式を用いて、位相角Ｆ／Ｂ制御開始時の積分項初期値ＸＩ＿ｉｎｉを算出し設定した場合の位相角応答タイムチャートを示したもので、図１７に比べて実位相角の収束時間ＴＲＥＳＰが約２／５に短縮されている。
【００８８】
図１９は、図１８で用いた第１の演算式に対して、温度係数およびオフセット値の学習値を用いた第２の演算式を用いて、位相角Ｆ／Ｂ制御開始時の積分項初期値ＸＩ＿ｉｎｉを算出し設定した場合の位相角応答タイムチャートを示したもので、図１８に比べて実位相角の収束時間ＴＲＥＳＰが約１／４に短縮されている。積分項初期値ＸＩ＿ｉｎｉ＝０とした場合（図１７）に対して、収束時間の短縮は約１／１０となる。
【００８９】
以上説明したように、この発明によれば、位相角フィードバック制御演算開始時の積分項の初期値を内燃機関の温度パラメータに基づいて設定し、フィードバック制御演算により算出された制御補正量をバッテリ電圧により電圧補正して、油圧制御ソレノイド弁への操作量を出力するようにしたので、油圧制御ソレノイド弁の保持状態における実際の位置が本来の中立位置から進角側にずれることがなくなり、目標位相角が吸気バルブと排気バルブとのバルブオーバーラップがもともと大きい進角側に設定されているような場合でも、バルブオーバーラップが過大となるこはなく、内部ＥＧＲ量の過大による内燃機関の始動性の低下を回避することができる。また、進角側への目標位相角に制限を設ける必要もなくなるため低温時の始動性を改善する効果がある。
【００９０】
また、積分項の初期値は、内燃機関の温度パラメータを入力として、予め設定された演算式を用いて算出し設定するようにしたので、内燃機関始動時の温度や電圧状態に応じた位相角フィードバック制御開始時の積分項の初期値の設定が簡単な制御ロジックで構成でき、かつ精度も確保されるので、位相角フィードバック制御時の実位相角の過剰なオーバーシュートが防止でき、吸気弁と排気弁のバルブオーバーラップが過大となることがないため安定した燃焼が確保される効果がある。
【００９１】
また、内燃機関の温度パラメータは水温データとしたので、内燃機関に既設の水温センサからの水温データが流用でき不要なコストアップを回避できる。
【００９２】
また、積分項の初期値演算の第１の演算式は、油圧制御ソレノイド弁の中立位置制御電流値の公差下限値と、油圧制御ソレノイド弁のソレノイドコイル抵抗値の公差下限値と、ソレノイドコイル温度とに基づいて予め導出し、設定された演算式であるため、内燃機関始動時の温度や電圧状態や油圧制御ソレノイド弁（ＯＣＶと称す）の固体ばらつきに対して、位相角フィードバック制御開始時の積分項の初期値の設定が簡単な制御ロジックで構成でき精度も確保されるので、位相角フィードバック制御開始時の実位相角の過剰なオーバーシュートが防止でき、前記吸気弁と排気弁のバルブオーバーラップが過大となることがないため安定した燃焼性が確保される効果がある。
【００９３】
また、積分項の初期値を算出する第１の演算式は、水温に温度係数を乗じたものにオフセット値を加算するようにしたので、簡単な制御ロジックで温度や電圧変化に対応した積分項の初期値設定が可能である。
【００９４】
また、バッテリ電源接続後、１回目の位相角フィードバック制御演算開始時の積分項の初期値は第１の演算式により算出し設定するようにしたので、バッテリＯＦＦ後のように学習値が消失した場合でも、温度や電圧状態に応じた積分項の初期値の設定が可能となる。
【００９５】
また、バッテリ電源接続後、２回目以降の位相角フィードバック制御演算開始時の積分項の初期値は、第１の演算式の温度係数およびオフセット値の学習値を用いた第２の演算式により算出し設定するようにしたので、温度や電圧状態が変化しても位相角Ｆ／Ｂ制御開始時の応答性向上とオーバーシュート量の抑制の両立が図れる効果がある。
【００９６】
また、積分項の初期値を算出する第２の演算式の温度係数の学習は、水温により判定される冷間領域と温間領域において、位相角フィードバック制御により実位相角が目標位相角に収束した時の積分項の実際値と水温値に基づいて、温間領域と冷間領域の積分項の実際値の差分値を水温値の差分値で除算して学習するようにしたので、温度や電圧状態が変化しても位相角Ｆ／Ｂ制御開始時の応答性向上とオーバーシュート量の抑制の両立が図れる効果がある。
【００９７】
また、積分項の初期値を算出する第２の演算式のオフセット値の学習は、温度係数学習完了後、水温により判定される温間領域において、位相角フィードバック制御により実位相角が目標位相角に収束した時の積分項の実際値と、収束時の水温値に温度係数学習値を乗じたものにオフセット値を加算して求めた積分項の初期値との差分により学習するようにしたので、温度や電圧状態が変化しても位相角Ｆ／Ｂ制御開始時の応答性向上とオーバーシュート量の抑制の両立が図れる効果がある。
【００９８】
また、内燃機関の運転状態を検出する水温センサの故障判定時は、水温を予め設定された所定値として、積分項の初期値を第１の演算式により算出し設定するようにしたので、位相角フィードバック制御開始時の実位相角の過大なオーバーシュートを回避できる。
【００９９】
さらに、積分項の初期値の演算値が予め設定された積分項の初期値の上限値と下限値の範囲を外れた場合は、積分項の初期値の設定を上限値または下限値で制限するようにしたので、油圧制御ソレノイド弁の固体ばらつき公差の上下限範囲や動作温度の上下限範囲を超えた積分項の初期値の設定が回避できる。
【０１００】
尚、この発明では、積分項の初期値を水温に基づいた演算式で算出したが、水温テーブルから読み出すようにしてもよい。また、ＯＣＶ３のソレノイドコイル温度を水温により推定したが、これを油温センサにより検出された油温により推定してもよい。また、この発明では、積分項初期値演算式の温度係数とオフセット値の両方を学習するようにしているが、オフセット値のみを学習するようにしても同様の効果が得られる。
【図面の簡単な説明】
【０１０１】
【図１】この発明の内燃機関のバルブタイミング制御装置の概略構成図である。
【図２】位相角制御アクチュエータの位相角変化速度とスプール位置の関係図である。
【図３】この発明のマイコン２１内処理構成を概念的に示す機能ブロック図である。
【図４】カム角信号割り込み処理フローチャートである。
【図５】この発明のクランク角信号割り込み処理フローチャートである。
【図６】クランク角信号、最遅角時のカム角信号および進角時のカム角信号を示すタイミングチャートである。
【図７】この発明の位相角Ｆ／Ｂ制御におけるＰＩＤ制御ブロック図である。
【図８】この発明のクランク角信号周期と正規化係数Ｃｉ、Ｃｄとの関係図である。
【図９】この発明の位相角Ｆ／Ｂ制御時のタイムチャートである。
【図１０】この発明の積分項初期値設定処理フローチャートである。
【図１１】ＫＴＥＭＰＬＮの学習処理フローチャートである。
【図１２】図１１のフローチャートの続くフローチャートである。
【図１３】図１２のフローチャートの続くフローチャートである。
【図１４】図１３のフローチャートの続きくフローチャートである。
【図１５】ＸＩＯＦＳＴＬＮの学習処理フローチャートである。
【図１６】ＸＩ＿ｉｎｉと温度の関係図である。
【図１７】ＸＩ＿ｉｎｉ＝０の場合の位相角応答タイムチャートである。
【図１８】第１演算式によりＸＩ＿ｉｎｉ設定時の位相角応答タイムチャートである。
【図１９】第２演算式によりＸＩ＿ｉｎｉ設定時の位相角応答タイムチャートである。
【符号の説明】
【０１０２】
１  内燃機関、２  ＥＣＵ、３  ＯＣＶ、１１  クランク軸、１２  タイミングベルト、１３，１４  タイミングプーリ、１５，１６  カム軸、１７  クランク角センサ、１８  カム角センサ、２１  マイコン、２４  駆動回路、３１  ＯＣＶリニアソレノイド、５０  バルブタイミング制御機構。
【図１】
2008286125.tif 000003
【図２】
2008286125.tif 000004
【図３】
2008286125.tif 000005
【図４】
2008286125.tif 000006
【図５】
2008286125.tif 000007
【図６】
2008286125.tif 000008
【図７】
2008286125.tif 000009
【図８】
2008286125.tif 000010
【図９】
2008286125.tif 000011
【図１０】
2008286125.tif 000012
【図１１】
2008286125.tif 000013
【図１２】
2008286125.tif 000014
【図１３】
2008286125.tif 000015
【図１４】
2008286125.tif 000016
【図１５】
2008286125.tif 000017
【図１６】
2008286125.tif 000018
【図１７】
2008286125.tif 000019
【図１８】
2008286125.tif 000020
【図１９】
2008286125.tif 000021