JP2001234764A - 内燃機関のバルブタイミング制御装置 - Google Patents

内燃機関のバルブタイミング制御装置

Info

Publication number
JP2001234764A
JP2001234764A JP2000043383A JP2000043383A JP2001234764A JP 2001234764 A JP2001234764 A JP 2001234764A JP 2000043383 A JP2000043383 A JP 2000043383A JP 2000043383 A JP2000043383 A JP 2000043383A JP 2001234764 A JP2001234764 A JP 2001234764A
Authority
JP
Japan
Prior art keywords
value
learning
cam phase
control
lower limit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2000043383A
Other languages
English (en)
Inventor
Junichi Suzuki
淳一 鈴木
Yosuke Tachibana
洋介 立花
Tomoya Furukawa
智也 古川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2000043383A priority Critical patent/JP2001234764A/ja
Publication of JP2001234764A publication Critical patent/JP2001234764A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/12Improving ICE efficiencies

Landscapes

  • Valve-Gear Or Valve Arrangements (AREA)
  • Valve Device For Special Equipments (AREA)
  • Output Control And Ontrol Of Special Type Engine (AREA)
  • Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

(57)【要約】 【課題】 収束性の良いカム位相のフィードバック制御
を達成でき、カム位相を変更するための制御値の学習値
が完了していない場合の応答性を確保できる内燃機関の
バルブタイミング制御装置を提供する。 【解決手段】 カム位相CAINを変更するための制御
値DOUTVTを実カム位相CAINが目標カム位相C
AINCMDになるようにフィードバック制御する制御
手段2と、所定の学習条件の成立時に、制御値の学習値
DVTHLDを算出する学習値算出手段2と、学習値を
積分項DVIINの初期値として設定する積分項初期値
設定手段2と、制御値の学習が完了しているときに、積
分項DVIINの第1上下限値DVTHLD±#DDV
TLMIを学習値に基づいて設定し、完了していないと
きに、第1上下限値よりも大きなリミット範囲を規定す
る第2上下限値#DVTLMIHW、#DVTLMIL
Wを設定する積分項上下限値設定手段2と、を備えてい
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、クランクシャフト
に対する吸気カムおよび/または排気カムのカム位相を
変更することにより、バルブタイミングを制御する内燃
機関のバルブタイミング制御装置に関する。
【0002】
【従来の技術】従来のこの種のバルブタイミング制御装
置として、例えば特開平9−217609号公報に開示
されたものが知られている。この制御装置では、カムプ
ーリーに対するカムシャフトの相対角度を、油圧制御弁
により油圧の供給を制御されるカム位相可変機構で変化
させることにより、カム位相が変更される。油圧制御弁
は、デューティソレノイド弁で構成されており、ソレノ
イドの電流のデューティ比を制御し、油圧をカム位相可
変機構の進角室または遅角室に選択的に供給すること
で、カム位相が進角側または遅角側に変化する。また、
デューティ比が中央付近の保持デューティ値のときに
は、油圧制御弁は、進角室および遅角室を同時に閉鎖
し、油圧の供給を同時に遮断する中立位置に位置するこ
とで、カム位相を保持する保持状態になる。さらに、こ
の制御装置では、エンジンの運転状態に応じて目標カム
位相を設定するとともに、この目標カム位相と検出され
た実カム位相との偏差に応じて、デューティ比のPID
フィードバック制御が行われる。
【0003】また、このようなバルブタイミング制御装
置として、公差や経年変化などによるばらつきを補償す
るために、上記保持デューティ値を学習し、保持デュー
ティ学習値としてバックアップRAMに記憶すること
や、バッテリキャンセルなどにより保持デューティ学習
値が消失したときに、ROMにあらかじめ記憶した固定
値を保持デューティ学習値の初期値として用いることが
知られている。さらに、上記PIDフィードバック制御
を行う場合において、I項(積分項)が実カム位相を目
標カム位相に比較的近い状態で目標カム位相にきめ細か
く追従させる役割を有することから、I項をリミット範
囲内に制限してその過成長を防止することや、その際、
リミット範囲を保持デューティ学習値を中心として設定
することも知られている。
【0004】
【発明が解決しようとする課題】しかし、上述のように
設定される保持デューティ値の固定値は、公差に幅があ
り、また経年変化があるため、それらを補償する学習値
とは当然、一致しない場合がある。このため、そのよう
なずれが生じている場合に、バッテリキャンセル時など
に保持デューティ値の固定値をI項のリミット範囲の中
心値として用いたときには、I項が狭いリミット範囲の
一方の側にかたよった関係になってしまう。このため、
例えばカム位相偏差が大きいことで、I項をかたよった
一方の側へ大きく変化させることが必要な場合でも、I
項が制限されるため、実カム位相が目標カム位相に一致
するまでに時間を要することで、フィードバック制御の
応答性が悪化してしまう。
【0005】本発明は、このような課題を解決するため
になされたものであり、収束性の良いカム位相のフィー
ドバック制御を達成できるとともに、カム位相を変更す
るための制御値の学習値が完了していない場合の応答性
を確保することができる内燃機関のバルブタイミング制
御装置を提供することを目的とする。
【0006】
【課題を解決するための手段】この目的を達成するた
め、本発明は、クランクシャフト9に対する吸気カム6
aおよび排気カム7aの少なくとも一方の位相であるカ
ム位相CAINを変更することにより、バルブタイミン
グを制御する内燃機関のバルブタイミング制御装置であ
って、カム位相CAINを検出する実カム位相検出手段
(実施形態における(以下、本項において同じ)ECU
2、カム角センサ28、クランク角センサ29)と、運
転状態に応じて目標カム位相CAINCMDを設定する
目標カム位相設定手段(ECU2)と、カム位相CAI
Nを変更するための制御値(出力デューティ比DOUT
VT)を実カム位相CAINが目標カム位相CAINC
MDになるようにフィードバック制御するフィードバッ
クバック制御手段(ECU2)と、所定の学習条件が成
立しているときに、制御値を学習し、学習値(保持デュ
ーティ学習値DVTHLD)として算出する学習値算出
手段(ECU2、図18のステップ163)と、算出さ
れた学習値をフィードバック制御の積分項DVIINの
初期値として設定する積分項初期値設定手段(ECU
2、図15のステップ114、123)と、学習値算出
手段による制御値の学習が完了しているか否かを判定す
る学習完了判定手段(ECU2、図13のステップ10
2、図20)と、学習完了判定手段により制御値の学習
が完了していると判定されたときに、積分項DVIIN
のリミット範囲を規定する第1上下限値(DVTHLD
+#DDVTLMI、DVTHLD−#DDVTLM
I)を学習値に基づいて設定するとともに、制御値の学
習が完了していないと判定されたときに、第1上下限値
よりも大きなリミット範囲を規定する第2上下限値(#
DVTLMIHW、#DVTLMILW)を設定する積
分項上下限値設定手段(ECU2、図23)と、を備え
ていることを特徴としている。
【0007】この内燃機関のバルブタイミング制御装置
によれば、カム位相を変更するための制御値が、実カム
位相が目標カム位相になるようにフィードバック制御さ
れる。また、所定の学習条件の下、制御値の学習値が算
出され、算出した学習値は、フィードバック制御の積分
項の初期値として用いられる。また、制御値の学習が完
了しているときには、積分項のリミット範囲が、学習を
完了した学習値に基づき、第1上下限値によって狭いリ
ミット幅で規定される。したがって、積分項をリミット
範囲の中心に位置させた状態でフィードバック制御を開
始でき、狭い範囲で上下バランス良く制限できる。その
結果、制御値の学習値の学習が完了している状態におい
て、ハンチングの少ない収束性の良好なフィードバック
制御を達成することができる。
【0008】また、制御値の学習が完了していないとき
には、積分項のリミット範囲が、第2上下限値により拡
大される。したがって、例えば、学習が完了していない
ために、積分項がリミット範囲の一方の側にかたよった
状態でフィードバック制御が開始され、かつ実カム位相
と目標カム位相との偏差が大きいことで、積分項をその
一方の側に大きく変化させることが必要な場合でも、積
分項を不必要に制限することなく適切に設定できる。そ
の結果、実カム位相を目標カム位相に迅速に近づけるこ
とができ、制御値の学習が完了していない場合のフィー
ドバック制御の応答性を確保することができる。
【0009】
【発明の実施の形態】以下、図面を参照しながら、本発
明の一実施形態を説明する。図1は、本発明を適用した
内燃機関のバルブタイミング制御装置(以下、単に「制
御装置」という)の概略構成を示している。同図に示す
ように、この制御装置1は、ECU2(実カム位相検出
手段、目標カム位相設定手段、フィードバック制御手
段、学習値算出手段、積分項初期値設定手段、学習完了
判定手段、積分項上下限値設定手段)を備えており、こ
のECU2は、内燃機関(以下「エンジン」という)3
の運転状態に応じて、後述するような制御処理を実行す
る。
【0010】エンジン3は、例えば4サイクルDOHC
型ガソリンエンジンであり、吸気カムシャフト6および
排気カムシャフト7を備えている。吸気カムシャフト6
および排気カムシャフト7は、それぞれの従動スプロケ
ット6b、7bおよびタイミングチェーン(図示せず)
を介して、クランクシャフト9に連結されており、クラ
ンクシャフト9の2回転あたり1回転の割合で回転駆動
される。吸気カムシャフト6および排気カムシャフト7
には、吸気バルブ4および排気バルブ5をそれぞれ開閉
駆動する複数の吸気カム6aおよび排気カム7a(とも
に1個のみ図示)が一体に設けられている。
【0011】また、吸気カムシャフト6は、その従動ス
プロケット6bに所定角度の範囲で回転可能に連結され
ている。この従動スプロケット6bに対する吸気カムシ
ャフト6の相対的角度を変更することにより、クランク
シャフト9に対する吸気カム6aの位相(以下、単に
「カム位相」という)CAINが変更され、吸気バルブ
4の開閉タイミング(バルブタイミング)が進角または
遅角する。吸気カムシャフト6の一端部には、このカム
位相CAINを制御するためのカム位相可変機構(以下
「VTC」という)8および油圧制御弁10が設けられ
ている。
【0012】VTC8は、吸気カムシャフト6と一体の
ベーン(図示せず)の両側に画成された進角室および遅
角室(いずれも図示せず)を有しており、エンジン3で
駆動されるオイルポンプ(図示せず)の油圧が、油圧制
御弁10の制御により、進角室または遅角室に選択的に
供給されることによって、吸気カムシャフト6を従動ス
プロケット6bに対し、進角方向または遅角方向に回転
駆動するように構成されている。
【0013】油圧制御弁10は、ソレノイドと、これに
駆動されるスプールなどを備えるデューティソレノイド
バルブで構成されている。油圧制御弁10は、ECU2
により制御されるソレノイド電流の出力デューティ比D
OUTVT(制御値)に従って、スプールの位置が無段
階に変化するように構成されていて、その位置に応じて
カム位相可変機構8の進角室または遅角室を開閉する。
具体的には、油圧制御弁10への出力デューティ比DO
UTVT(以下、単に「出力デューティ比DOUTV
T」という)が保持デューティ値(例えば50%)より
も大きいときには、油圧制御弁10のスプールが中立位
置から一方の側に移動して進角室を開放することで、進
角室に油圧を供給し、カム位相CAINを進角させる進
角状態になる。一方、出力デューティ比DOUTVTが
保持デューティ値よりも小さいときには、スプールが中
立位置から他方の側に移動して遅角室を開放すること
で、遅角室に油圧を供給し、カム位相CAINを遅角さ
せる遅角状態になる。なお、吸気カム6aの可動範囲は
例えば60°クランク角で、最遅角時にBTDC25°
クランク角に、最進角時にBTDC85°クランク角に
それぞれ位置し、カム位相CAINは、最遅角位置で0
°クランク角、最進角位置で60°クランク角である。
【0014】また、油圧制御弁10は、出力デューティ
比DOUTVTが保持デューティ値のときには、スプー
ルが進角室および遅角室を同時に閉鎖する中立位置に位
置する保持状態になり、進角室および遅角室への油圧の
供給が遮断され、吸気カムシャフト6と従動スプロケッ
ト6bが一体化されることで、カム位相CAINが、そ
れまでに制御されていた値に保持される。
【0015】吸気カムシャフト6のVTC8と反対側の
端部には、カム角センサ28(実カム位相検出手段)が
設けられている。カム角センサ28は、例えばマグネッ
トロータおよびMREピックアップで構成されており、
吸気カムシャフト6の回転に伴い、TDCを基準とする
吸気カム6aのカム角CASVINを検出し、その信号
をECU2に出力する。また、クランクシャフト9に
は、クランク角センサ29(実カム位相検出手段)が設
けられている。クランク角センサ29は、カム角センサ
28と同様に構成されており、クランクシャフト9の回
転に伴い、所定のクランク角(例えば30°)ごとに、
パルス信号であるCRK信号をECU2に出力する。E
CU2は、このCRK信号および上記CASVIN信号
から実際のカム位相CAINを算出(検出)する(以
下、このように実際に検出されたカム位相を、適宜「実
カム位相CAIN」という)。また、CRK信号に基づ
き、エンジン回転数NEを求める。
【0016】さらに、図示しないが、吸気カム6aおよ
び排気カム7aはそれぞれ、低速カムと、これよりも高
いカム山を有する高速カムとで構成されている。これら
の低速カムおよび高速カムは、図示しないバルブタイミ
ング切換機構(以下「VTEC」という)によって切り
換えられるようになっており、それにより、吸気バルブ
4および排気バルブ5の作動タイミングが、低速バルブ
タイミング(以下「Lo.V/T」という)と高速バル
ブタイミング(以下「Hi.V/T」という)に切り換
えられる。このVTECの動作もまた、VTC8と同
様、ECU2により、油圧制御弁(図示せず)を介して
供給される油圧を制御することによって、制御される。
【0017】また、エンジン3の吸気管30には、スロ
ットル弁開度センサ37を取り付けたスロットル弁31
が設けられており、その下流側にはさらに、インジェク
タ32、吸気温センサ33、および吸気圧センサ34が
取り付けられている。インジェクタ32の燃料噴射時間
(燃料噴射量)TOUTは、ECU2からの駆動信号に
よって制御される。なお、エンジン3は、理論空燃比近
傍の空燃比で燃焼を行うストイキ運転と、理論空燃比よ
りも希薄な空燃比で燃焼を行うリーンバーン運転とに切
り換えて運転できるように構成されており、その切換え
もECU2によって制御される。
【0018】吸気温センサ33は吸気管30内の吸入空
気の温度である吸気温TAを、吸気圧センサ34は吸気
管30内の絶対圧PBAを、スロットル弁開度センサ3
7はスロットル弁31の開度(以下「スロットル弁開
度」という)θTHをそれぞれ検出し、それらの検出信
号をECU2に送る。さらに、エンジン3の本体には、
エンジン水温センサ35が取り付けられており、エンジ
ン水温センサ35は、エンジン3のシリンダブロック内
を循環する冷却水の温度であるエンジン水温TWを検出
して、その検出信号をECU2に送る。また、ECU2
には、大気圧PAを検出する大気圧センサ38、および
油圧制御弁10を駆動するバッテリの電圧(以下「バッ
テリ電圧」という)VBを検出するバッテリセンサ38
から、それらの検出信号が送られる。
【0019】ECU2は、I/Oインターフェース、C
PU、RAMおよびROMなどからなるマイクロコンピ
ュータで構成されている。前述した各種センサからの検
出信号はそれぞれ、I/OインターフェースでA/D変
換や整形がなされた後、CPUに入力される。
【0020】CPUは、これらの入力信号に応じて、エ
ンジン3の運転状態を判別するとともに、判別した運転
状態に応じ、ROMに記憶された制御プログラムおよび
データなどや、RAMに記憶されたデータなどに従っ
て、以下に述べるようにして、VTC8の制御(以下
「VTC制御」という)を実行する。
【0021】図2は、このVTC制御の処理全体の流れ
を示すメインフローである。この制御処理は、所定時間
(例えば10ms)ごとに実行される。同図の各処理の
概要を述べると、まず、ステップ1(図では「S1」と
表示。以下同じ)のVTC制御実行条件判定処理は、エ
ンジン水温TWやエンジン回転数NEなどに応じて、V
TC制御の実行条件が成立しているか否かを判定し、そ
の実行を許可または禁止する処理である(サブルーチン
は図3および図4)。ステップ2のクリーニング実行条
件判定処理は、クリーニング(VTC8や油圧制御弁1
0がごみづまりなどで固着するのを防止するためにVT
C8を強制的に最遅角位置から最進角位置まで作動させ
る処理)の実行条件が成立しているか否かを判定する処
理である(図9)。
【0022】また、ステップ3の目標カム位相算出処理
は、エンジン3の運転状態に応じて目標カム位相CAI
NCMDを算出する処理である(図10および図1
1)。ステップ4の出力デューティ比算出処理は、目標
カム位相CAINCMDおよび実カム位相CAINに応
じて、出力デューティ比DOUTVTを算出し、そのフ
ィードバック制御を実行する処理である(図15および
図16)。ステップ5の保持デューティ学習値算出処理
は、VTC8や油圧制御弁10のハード面のばらつきな
どから生じる保持デューティ値のずれを吸収して、VT
C制御に利用するために、その学習を行い、保持デュー
ティ学習値DVTHLD(学習値)として算出する処理
である(図17および図18)。また、ステップ6の零
点学習値算出処理は、上記と同様の理由から、実カム位
相CAINを算出するためのカム角センサ28の出力角
度CASVINの零点のずれを吸収するために、その学
習を行い、零点学習値CAINZPとして算出する処理
である(図21および図22)。以下、各処理ごとにそ
の制御内容を説明する。
【0023】図3および図4は、図2のステップ1で実
行されるVTC制御実行条件判定処理のサブルーチンを
示す。なお、以下の説明では、ROMに個々のデータや
テーブル値などとしてあらかじめ記憶されている固定値
については、その先頭に「#」を付し、更新される他の
変数と区別するものとする。
【0024】この判定処理ではまず、ステップ11にお
いて、VTC作動開始判定用の低温側水温値TWVTC
VARX、高温側水温値TWVTCHOTXおよびTD
C数積算値TDCSMVTCXを設定する。後述するよ
うに、これらの判定値は、エンジン3の始動後、作動油
温がVTC8を作動可能な温度に達したか否かを判定す
るためのものであり、図5および図6に一例を示すテー
ブルに基づき、始動時の初期温度TAWINT(始動時
に検出された初期吸気温TAINTおよび初期エンジン
水温TWINTの低い方)に応じて、それぞれのテーブ
ル値#TWVTCVAR、#TWVTCHOTおよび#
TDCSMVTCを検索することによって、設定され
る。なお、始動時の初期温度TAWINTとして、初期
吸気温TAINTおよび初期エンジン水温TWINTの
低い方を採用するのは、TWINT値よりもTAINT
値が低いのが通常であるが、吸気温センサ33およびエ
ンジン水温センサ35の検出分解能などに起因して両値
の大小関係がまれに逆転することがあるので、これを補
償するためである。
【0025】図5に示すように、低温側水温値のテーブ
ル値#TWVTCVARは、基本的に初期温度TAWI
NTが低いほどより大きな値に設定されており、具体的
には、それらの第1〜第4温度格子点TAWINT1〜
TAWINT4(例えばそれぞれ−30℃、−15℃、
0℃および7℃)に対して、第1〜第4所定値TWVT
CVAR1〜TWVTCVAR4(例えばそれぞれ80
℃、45℃、27℃および7℃)に設定されている。こ
れに対して、高温側水温値のテーブル値#TWVTCH
OTは、上記第1温度格子点TAWINT1以下および
第4温度格子点TAWINT4以上では、低温側水温値
のテーブル値#TWVTCVARと同じ一定の第1およ
び第3所定値TWVTCHOT1、TWVTCHOT3
に設定される一方、上記第3温度格子点TAWINT3
に対して、第3所定値TWVTCHOT3に近い第2所
定値TWVTCHOT2(例えば73℃)に設定されて
いて、第1および第4温度格子点TAWINT1〜4の
間では、低温側水温値のテーブル値#TWVTCVAR
よりもかなり大きな値に設定されている。
【0026】また、図6に示すように、TDC数積算値
のテーブル値#TDCSMVTCは、低温側水温値のテ
ーブル値#TWVTCVARと同様、基本的に初期温度
TAWINTが低いほどより大きな値に設定されてお
り、具体的には、初期温度TAWINTが第1温度格子
点TAWTDCVTC1(例えば−30℃)以下では、
大きな値である第1所定値TDCSMVTC1(例えば
30,000)に、第3温度格子点TAWTDCVTC
3(例えば10℃)以上では、小さな値である第3所定
値TDCSMVTC3(例えば0)に、中間の第2温度
格子点TAWTDCVTC2(例えば0℃)では、第2
所定値TDCSMVTC2(例えば25,000)に設
定されている。
【0027】上記のステップ11に続くステップ12で
は、エンジン回転数NEによりエンジン3が始動モード
にあるか否かを判別する。始動モードにあるときには、
ダウンカウントタイマである始動後禁止タイマTCAA
STに所定時間TMVTCASX(例えば3秒)をセッ
トした(ステップ13)後、VTC8が作動できない状
態にあるとして、VTC作動不能フラグF_VTCST
Pを「1」にセットする(ステップ14)とともに、V
TC制御の実行条件が成立していないとして、VTC作
動許可フラグF_VTCを「0」にセットし(ステップ
15)、本プログラムを終了する。
【0028】前記ステップ12でエンジン3が始動モー
ドにないと判別されたときには、前記ステップ13でセ
ットした始動後禁止タイマのタイマ値TCAASTが
「0」であるか否かを判別する(ステップ16)。この
答がNO、すなわち始動モードの終了後に所定時間TM
VTCASXが経過していないときには、前記ステップ
14、15を実行し、本プログラムを終了する。以上の
ように、エンジン3の始動時および始動後の所定時間
は、VTC8の作動油の油圧が不安定であるため、VT
C制御が禁止される。
【0029】前記ステップ16の答がNO、すなわちエ
ンジン3の始動後、所定時間TMVTCASXが経過し
たときには、アラインメントフラグF_ENVTCが
「1」にセットされているか否かを判別する(ステップ
17)。このアラインメントフラグF_ENVTCは、
カム角センサ28のCASVIN信号がクランク角セン
サ29のCRK信号に対して正規な状態で出力されてい
るときに、「1」にセットされるものである。この答が
NOのときには、前記ステップ14、15を実行し、V
TC制御を禁止する。
【0030】上記ステップ17の答がYES、すなわち
カム角センサ28のCASVIN信号が正規に出力され
ているときには、指定のフェールセーフ(F/S)を表
す信号が検知されているか否を判別し(ステップ1
8)、検知されているときには、前記ステップ14、1
5を実行し、VTC制御を禁止する。フェールセーフが
検知されていないときには、ステップ19に進み、油圧
制御弁10を駆動するバッテリ電圧VBがその下限値#
VBVTCLよりも大きいか否かを判別する。この答が
NO、すなわちVB≦#VBVTCLで、バッテリ電圧
VBが低いときには、前記ステップ14、15を実行
し、VTC制御を禁止する一方、YESのときにはステ
ップ20に進む。
【0031】このステップ20では、後述する温度条件
成立フラグF_VTCTWが「1」にセットされている
か否かを判別し、この答がNOのときには、エンジン水
温TWが、前記ステップ11で設定した高温側水温値T
WVTCHOTXよりも高いか否かを判別する(ステッ
プ21)。この答がYES、すなわちTW>TWVTC
HOTXのときには、温度条件が成立したとして、温度
条件成立フラグF_VTCTWを「1」にセットする
(ステップ22)とともに、VTC8が作動可能な状態
になったとして、VTC作動不能フラグF_VTCST
Pを「0」にセットする(ステップ23)。このよう
に、始動後、エンジン水温TWが、高温側水温値TWV
TCHOTXを超えたときには、エンジン3自体の温度
が十分に上昇していて、作動油温がVTC8を作動可能
な温度に確実に達しているとして、VTC制御の温度条
件が成立したと判定するので、例えばホットリスタート
時などにおいて、VTC制御を早期に開始することがで
きる。
【0032】一方、前記ステップ21の答がNO、すな
わちエンジン水温TW≦高温側水温値TWVTCHOT
Xのときには、エンジン水温TWが、前記ステップ11
で設定した低温側水温値TWVTCVARXよりも高い
か否かを判別する(ステップ22)。この答がNO、す
なわちTW≦TWVTCVARXのときには、エンジン
3の温度がまだ低いことで、作動油温もVTC8を作動
可能な温度まで上昇していないとして、前記ステップ1
4、15を実行し、VTC制御を禁止する。
【0033】一方、前記ステップ24の答がYES、す
なわちTWVTCVARX<TW≦TWVTCHOTX
のときには、始動後TDC数積算値TDCSUMが、前
記ステップ11で設定した判定用のTDC数積算値TD
CSMVTCXよりも大きいか否かを判別する(ステッ
プ25)。この判別は、エンジン3の始動後、作動油が
十分に循環したかを判定するために行われる。
【0034】この始動後TDC数積算値TDCSUM
は、TDC信号の発生に同期して実行される、図7
(a)に示すサブルーチンによって算出される。すなわ
ち、まずステップ31において始動モードにあるか否か
を判別し、その答がYESのときには、本プログラムを
終了する一方、始動モードが終了した後には、TDC数
積算値の前回値TDCSUM(n−1)に値1を加算し
て、今回値TDCSUM(n)とする(ステップ3
2)。なお、TDCSUM値は、イグニッションスイッ
チON時に値0にクリアされる。したがって、このサブ
ルーチンをTDC信号の発生ごとに実行することによっ
て、始動後TDC数積算値TDCSUMが算出される。
【0035】図3に戻り、前記ステップ25の答がN
O、すなわちTDCSUM≦TDCSMVTCXのとき
には、始動後、作動油がまだ十分に循環しておらず、作
動油温がVTC8を作動可能な温度まで上昇していない
として、前記ステップ14、15を実行し、VTC制御
を禁止する。
【0036】一方、このステップ25の答がYES、す
なわちTWVTCVARX<TW≦TWVTCHOTX
で、かつTDCSUM>TDCSMVTCXが成立して
いるときには、温度条件が成立したとして、前記ステッ
プ22、23を実行し、温度条件成立フラグF_VTC
TWを「1」に、VTC作動不能フラグF_VTCST
Pを「0」にセットする。すなわち、始動後、エンジン
水温TWが、低温側水温値TWVTCVARXを超えて
いて、エンジン3自体の温度が十分ではないもののかな
り上昇しているとともに、始動後TDC数積算値TDC
SUMがTDCSMVTCX値を超えていて、作動油が
十分に循環しているときには、作動油温がVTC8を作
動可能な温度に達したとして、VTC制御の温度条件が
成立したと判定する。以上のように、低温側水温値TW
VTCVARXおよびTDC数積算値TDCSMVTC
Xの2つのパラメータを組み合わせて用いることで、実
際の作動油温がVTC8を作動可能な温度まで上昇した
か否かを、その上昇遅れを加味しながら、適切に判定で
きる。したがって、例えば低温始動時などにおいて、V
TC制御を適切なタイミングで開始することができる。
【0037】一方、前記ステップ20の答がYES、す
なわち温度条件成立フラグF_VTCTWがすでに
「1」にセットされているときには、前記ステップ2
1、24、25および22をスキップして、前記ステッ
プ23に進む。すなわち、前記ステップ22の判別によ
り、またはステップ24および25の判別により、温度
条件が成立したと一旦、判定された場合には、それ以
降、温度条件の判別は行わない。これは、極低負荷運転
などにおいては、始動後にエンジン水温TWが低下する
ことがあるが、その場合にも作動油温は上昇するので、
一旦行った判定を優先することで、そのような状況にお
ける誤判定を回避し、本来の目的である作動油温を適切
に推定するためである。
【0038】前記ステップ23に続くステップ26で
は、エンジン回転数NEがその下限回転数#NEVTC
LNよりも高いか否かを判別する。この判別は、高温時
における作動油の油圧低下領域を、VTC作動領域から
排除するためのものである。このため、下限回転数#N
EVTCLNは、図8に一例を示すテーブルにより、エ
ンジン水温TWに応じて、基本的にTW値が高いほどよ
り大きな値に設定されている。具体的には、下限回転数
#NEVTCLNは、エンジン水温TWが第1温度格子
点TWNEVTCL1(例えば100℃)以下では、小
さな値である第1所定値NEVTCLN1(例えば50
0rpm)に、第4温度格子点TWNEVTCL4(例
えば115℃)以上では、大きな値である第4所定値N
EVTCLN4(例えば1200rpm)に、中間の第
2および第3温度格子点TWNEVTCL2、TWNE
VTCL3(例えばそれぞれ105℃、110℃)で
は、第2および第3所定値NEVTCLN2、NEVT
CLN3(例えばそれぞれ900rpm、1000rp
m)に設定されている。なお、図8に示すように、下限
回転数#NEVTCLNは、VTC制御のハンチングを
防止するためのヒステリシス付きのものであり、上記の
各値は下限側の値(ヒスLo)を示している。
【0039】上記ステップ26の答がNO、すなわちN
E≦#NEVTCLNのときには、作動油の油圧が十分
に確保できないとして、前記ステップ15を実行し、V
TC制御を禁止する。一方、ステップ26の答がYE
S、すなわちNE>#NEVTCLNのときには、アイ
ドルフラグF_IDLEが「1」にセットされているか
否かを判別する(ステップ27)。この答がYES、す
なわちアイドル運転中であるときには、前記ステップ1
5を実行し、VTC制御を禁止する一方、NOのときに
は、VTC制御の実行条件が成立しているとして、VT
C作動許可フラグF_VTCを「1」にセットし(ステ
ップ28)、本プログラムを終了する。
【0040】なお、本処理における前記ステップ25の
判別は、始動後に作動油が十分に循環したかを判定する
ためのものであるので、始動後TDC数積算値TDCS
UMに代えて、例えば始動後要求燃料量積算値TCYL
SUMを算出し、これを上記TDCSMVTCX値と同
様に初期温度TAWINTに応じて定めた判定値と比較
することによって、行ってもよい。この場合の要求燃料
量TCYLとは、エンジン3の気筒が実際に必要とする
燃料量をいい、例えば、インジェクタ32の燃料噴射量
TOUTから、付着分やインジェクタ32駆動用の電力
無効仕事量などを差し引いた値として算出される。
【0041】図7(b)は、この始動後要求燃料量積算
値TCYLSUMを算出するサブルーチンを示してい
る。すなわち、ステップ41およびステップ42におい
て、始動モードにあるか否か、およびフューエルカット
フラグF_FCが「1」にセットされているか否かをそ
れぞれ判別する。これらの答がいずれもNO、すなわち
始動モードが終了した後で、かつフューエルカット運転
中でないときには、始動後要求燃料量積算値の前回値T
CYLSUM(n−1)に今回の要求燃料量TCYLを
加算して、今回値TCYLSUM(n)とする(ステッ
プ43)。なお、TCYLSUM値は、イグニッション
スイッチON時に値0にクリアされる。前記ステップ4
1または42の答のいずれかがYESのときには、本プ
ログラムを終了する。以上の算出処理によれば、フュー
エルカット運転中の要求燃料量TCYLを除外しなが
ら、始動後要求燃料量積算値TCYLSUMを算出する
ので、これを判定値と比較することによって、始動後に
作動油が十分に循環したかをより適切に判定することが
できる。
【0042】図9は、図2のステップ2で実行されるク
リーニング実行条件判定処理のサブルーチンを示す。前
述したように、このクリーニングは、VTC8や油圧制
御弁10のごみづまりなどによる固着を防止するため
に、VTC8を最遅角位置から最進角位置まで強制的に
作動させるものであり、エンジン3の運転に支障のない
減速フューエルカット運転中に実行される。この判定処
理は、その実行条件の判定を行うものである。
【0043】まず、後述するクリーニング完了フラグF
_VTCCLGが「1」にセットされているか否かを判
別する(ステップ51)。なお、このクリーニング完了
フラグF_VTCCLGは、イグニッションスイッチO
N時に値0にクリアされるものである。この答がYE
S、すなわちF_VTCCLG=1であって、クリーニ
ングがすでに完了しているときには、クリーニングを実
行すべきでないとして、クリーニング許可フラグF_V
TCCLNを「0」にセットする(ステップ52)とと
もに、クリーニングタイマTVTCCLNに所定時間#
TMVTCCLN(例えば5秒)をセットし(ステップ
53)、本プログラムを終了する。
【0044】前記ステップ51の答がNO、すなわちF
_VTCCLG=0であって、クリーニングがまだ完了
していないときには、ステップ54〜57において、ク
リーニングを実行可能な条件が成立しているか否かを判
別する。ステップ54では、エンジン水温TWがその下
限値#TWVTCCLG(例えば80℃)よりも高いか
否か、また、ステップ55では、エンジン回転数NEが
その下限値#NEVTCCLG(例えば1500rp
m)よりも高いか否かを判別する。両ステップ54、5
5の答のいずれかがNO、すなわちTW≦#TWVTC
CLGまたはNE≦#NEVTCCLGのときには、作
動油がVTC8を作動可能な状態にないとして、前記ス
テップ52、53を実行し、本プログラムを終了する。
【0045】前記両ステップ54、55の答がいずれも
YESのときには、ステップ56においてスロットル全
閉フラグF_THIDLEが「0」にセットされている
か否か、およびステップ57においてフューエルカット
フラグF_FCが「1」にセットされているか否かをそ
れぞれ判別する。両ステップ56、57の答のいずれか
がNO、すなわちスロットル弁31がほぼ全閉状態にな
いか、または減速フューエルカット運転中でないときに
は、前記ステップ52、53を実行し、本プログラムを
終了する。
【0046】一方、前記両ステップ56、57の答がい
ずれもYES、すなわちTW>#TWVTCCLGおよ
びNE>#NEVTCCLGが成立しているとともに、
スロットル弁31がほぼ全閉状態にあり、かつ減速フュ
ーエルカット運転中であるときには、クリーニングの実
行条件が成立しているとして、クリーニング許可フラグ
F_VTCCLNを「1」にセットする(ステップ5
8)。
【0047】次いで、クリーニングの実行により、実カ
ム位相CAINがその最進角位置に近いカム位相最大値
#CAINMAX(例えば55°)以上まで進角された
か否かを判別する(ステップ59)。CAIN≧#CA
INMAXのときには、クリーニングが完了したとし
て、クリーニング完了フラグF_VTCCLGを「1」
にセットし(ステップ60)、本プログラムを終了す
る。
【0048】一方、前記ステップ59の答がNOのとき
には、前記ステップ53でセットしたクリーニングタイ
マのタイマ値TVTCCLNが値0であるか否かを判別
する(ステップ61)。この答がNOのときにはそのま
ま、YESのときには、前記ステップ60を実行した
後、本プログラムを終了する。すなわち、クリーニング
を実行しても、実カム位相CAINが必ずしも最大値#
CAINMAXに達しない場合があるので、そのような
状態のまま、クリーニングの実行後、所定時間#TMV
TCCLNが経過したときには、クリーニングが完了し
たと判定する。
【0049】以上のように、本処理によって、エンジン
3の運転中に必ず存在しかつ運転に支障のない減速フュ
ーエルカット運転状態を利用して、始動から停止までの
間に1回、クリーニングが実行される。また、本処理で
は、クリーニングの実行条件の成否および実行の有無の
判別と、その結果に応じたクリーニング許可フラグF_
VTCCLNおよびクリーニング完了フラグF_VTC
CLGの設定のみが行われ、実際のクリーニングの実行
は、後述する図15および図16の出力デューティ比算
出処理などにおいて制御される。
【0050】図10および図11は、図2のステップ3
で実行される目標カム位相算出処理のサブルーチンを示
している。前述したように、この目標カム位相算出処理
は、エンジン3の運転状態に応じて目標カム位相CAI
NCMDを算出するものであり、この算出処理には、目
標カム位相CAINCMDが急激に変化しないよう、こ
れを徐々に移行させる移行処理が含まれる。この算出処
理ではまず、VTC作動許可フラグF_VTCが「1」
にセットされているか否かを判別する(ステップ7
1)。この答がNO、すなわちVTC制御の実行条件が
成立していないときには、カム位相CAINを最遅角状
態とするために、目標カム位相CAINCMDを値0に
設定し(ステップ72)、本プログラムを終了する。
【0051】前記ステップ71において、VTC作動許
可フラグF_VTCが「1」で、VTC制御の実行条件
が成立しているときには、ステップ73において、目標
カム位相のマップ検索値CAINCMDXを算出する。
この算出は、図12および図13に示すマップ検索値C
AINCMDXの算出サブルーチンによって、行われ
る。これについては後述する。
【0052】次いで、ステップ74〜81において、目
標カム位相CAINCMDの移行処理を実行する(図1
0の点線で囲まれた部分)。まず、実カム位相CAIN
が変化速度切替判定値#CAINDCHG(例えば35
°)以上であるか否を判別する(ステップ74)。CA
IN≧#CAINDCHGのとき、すなわち実カム位相
CAINが進角領域にあるときには、目標カム位相の進
角側変化速度DCACMDXAを進角領域用の第1進角
側速度設定値#DCACMD1A(例えば0.2)に、
遅角側変化速度DCACMDXRを、上記#DCACM
D1A値よりも大きな進角領域用の第1遅角側速度設定
値#DCACMD1R(例えば0.5)に設定する(ス
テップ75)。
【0053】一方、前記ステップ74でCAIN<#C
AINDCHGのとき、すなわち実カム位相CAINが
遅角領域にあるときには、目標カム位相の進角側変化速
度DCACMDXAを、前記進角領域用の第1進角側変
化速度設定値#DCACMD1Aよりも大きな遅角領域
用の第2進角側変化速度設定値#DCACMD2A(例
えば0.9)に設定するとともに、遅角側変化速度DC
ACMDXRを、前記進角領域用の第1遅角側変化速度
設定値#DCACMD1Rよりも大きく且つ上記#DC
ACMD2A値よりも大きな遅角領域用の第2遅角側変
化速度設定値#DCACMD2R(例えば1.0)に設
定する(ステップ76)。
【0054】以上のように、実カム位相CAINが大き
い進角領域用の第1進角側速度設定値#DCACMD1
Aは、実カム位相CAINが小さい遅角領域用の第2進
角側変化速度設定値#DCACMD2Aよりも小さな値
に設定されている(#DCACMD1A<#DCACM
D2A)。これは、進角領域における目標カム位相の進
角側変化速度DCACMDXAを、遅角領域よりも相対
的に遅くし、燃料噴射量TOUTの変化に対する吸気バ
ルブ4と排気バルブ5とのバルブオーバーラップの増大
方向への変化を抑制することによって、過大なバルブオ
ーバーラップおよびそれに伴う内部EGR量の過大化に
よるエンジン3の燃焼性の悪化を防止するためである。
【0055】同様に、進角領域用の第1遅角側速度設定
値#DCACMD1Rも、遅角領域用の第2遅角側変化
速度設定値#DCACMD2Rよりも小さな値に設定さ
れており(#DCACMD1R<#DCACMD2
R)、これにより、進角領域における遅角側変化速度D
CACMDXRを遅角領域よりも相対的に遅くし、バル
ブオーバーラップの急激な変化を回避することで、燃焼
性の悪化を防止することができる。同様の理由から、進
角領域および遅角領域のいずれにおいても、遅角側変化
速度が進角側変化速度よりも大きな値に設定されており
(#DCACMD1A<#DCACMD1R、#DCA
CMD2A<#DCACMD2R)、これにより、バル
ブオーバーラップを全体的に抑制することで、燃焼性の
悪化を防止できる。
【0056】前記ステップ75または76に続くステッ
プ77では、ステップ73で算出したマップ検索値CA
INCMDXを前回算出した目標カム位相CAINCM
Dと比較し、CAINCMDX>CAINCMDのとき
には、目標カム位相CAINCMDにステップ75また
は76で設定した進角側変化速度DCACMDXAを加
算し、補正後目標カム位相CACMDXとして設定する
(ステップ78)。次いで、マップ検索値CAINCM
DXを、設定した補正後目標カム位相CACMDXと比
較する(ステップ79)。CAINCMDX>CACM
DXのときには、今回の目標カム位相CAINCMDを
補正後目標カム位相CACMDXに設定する(ステップ
80)一方、CAINCMDX≦CACMDXのときに
は、目標カム位相CAINCMDをマップ検索値CAI
NCMDXに設定する(ステップ81)。以上のよう
に、今回のマップ検索値CAINCMDXが前回の目標
カム位相CAINCMDよりも大きく、すなわち目標カ
ム位相CAINCMDを進角側に変化させる場合には、
今回の目標カム位相CAINCMDとして、マップ検索
値CAINCMDXと補正後目標カム位相CACMDX
の小さい方が採用される。これにより、前述したのと同
様、進角側への目標カム位相CAINCMDの変化速度
を遅くし、バルブオーバーラップの増大方向への変化を
抑制することで、燃焼性の悪化が防止される。
【0057】一方、前記ステップ77でマップ検索値C
AINCMDX≦目標カム位相CAINCMDと判別さ
れたときには、目標カム位相CAINCMDからステッ
プ75または76で設定した遅角側変化速度DCACM
DXRを減算し、補正後目標カム位相CACMDXとし
て設定する(ステップ82)。次いで、前記ステップ7
9と同様、マップ検索値CAINCMDXを補正後目標
カム位相CACMDXと比較する(ステップ83)。そ
して、CAINCMDX<CACMDXのときには、前
記ステップ80に進み、目標カム位相CAINCMDを
補正後目標カム位相CACMDXに設定する一方、CA
INCMDX≧CACMDXのときには、前記ステップ
81に進み、目標カム位相CAINCMDをマップ検索
値CAINCMDXに設定する。以上のように、今回の
マップ検索値CAINCMDXが前回の目標カム位相C
AINCMD以下で、目標カム位相CAINCMDを遅
角側に変化させる場合には、上記の進角側への制御の場
合とは逆に、今回の目標カム位相CAINCMDとし
て、マップ検索値CAINCMDXと補正後目標カム位
相CACMDXの大きい方が採用される。これもすでに
述べたのと同じ理由によるものであり、遅角側への目標
カム位相CAINCMDの変化速度を相対的に大きくす
ることによって、燃焼性の悪化が防止される。
【0058】次に、ステップ82〜85において、前記
ステップ80または81で設定した目標カム位相CAI
NCMDのリミット処理を実行する。すなわち、目標カ
ム位相CAINCMDがその上限値#CAINLMTH
(例えば55°クランク角)以上であるか否かを判別し
(ステップ82)、CAINCMD≧#CAINLMT
Hのときには、目標カム位相CAINCMDをこの上限
値#CAINLMTHに設定する(ステップ83)。ス
テップ82の答がNOのときには、目標カム位相CAI
NCMDがその下限値#CAINLMTL(例えば2°
クランク角)以下であるか否かを判別し(ステップ8
4)、CAINCMD≦#CAINLMTLのときに
は、目標カム位相CAINCMDをこの下限値#CAI
NLMTLに設定する(ステップ85)。ステップ84
の答がNO、すなわち#CAINLMTL<CAINC
MD<#CAINLMTHのときには、目標カム位相C
AINCMDを保持する。
【0059】次いで、ステップ86および87で、前述
したクリーニング実行用の目標カム位相CAINCMD
を設定する。すなわち、ステップ86でクリーニング許
可フラグF_VTCCLNが「1」にセットされている
か否かを判別し、F_VTCCLN=0、すなわちクリ
ーニングの実行条件が成立していないときには、本プロ
グラムを終了し、目標カム位相CAINCMDを保持す
る。一方、前記ステップ86の答がYES、すなわちF
_VTCCLN=1、すなわちクリーニングの実行条件
が成立しているときには、これを実行すべく、目標カム
位相CAINCMDを前記カム位相最大値#CAINM
AXに設定し(ステップ87)、本プログラムを終了す
る。
【0060】図12および図13は、図10のステップ
73で実行される目標カム位相のマップ検索値CAIN
CMDXの算出サブルーチンを示している。まず、ステ
ップ91において、スロットル全閉フラグF_THID
LEが「0」にセットされているか否かを判別する。F
_THIDLE=0、すなわちスロットル弁31がほぼ
全閉状態にあるときには、マップ検索値CAINCMD
Xを、その最遅角位置値に近い遅角側固定値#CAIN
THID(例えば2°)に設定する。
【0061】ステップ91の答がNOのときには、スロ
ットル全開フラグF_THWOTが「1」にセットされ
ているか否かを判別する(ステップ93)。F_THW
OT=1、すなわちスロットル弁31がほぼ全開状態に
あるときには、バルブタイミングフラグF_VTEC1
が「1」にセットされているか否かを判別する(ステッ
プ94)。F_VTEC1=1、すなわちエンジン3が
Hi.V/T(高速バルブタイミング)で運転されてい
るときには、図示しないテーブルから、全開時Hi.V
/T用テーブル値#CICMD_HWを検索し、マップ
検索値CAINCMDXとして設定する(ステップ9
5)。一方、ステップ93でF_VTEC1=0のと
き、すなわちLo.V/T(低速バルブタイミング)で
運転されているときには、上記とは別個に設定された図
示しないテーブルから、全開時Lo.V/T用テーブル
値#CICMD_LWを検索し、マップ検索値CAIN
CMDXとして設定する(ステップ96)。これらのテ
ーブル値#CICMD_HW、#CICMD_LWは、
エンジン回転数NEおよびスロットル弁開度θTHに応
じ、トルク出力を重視して設定されている。
【0062】前記ステップ93の答がNO、すなわちス
ロットル弁31がほぼ全開状態にないときには、リーン
バーンフラグF_LBが「1」にセットされているか否
かを判別する(ステップ97)。F_LB=1、すなわ
ちエンジン3がリーンバーン運転されているときには、
マップ検索値CAINCMDXを値0、すなわち最遅角
状態に設定する(ステップ98)。
【0063】前記ステップ97でF_LB=0のとき、
すなわちエンジン3がストイキ運転されているときに
は、前記ステップ94と同様、バルブタイミングフラグ
F_VTEC1の判別を行う(ステップ99)。そし
て、Hi.V/T運転のときには、図示しないマップか
ら、非全開時Hi.V/T用マップ値#CICMD_H
を検索し、マップ検索値CAINCMDXとして設定す
る(ステップ100)。一方、ステップ99でLo.V
/T運転と判別されたときには、上記とは別個に設定さ
れた図示しないマップから、非全開時Lo.V/T用マ
ップ値#CICMD_Lを検索し、マップ検索値CAI
NCMDXとして設定する(ステップ101)。これら
のマップ値#CICMD_H、#CICMD_Lは、エ
ンジン回転数NEおよび吸気管内絶対圧PBAに応じ、
燃費を重視して設定されている。
【0064】以上のようにマップ検索値CAINCMD
Xを設定した後、ステップ102に進み、保持学習完了
フラグF_HODLRNOKが「1」にセットされてい
るか否かを判別する。この保持学習完了フラグF_HO
DLRNOKは、後述する図17、図18および図20
の保持デューティ学習値算出処理サブルーチンにおい
て、保持デューティ学習値DVTHLDの学習が完了し
たときに「1」にセットされるものである。ステップ1
02でF_HODLRNOK=1のとき、すなわち保持
デューティ学習値DVTHLDの学習が完了していると
きには、そのままステップ104以降に進む。一方、F
_HODLRNOK=0のとき、すなわち保持デューテ
ィ学習値DVTHLDの学習が完了していないときに
は、それまでに設定されたマップ検索値CAINCMD
Xに値1よりも小さな制限係数#KCCMDHLD(例
えば0.6)を乗算し、新たなマップ検索値CAINC
MDXとして設定した(ステップ103)後、ステップ
104以降に進む。
【0065】以上のように、保持デューティ学習値DV
THLDの学習が完了していないときに、マップ検索値
CAINCMDXを制限係数#KCCMDHLDによっ
て小さな値に制限するのは、以下の理由による。すなわ
ち、前述したように、保持デューティ値は、油圧制御弁
10を中立位置に保持するように設定された値である。
また、保持デューティ学習値DVTHLDは、後述する
ように、この保持デューティ値を学習したものであると
ともに、出力デューティ比DOUTVTのPIDフィー
ドバック制御を開始する際のI項DVIINの初期値と
して使用されるものである。したがって、このような保
持デューティ学習値DVTHLDの学習により、VTC
8および油圧制御弁10の公差や経年変化などによるず
れを適切に吸収しながら、フィードバック制御の開始時
に油圧制御弁10を中立位置に精度良く位置させること
で、ハンチングの少ない収束性の良いフィードバック制
御が達成される。
【0066】逆にいえば、保持デューティ学習値DVT
HLDの学習完了前においては、フィードバック制御の
開始時における油圧制御弁10の実際の位置が中立位置
からずれている可能性があり、その位置を初期値として
制御される実カム位相CAINも、そのずれ分に応じて
ずれてしまう。特に、このずれが進角側に生じている場
合には、バルブオーバーラップが過大となるのに伴い、
内部EGR量が過大になることで、燃焼性ひいては運転
性が悪化するおそれがある。したがって、前述したよう
に、保持デューティ学習値DVTHLDの学習が完了し
ていないときに、マップ検索値CAINCMDXに制限
係数#KCCMDHLDを乗算して、これを低減し、目
標カム位相CAINCMDを制限することによって、そ
のような不具合を確実に解消することができる。
【0067】次いで、ステップ104〜106におい
て、大気圧に応じたリミット処理を実行する。まず、ス
テップ104では、図14に一例を示すテーブルに基づ
き、大気圧PAに応じて大気圧補正係数#CLMTPA
を検索した後、これをマップ検索値CAINCMDXに
乗算し、リミット値CCMDLMTとして設定する。同
図に示すように、この大気圧補正係数#CLMTPA
は、基本的に大気圧PAが低いほどより小さな値に設定
されている。具体的には、大気圧補正係数#CLMTP
Aは、第1格子点PA1(例えば550mmHg)以下
では、1.0未満の小さな値である第1所定値CLMT
PA1(例えば0.8)に、第2格子点PA2(例えば
680mmHg)以上では、より大きな値である第2所
定値CLMTPA2(例えば1.0)に設定されてい
る。
【0068】次に、マップ検索値CAINCMDXが設
定したリミット値CCMDLMT以上であるか否かを判
別する(ステップ105)。そして、CAINCMDX
<CCMDLMTのときには、そのまま本プログラムを
終了し、マップ検索値CAINCMDXを保持する一
方、CAINCMDX≧CCMDLMTのときには、マ
ップ検索値CAINCMDXをリミット値CCMDLM
Tに設定し(ステップ106)、本プログラムを終了す
る。以上のリミット処理により、大気圧PAが低いため
に吸気管内絶対圧PBAが実際の負荷よりも低負荷側に
検出されるような運転状態において、進角のし過ぎおよ
びそれに伴う過大なバルブオーバーラップを回避できる
ことで、燃焼性の悪化を確実に防止することができる。
【0069】図15および図16は、図2のステップ4
で実行される出力デューティ比算出処理のサブルーチン
を示す。前述したように、この出力デューティ比算出処
理は、図10および図11のサブルーチンで算出した目
標カム位相CAINCMDと検出された実カム位相CA
INとに応じて、出力デューティ比DOUTVTを算出
し、そのフィードバック制御を実行するものである
【0070】まず、ステップ111において、それまで
に算出されたカム位相偏差DCAINCMD(目標カム
位相CAINCMD−実カム位相CAIN)をカム位相
偏差の前回値DCAINCMDXとしてストアする。次
いで、VTC作動許可フラグF_VTCが「1」にセッ
トされているか否かを判別する(ステップ112)。こ
の答がNO、すなわちF_VTC=0であって、VTC
制御の実行条件が成立していないときには、ステップ1
13〜118に進み、カム位相偏差DCAINCMDを
値0に設定する(ステップ113)とともに、後述する
PIDフィードバック制御のI項(積分項)DVIIN
を保持デューティ学習値DVTHLDに設定する(ステ
ップ114)。これにより、フィードバック制御を開始
する際に、保持デューティ学習値DVTHLDがI項D
VIINの初期値として使用される。
【0071】また、後述する算出デューティ値DVIN
を値0に設定する(ステップ115)。さらに、後述す
るパータベーションタイマTDVINに値0をセットし
(ステップ116)、パータベーションフラグF_DV
INPBを「0」にセットする(ステップ117)とと
もに、出力デューティ比DOUTVTを値0に設定し
(ステップ118)、本プログラムを終了する。以上に
より、VTC制御の実行条件が成立していないときは、
出力デューティ比DOUTVTが値0に設定されること
で、油圧制御弁10の作動が禁止され、カム位相CAI
Nは最遅角位置に保持される。
【0072】一方、前記ステップ112の答がYES、
すなわちF_VTC=1であって、VTC制御の実行条
件が成立しているときには、PIDフィードバック制御
を実行すべく、目標カム位相CAINCMDと実カム位
相CAINとの偏差(CAINCMD−CAIN)を今
回のカム位相偏差DCAINCMDとして算出する(ス
テップ119)。次に、P項ゲインKVP、I項ゲイン
KVIおよびD項ゲインKVDを算出する(ステップ1
20)とともに、これらを用い、次式によって、P項D
VPIN、I項DVIINおよびD項DVDINをそれ
ぞれ算出する(ステップ123)。 DVPIN←KVP*DCAINCMD DVIIN(n)←KVI*DCAINCMD+DVI
IN DVDIN←KVD*(DCAINCMD−DCAIN
CMD)
【0073】次に、I項DVIINの上限値DVTLM
TIHおよび下限値DVTLMTIHを算出する(ステ
ップ124)。この算出は、図23の積分項上下限値算
出サブルーチンによって行われる。まず、保持学習完了
フラグF_HODLRNOKが「1」にセットされてい
るか否かを判別する(ステップ211)。F_HODL
RNOK=1のとき、すなわち保持デューティ学習値D
VTHLDの学習が完了しているときには、上限値DV
TLMTIHを、学習完了時用の第1上限値として、保
持デューティ学習値DVTHLDにリミット幅#DDV
TLMI(例えば5%)を加算した値(=DVTHLD
+#DDVTLMI)に設定する(ステップ212)。
また、下限値DVTLMTILを、学習完了時用の第1
下限値として、保持デューティ学習値DVTHLDから
リミット幅#DDVTLMIを減算した値(=DVTH
LD−#DDVTLMI)に設定する(ステップ21
3)。すなわち、この場合のI項DVIINのリミット
範囲は、保持デューティ学習値DVTHLDを中心とし
て、上下同じリミット幅#DDVTLMIで設定されて
いる。
【0074】一方、ステップ211でF_HODLRN
OK=0のとき、すなわち保持デューティ学習値DVT
HLDの学習が完了していないときには、上限値DVT
LMTIHを、学習未了時用の第2上限値#DVTLM
IHW(例えば65%)に設定する(ステップ214)
とともに、下限値DVTLMTILを、学習未了時用の
第2下限値#DVTLMILW(例えば35%)に設定
する(ステップ215)。この学習未了時用の第2上限
値#DVTLMIHWは、上記学習完了時用の第1上限
値(DVTHLD+#DDVTLMI)よりもかなり大
きな値になるように設定され、また、第2下限値#DV
TLMIHWは、第1下限値(DVTHLD−#DDV
TLMI)よりもかなり小さな値になるように設定され
ており、すなわち、学習未了時におけるI項DVIIN
のリミット範囲は、学習完了時よりもかなり拡大されて
いる。上記第2上下限値を第1上下限値よりも大きくあ
るいは小さくする程度は、まず、バルブタイミング制御
装置の公差や経年変化などにより中央値が取り得る範囲
はおよそ5%程度であること(例えば中央値が50%と
すると、それにより変化する中央値の極大値は55%、
極小値は45%)、また、それらの極大値と極小値を中
心として、それぞれ進角・遅角側にI項が適切に算出さ
れかつ出力できる範囲が、極大値および極小値の各±1
0%の範囲であることを考慮して定めたものである。こ
のような設定により、公差などを吸収しながらI項の過
大化をも防止でき、併せてハンチングの抑制も達成する
ことができる。
【0075】次いで、ステップ125〜128におい
て、上記のように算出した上下限値DVTLMTIH、
DVTLMTIHを用いて、I項DVIINのリミット
処理を実行する。すなわち、I項DVIINが上限値D
VLMTIHよりも大きいか否かを判別し(ステップ1
25)、DVIIN>DVLMTIHのときには、I項
DVIINを上限値DVLMTIHに設定する(ステッ
プ126)。ステップ125の答がNOのときには、I
項DVIINが下限値DVLMTILよりも小さいか否
かを判別し(ステップ127)、DVIIN<DVLM
TILのときには、I項DVIINを下限値DVLMT
ILに設定する(ステップ128)。ステップ127の
答がNO、すなわちDVLMTIL≦DVIIN≦DV
LMTIHのときには、I項DVIINを保持する。以
上のI項DVIINのリミット処理の後、P項DVPI
N、I項DVIINおよびD項DVDINを加算して、
算出デューティ値DVINを算出する(ステップ12
9)。
【0076】以上のように、I項DVIINは、そのリ
ミット処理により、上限値DVLMTIHおよび下限値
DVLMTILで規定されるリミット範囲内に制限され
る。前述したように、保持デューティ学習値DVTHL
Dの学習が完了しているときには、このリミット範囲が
より狭い範囲に設定されているので、I項DVIINの
過成長を防止できる。また、前述したように、保持デュ
ーティ学習値DVTHLDはフィードバック制御開始時
のI項DVIINの初期値として使用されるとともに、
I項DVIINのリミット範囲が保持デューティ学習値
DVTHLDを中心として上下同じリミット幅で設定さ
れているので、I項DVIINをリミット範囲の中心に
位置させた状態でフィードバック制御を開始でき、I項
DVIINを上下バランス良く制限できる。したがっ
て、保持デューティ学習値DVTHLDの学習が完了し
ている状態において、ハンチングの少ない収束性の良好
なフィードバック制御を達成することができる。
【0077】一方、保持デューティ学習値DVTHLD
の学習が完了していないときには、リミット範囲が拡大
して設定されている。したがって、学習が完了していな
いために、I項DVIINがリミット範囲の一方の側に
かたよった状態でフィードバック制御が開始され、かつ
カム位相偏差DCAINCMDが大きいことで、I項D
VIINをその一方の側に大きく変化させることが必要
な場合でも、I項DVIINを不必要に制限することな
く適切に設定できる。その結果、実カム位相CAINを
目標カム位相CAINCMDに迅速に近づけることがで
き、保持デューティ学習値DVTHLDの学習が完了し
ていない場合のフィードバック制御の応答性を確保する
ことができる。
【0078】次いで、ステップ130〜139において
パータベーション処理を実行する。このパータベーショ
ン処理は、油圧制御弁10が保持状態にあるときの作動
油の漏れなどに起因するVTC8の進角室および遅角室
の油圧低下によるカム位相保持力の低下を防止するため
に、油圧制御弁10を中立位置を中心として進角側と遅
角側に交互に往復動(強制振動)させることによって、
VTC8の進角室および遅角室に油圧を供給するもので
ある。
【0079】まず、エンジン水温TWがその上限値#T
WDVPB(例えば100℃)よりも高いか否かを判別
する(ステップ130)。TW≦#TWDVPBのとき
には、作動油温がそれほど高くなく、その高温化による
油圧低下のおそれがないとして、パータベーション処理
は実行せず、ステップ140に進み、出力デューティ比
DOUTVTを、ステップ129で算出した算出デュー
ティ値DVINに設定する。前記ステップ130の答が
YES、すなわちTW>#TWDVPBのときには、算
出デューティ値DVINが、その下限値#DVIPBL
(例えば45%)以上でかつ上限値#DVIPBH(例
えば60%)以下であるか否かを判別する(ステップ1
31)。この判別は、算出デューティ値DVINが油圧
制御弁10を保持状態にするような値になっているか否
かを判別するためのものである。したがって、このステ
ップ131の答がNO、すなわちDVIN<#DVIP
BLまたはDVIN>#DVIPBHのときには、パー
タベーション処理は実行すべき条件にないとして、前記
ステップ140に進む。
【0080】一方、前記ステップ131の答がYES、
すなわち#DVIPBL≦DVIN≦#DVIPBHの
ときには、パータベーション処理の実行条件が成立した
として、ステップ132以降でこれを実行する。まず、
パータベーションタイマのタイマ値TDVINが値0で
あるか否かを判別する(ステップ132)。このパータ
ベーションタイマTDVINは、前記ステップ116に
おいて、VTC制御の実行条件外で値0にセットされて
いて、ステップ132の最初の答がYESになるので、
次にステップ133に進み、パータベーションタイマT
DVINに所定時間#TMDVPB(例えば0.1秒)
をセットする。次いで、パータベーションフラグF_D
VINPBが「1」にセットされているか否かを判別す
る(ステップ134)。このパータベーションフラグF
_DVINPBもまた、前記ステップ117で「0」に
セットされていて、ステップ134の最初の答はNOと
なるので、次にステップ135に進み、パータベーショ
ンフラグF_DVINPBを「1」にセットする。ステ
ップ134の答がYESのときには、逆に「0」にセッ
トする(ステップ136)。すなわち、パータベーショ
ンフラグF_DVINPBは、所定時間#TMDVPB
ごとに「1」「0」間で反転される。
【0081】前記ステップ135または136に続くス
テップ137では、パータベーションフラグF_DVI
NPBにセットされているか否を判別し、F_DVIN
PB=1のときには、算出デューティ値DVINに加算
量#DVINPBP(例えば5%)を加算した値を、出
力デューティ比DOUTVTとして設定する(ステップ
138)。一方、ステップ137でF_DVINPB=
0のときには、算出デューティ値DVINから、加算量
#DVINPBPと同一値の減算量#DVINPBM
(例えば5%)を減算した値を、出力デューティ比DO
UTVTとして設定する(ステップ138)。
【0082】以上のパータベーション処理により、その
実行条件が成立している限り、算出デューティ値DVI
Nに対する、加算量#DVINPBPの加算と、減算量
#DVINPBMの減算とが、所定時間#TMDVPB
の周期で交互に実行される。その結果、油圧制御弁10
が保持状態にあるときに作動油圧を強制的に補充するこ
とで、VTC8の油圧低下によるカム位相保持力の低下
が防止され、油圧制御弁10が中立位置に確実に保持さ
れる。なお、上記の例では、加算量#DVINPBPと
減算量#DVINPBMが同じ値に設定されているが、
カム反力による遅角側への吸気カム6aの戻り傾向を補
償するために、加算量#DVINPBPを減算量#DV
INPBMよりも大きな値に設定することも可能であ
る。
【0083】次いで、前記ステップ138、139また
は140に続くステップ141では、前述したクリーニ
ング許可フラグF_VTCCLNが「1」にセットされ
ているか否かを判別する。F_VTCCLN=1、すな
わちクリーニングの実行条件が成立しているときには、
これを実行すべく、出力デューティ比DOUTVTをそ
の上限値#DVLMTH(例えば90%)に設定し(ス
テップ142)、本プログラムを終了する。
【0084】一方、ステップ141でF_VTCCLN
=0のときには、出力デューティ比DOUTVTのリミ
ット処理を実行する。すなわち、出力デューティ比DO
UTVTが前記上限値#DVLMTHよりも大きいか否
かを判別し(ステップ143)、DOUTVT>#DV
LMTHのときには、前記ステップ142に進み、出力
デューティ比DOUTVTを上限値#DVLMTHに設
定する。ステップ143の答がNOのときには、出力デ
ューティ比DOUTVTがその下限値#DVLMTL
(例えば10%)よりも小さいか否かを判別し(ステッ
プ144)、DOUTVT<#DVLMTLのときに
は、出力デューティ比DOUTVTを下限値#DVLM
TLに設定する(ステップ145)。ステップ144の
答がNO、すなわち#DVLMTL≦DOUTVT≦#
DVLMTHのときには、出力デューティ比DOUTV
Tを保持し、本プログラムを終了する。
【0085】図17および図18は、図2のステップ5
で実行される保持デューティ学習値算出処理のサブルー
チンを示す。前述したように、この保持デューティ学習
値算出処理は、VTC8や油圧制御弁10のハード面の
ばらつきなどから生じる保持デューティ値のずれを吸収
するために、その学習を行い、保持デューティ学習値D
VTHLDとして算出するものであり、算出された保持
デューティ学習値は、フィードバック制御開始時のI項
DVIINの初期値として用いられる。
【0086】まず、ステップ151において、VTC作
動許可フラグF_VTCが「1」にセットされているか
否かを判別する。この答がNO、すなわちVTC制御の
実行条件が成立していないときには、実カム位相偏差算
出タイマTCAHLDに所定時間#TMCAHLD(例
えば0.5秒)をセットし(ステップ152)、そのと
きの実カム位相CAINをその前回値CAINXとして
ストアする(ステップ153)とともに、学習実行ディ
レイタイマTHLDDLYに所定時間#TMHLDDL
Y(例えば2秒)をセットし(ステップ154)、本プ
ログラムを終了する。
【0087】前記ステップ151でF_VTC=1、す
なわちVTC制御の実行条件が成立しているときには、
ステップ155〜158において、保持デューティ学習
の実行条件が成立しているか否かを判定する。この判定
は、油圧制御弁10が保持デューティ学習を実行可能な
安定した保持状態にあるか否かを判定するものである。
すなわち、エンジン水温TWが、その下限値#TWCA
HLDL(例えば80℃)と上限値#TWCAHLDH
(例えば110℃)の間にあるか否か(ステップ15
5)、エンジン回転数NEが、その下限値#NECAH
LDL(例えば1000rpm)と上限値#NECAH
LDH(例えば4000rpm)の間にあるか否か(ス
テップ156)、カム位相偏差の絶対値|DCAINC
MD|がその判定値#DCACMHLD(例えば3°)
より小さいか否か(ステップ157)、および、実カム
位相の今回値CAINと前回値CAINXの偏差の絶対
値|CAIN−CAINX|がその判定値#DCAHL
D(例えば1°)以下であるか否か(ステップ158)
をそれぞれ判別する。これらの答のいずれかがNOのと
きには、油圧制御弁10が安定した保持状態になく、保
持デューティ学習の実行条件が成立していないとして、
前記ステップ152〜154を実行し、本プログラムを
終了する。
【0088】一方、前記ステップ155〜158の答が
すべてYES、すなわちエンジン水温TWおよびエンジ
ン回転数NEがそれぞれの所定範囲内にあり、カム位相
偏差DCAINCMDおよび実カム位相CAINの変動
量が小さいときには、油圧制御弁10が安定した保持状
態にあり、保持デューティ学習の実行条件が成立してい
ると判定する。
【0089】次いで、実カム位相偏差算出タイマのタイ
マ値TCAHLDが値0であるか否かを判別する(ステ
ップ159)。この答がNOのときには、そのまま本プ
ログラムを終了する一方、TCAHLD=0のときに
は、再度、実カム位相偏差算出タイマTCAHLDに所
定時間#TMCAHLDをセットする(ステップ16
0)とともに、実カム位相の前回値CAINXをそのと
きの実カム位相CAINに更新する(ステップ16
1)。すなわち、実カム位相偏差算出タイマTCAHL
Dは、前記ステップ155〜158がクリアされただけ
では、実カム位相CAINが移行中である可能性がある
ことから、そのような状態で学習が実行されるのを排除
するために、実カム位相CAINが明らかに安定した位
置に保持されていることを確認するための待ちタイマで
ある。次に、学習実行ディレイタイマのタイマ値THL
DDLYが値0であるか否かを判別し(ステップ16
2)、この答がNOのときには、そのまま本プログラム
を終了する一方、THLDDLY=0のときには、ステ
ップ163に進み、保持デューティ学習値DVTHLD
の算出を行う。
【0090】以上のように、保持デューティ学習の実行
条件の成立後、学習実行ディレイタイマTHLDDLY
で計時される所定時間#TMHLDDLYが経過するま
では、実カム位相偏差算出タイマTCAHLDで計時さ
れる各所定時間#TMCAHLDの間、実カム位相の前
回値CAINXが実カム位相CAINに保持され、その
ように保持された実カム位相の前回値CAINXを用い
て、ステップ158において実カム位相CAINの変動
度合が判別される。これにより、前回値CAINXを基
準として所定時間#TMCAHLD内の全期間にわたる
実カム位相CAINの変動量を算出でき、その安定性を
適切に判定することができる。また、油圧制御弁10の
安定した保持状態が所定時間#TMHLDDLY以上、
継続したときに初めて、保持デューティ学習値DVTH
LDを算出し、更新するので、その学習を適切に精度良
く行うことができる。
【0091】次いで、ステップ163において、保持デ
ューティ学習値DVTHLDを次式によって算出する。 DVTHLD= #CVTHLD×DVIN/256+
(256−#CVTHLD)×DVTHLD/256 ここで、#CVTHLDはなまし係数であり、例えば
0.5に設定される。また、算出された保持デューティ
学習値DVTHLDは、バックアップRAMに記憶され
るとともに、バッテリキャンセル時に初期値#DVTH
LDIN(例えば50%)にセットされる。
【0092】次に、算出した保持デューティ学習値DV
THLDのリミット処理を行う(ステップ164)。図
19はそのサブルーチンを示している。他の変数のリミ
ット処理と同様、まず保持デューティ学習値DVTHL
Dがその下限値#DVTHLDL(例えば40%)より
も小さいか否かを判別し(ステップ171)、DVTH
LD<#DVTHLDLのときには、保持デューティ学
習値DVTHLDを下限値#DVTHLDLに設定する
(ステップ172)。ステップ171の答がNOのとき
には、保持デューティ学習値DVTHLDがその上限値
#DVTHLDH(例えば60%)よりも大きいか否か
を判別し(ステップ173)、DVTHLD>#DVT
HLDHのときには、保持デューティ学習値DVTHL
Dを上限値#DVTHLDHに設定する(ステップ17
4)。ステップ173の答がNO、すなわち#DVTH
LDL≦DVTHLD≦#DVTHLDHのときには、
保持デューティ学習値DVTHLDを保持し、本プログ
ラムを終了する。
【0093】図18に戻り、前記ステップ164に続く
ステップ165において、保持デューティ学習が完了し
たか否を判定する判定処理を実行した後、本プログラム
を終了する。図20はそのサブルーチンを示している。
なお、この判定処理で設定された保持学習完了フラグF
_HLDLRNOKは、バックアップRAMに記憶され
るとともに、バッテリキャンセル時には「0」にリセッ
トされるものである。まず、ステップ181において、
保持学習完了フラグF_HLDLRNOKが「1」にセ
ットされているか否かを判別する。F_HLDLRNO
K=0のときには、学習更新回数NCAHLDに値1を
加算する(ステップ182)。以降、ステップ108の
実行ごとに、すなわち保持デューティ学習値DVTHL
Dが更新されるごとに、学習更新回数NCAHLDに値
1が加算される。なお、この学習更新回数NCAHLD
もまた、バッテリキャンセル時には「0」にリセットさ
れる。
【0094】次いで、学習更新回数NCAHLDが所定
回数#NHLDOK(例えば20回)以上になったか否
かを判別する(ステップ183)。NCAHLD<#N
HLDOKのときには、本プログラムを終了する一方、
NCAHLD≧#NHLDOKのとき、すなわち保持デ
ューティ学習値DVTHLDの学習更新回数が所定回数
#NHLDOKに達したときには、その学習が十分に行
われ、完了したとして、保持学習完了フラグF_HLD
LRNOKを「1」にセットし(ステップ184)、本
プログラムを終了する。その後は、前記ステップ181
の答がNOとなり、そのまま本プログラムを終了するこ
とで、保持学習完了フラグF_HLDLRNOKは
「1」に保持される。設定された保持学習完了フラグF
_HLDLRNOKは、前述したように、図13のステ
ップ102において、保持デューティ学習完了の判別に
用いられる。
【0095】図21および図22は、図2のステップ6
で実行される零点学習値算出処理のサブルーチンを示
す。前述したように、この零点学習値算出処理は、実カ
ム位相CAINを算出するためのカム角センサ28の出
力角度CASVINの零点のずれを吸収するために、V
TC停止時、最遅角状態にあるときの出力角度CASV
INを零点として学習し、零点学習値CAINZPとし
て算出するものである。算出された零点学習値CAIN
ZPは、例えば実カム位相CAINの算出に用いられ、
その場合、前述した出力角度CASVINとカム位相C
AINとの関係から、実カム位相CAINは、CAIN
=CASVIN−CAINZPで求められる。
【0096】この算出処理ではまず、指定のフェールセ
ーフ(F/S)を表す信号が検知されているか否かを判
別し(ステップ191)、検知されているときには零点
学習を禁止し、本プログラムを終了する。ステップ19
1の答がNOのときには、始動後の経過時間を計時する
始動後禁止タイマのタイマ値TM01ACRが、所定時
間#TMZPAST(例えば10秒)よりも大きいか否
かを判別する(ステップ192)。この答がNO、すな
わちTM01ACR≦#TMZPASTのときには、始
動後の経過時間が短く、エンジン3の運転状態が安定し
ていないとして、零点学習を禁止し、本プログラムを終
了する。ステップ192の答がYESのときには、VT
C制御実行条件判定処理(図4)で設定されるVTC作
動不能フラグF_VTCSTPが「1」にセットされて
いるか否かを判別する(ステップ193)。F_VTC
STP=1のときには、VTC8が作動できない状態に
あるので、零点学習を禁止し、本プログラムを終了す
る。
【0097】一方、ステップ193でF_VTCSTP
=0のときには、上記3つの条件がクリアされ、零点学
習の基本的な条件が成立しているとして、次いで、零点
算出周期タイマのタイマ値TIZPが値0であるか否か
を判別する(ステップ194)。この答がYESのとき
には、零点算出周期タイマTIZPに所定時間#TMI
NZP(例えば0.1秒)をセットする(ステップ19
5)。前記ステップ194の答がNO、すなわち零点算
出周期タイマTIZPのセット後、所定時間#TMIN
ZPが経過していないときには、本プログラムを終了す
る。
【0098】前記ステップ195に続くステップ196
では、VTC作動許可フラグF_VTCが「1」にセッ
トされているか否かを判別する。F_VTC=1のと
き、すなわちVTC8が作動中のときには、最遅角移行
待ちタイマTZPDLYに所定時間#TMZPDLY
(例えば0.3秒)をセットする(ステップ197)と
ともに、学習実行ディレイタイマTCAINZPに所定
時間#TCAINZP(例えば10秒)をセットした
(ステップ198)後、後述するステップ207に進
む。なお、この学習実行ディレイタイマTCAINZP
は、イグニッションスイッチON時にも、所定時間#T
CAINZPにセットされる。
【0099】前記ステップ196の答がNO、すなわち
F_VTC=0であって、VTC8が停止中のときに
は、前記ステップ197でセットした最遅角移行待ちタ
イマのタイマ値TZPDLYが値0であるか否かを判別
する(ステップ199)。この答がNO、すなわちVT
C8の停止後、所定時間#TMZPDLYが経過してい
ないときには、VTC8が、その移行遅れにより最遅角
位置に達していない可能性があるため、零点学習は実行
せず、前記ステップ198に進む。前記ステップ199
の答がYES、すなわちVTC8の停止後、所定時間#
TMZPDLYが経過したときには、エンジン回転数N
Eがその下限値#NCAINZPL(例えば500rp
m)以上であるか否か(ステップ200)、およびエン
ジン回転数NEの変動量DNEがその上限値#DNEI
NZP(例えば10rpm)よりも小さいか否か(ステ
ップ201)をそれぞれ判別する。両ステップ200、
201の答のいずれかがNOのときには、前記ステップ
198に進む。一方、両ステップ200、201の答が
ともにYESのとき、すなわちエンジン回転数NEが低
くなく、かつその変動量DNEが小さいときには、零点
学習の実行条件が成立しているとして、ステップ202
に進む。
【0100】このステップ202では、カム角センサ2
8の出力角度CASVINが、その中央値CAINZI
DXと更新下限幅#CAINXDLL(例えば2°)と
の差(CAINZIDX−#CAINXDLL)以上
で、かつ中央値CAINZIDXと更新上限幅#CAI
NXDUL(例えば2°)との和(CAINZIDX+
#CAINXDUL)以下であるか否かを判別する(以
下、上記で規定される範囲を「更新リミット範囲」とい
う)。なお、中央値CAINZIDXは、イグニッショ
ンON時、バックアップRAMに記憶されていた零点学
習値CAINZPにセットされる。ステップ202の答
がNO、すなわち出力角度CASVINが上記更新リミ
ット範囲から外れているときには、前記ステップ198
と同様、学習実行ディレイタイマTCAINZPに所定
時間#TCAINZPをセットする(ステップ203)
とともに、中央値CAINZIDXをそのときの出力角
度CASVINに設定し、更新した(ステップ204)
後、後述するステップ207に進む。
【0101】一方、前記ステップ202の答がYES、
すなわち出力角度CASVINが更新リミット範囲内に
あるときには、学習実行ディレイタイマのタイマ値TC
AINZPが値0であるか否かを判別する(ステップ2
05)。この答がNO、すなわちTCAINZP=0で
ないときには、後述するステップ207に進む一方、Y
ESのときには、零点学習値CAINZPをそのときの
中央値CAINZIDXに設定し、更新する(ステップ
206)。このように、出力角度CASVINが更新リ
ミット範囲から外れたときに、そのCASVIN値を中
央値CAINZIDXとして随時、更新するとともに、
出力角度CASVINが更新リミット範囲内にある状態
が所定時間#TCAINZP以上、継続したときに初め
て、零点学習値CAINZPを算出し、更新するので、
その学習を適切に精度良く行うことができる。なお、算
出した零点学習値CAINZPは、バックアップRAM
に記憶されるとともに、バッテリキャンセル時、その初
期値#CAINZPS(例えば25°)にセットされ
る。
【0102】次に、ステップ207〜210において、
算出した零点学習値CAINZPのリミット処理を行
う。まず、零点学習値CAINZPが、上記初期値#C
AINZPSとリミット補正項#DCAINZP(例え
ば5°)との和(#CAINZPS+#DCAINZ
P)以上であるか否かを判別し(ステップ207)、そ
の答がYESのときには、零点学習値CAINZPを上
記和に設定する(ステップ208)。ステップ207の
答がNOのときには、零点学習値CAINZPが、初期
値#CAINZPSとリミット補正項#DCAINZP
との差(#CAINZPS−#DCAINZP)以下で
あるか否かを判別し(ステップ209)、その答がYE
Sのときには、零点学習値CAINZPを上記差に設定
する(ステップ210)。ステップ209の答がNOの
ときには、零点学習値CAINZPを保持し、本プログ
ラムを終了する。以上のリミット処理により、零点学習
値CAINZPは、初期値#CAINZPSを中心とす
る片側#DCAINZPの範囲内で算出される。
【0103】以上のように、本実施形態によれば、図1
7および図18の保持デューティ学習値算出処理におい
て、所定の学習条件が成立したときに保持デューティ学
習値DVTHLDを算出するとともに、算出した保持デ
ューティ学習値DVTHLDは、フィードバック制御開
始時のI項DVIINの初期値として使用される(図1
5のステップ114、123)。また、保持デューティ
学習値DVTHLDの学習が完了しているときには、I
項DVIINのリミット範囲が保持デューティ学習値D
VTHLDを中心として上下同じ狭いリミット幅で設定
される。したがって、I項DVIINをリミット範囲の
中心に位置させた状態でフィードバック制御を開始で
き、狭い範囲で上下バランス良く制限できる。その結
果、保持デューティ学習値DVTHLDの学習が完了し
ている状態において、ハンチングの少ない収束性の良好
なフィードバック制御を達成することができる。
【0104】また、保持デューティ学習値DVTHLD
の学習が完了していないときには、リミット範囲が拡大
して設定されるので、学習が完了していないために、I
項DVIINがリミット範囲の一方の側にかたよった状
態でフィードバック制御が開始され、かつカム位相偏差
DCAINCMDが大きいことで、I項DVIINをそ
の一方の側に大きく変化させることが必要な場合でも、
I項DVIINを不必要に制限することなく適切に設定
できる。その結果、実カム位相CAINを目標カム位相
CAINCMDに迅速に近づけることができ、保持デュ
ーティ学習値DVTHLDの学習が完了していない場合
のフィードバック制御の応答性を確保することができ
る。
【0105】なお、本発明は、説明した実施形態に限定
されることなく、種々の態様で実施することができる。
例えば、実施形態で説明した保持デューティ学習値の学
習完了の判定方法などは、あくまで例示であり、他の適
当な手段を採用することが可能である。また、実施形態
は、吸気カム位相を可変としたバルブタイミング制御装
置に本発明を適用した例であるが、本発明は、排気カム
位相を可変としたものに適用できることは、もちろんで
ある。
【0106】
【発明の効果】以上のように、本発明の内燃機関のバル
ブタイミング制御装置は、収束性の良いカム位相のフィ
ードバック制御を達成できるとともに、カム位相を変更
するための制御値の学習値が完了していない場合の応答
性を確保することができるなどの効果を有する。
【図面の簡単な説明】
【図1】本発明の一実施形態による内燃機関のバルブタ
イミング制御装置の概略構成図である。
【図2】図1の制御装置によるVTC制御のメインフロ
ーである。
【図3】図2のVTC制御実行条件判定処理のサブルー
チンのフローチャートである。
【図4】図3の残りの部分のフローチャートである。
【図5】図3で用いられるVTC制御開始判定用の水温
テーブルの一例である。
【図6】図3で用いられるVTC制御開始判定用のTD
C数積算値テーブルの一例である。
【図7】図3で用いられるTDC数積算値の算出サブル
ーチン、およびその代替としての要求燃料量積算値の算
出サブルーチンである。
【図8】図4で用いられる下限エンジン回転数テーブル
の一例である。
【図9】図2のクリーニング実行条件判定処理のサブル
ーチンのフローチャートである。
【図10】図2の目標カム位相算出処理のサブルーチン
のフローチャートである。
【図11】図10の残りの部分のフローチャートであ
る。
【図12】図10で実行される目標カム位相のマップ検
索値の算出処理サブルーチンのフローチャートである。
【図13】図12の残りの部分のフローチャートであ
る。
【図14】図13で用いられる大気圧リミット値テーブ
ルの一例である。
【図15】図2の出力デューティ比算出処理のサブルー
チンのフローチャートである。
【図16】図15の残りの部分のフローチャートであ
る。
【図17】図2の保持デューティ学習値算出処理のサブ
ルーチンのフローチャートである。
【図18】図17の残りの部分のフローチャートであ
る。
【図19】図18で実行される保持デューティ学習値の
リミット処理サブルーチンのフローチャートである。
【図20】図18で実行される保持学習完了フラグの設
定処理サブルーチンのフローチャートである。
【図21】図2の零点学習値算出処理のサブルーチンの
フローチャートである。
【図22】図21の残りの部分のフローチャートであ
る。
【図23】図15の積分項上下限値算出サブルーチンの
フローチャートである。
【符号の説明】
1 制御装置(バルブタイミング制御装置) 2 ECU(実カム位相検出手段、目標カム位相設定手
段、フィードバック制御手段、学習値算出手段、積分項
初期値設定手段、学習完了判定手段、積分項上下限値設
定手段) 3 エンジン(内燃機関) 4 吸気バルブ 5 排気バルブ 6a 吸気カム 7a 排気カム 8 カム位相可変機構 9 クランクシャフト 10 油圧制御弁 28 カム角センサ(実カム位相検出手段) 29 クランク角センサ(実カム位相検出手段) CAIN 実カム位相 CAINCMD 目標カム位相 DOUTVT 油圧制御弁への出力デューティ比(制御
値) DVTHLD 保持デューティ学習値(学習値) DVIIN 積分項 NCAHLD 学習更新回数 #NHLDOK 所定回数 F_HLDLRNOK 保持学習完了フラグ DVTLMTIH 第1上限値(DVTHLD+#DD
VTLMI) DVTLMTIL 第1下限値(DVTHLD−#DD
VTLMI) #DVTLMIHW 第2上限値 #DVTLMILW 第2下限値
フロントページの続き (72)発明者 古川 智也 埼玉県和光市中央1丁目4番1号 株式会 社本田技術研究所内 Fターム(参考) 3G016 AA08 AA19 BA36 DA01 DA22 GA06 3G018 AB02 BA09 BA24 CA18 FA06 FA07 GA03 3G084 BA23 DA05 EB14 EB17 FA38 3G092 AA11 DA04 DG01 EC01 EC05 FA03 HA13X HE03X 3G301 HA19 JA03 ND06 ND25 PE03A PE10A

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 クランクシャフトに対する吸気カムおよ
    び排気カムの少なくとも一方の位相であるカム位相を変
    更することにより、バルブタイミングを制御する内燃機
    関のバルブタイミング制御装置であって、 カム位相を検出する実カム位相検出手段と、 運転状態に応じて目標カム位相を設定する目標カム位相
    設定手段と、 前記カム位相を変更するための制御値を前記実カム位相
    が前記目標カム位相になるようにフィードバック制御す
    るフィードバックバック制御手段と、 所定の学習条件が成立しているときに、前記制御値を学
    習し、学習値として算出する学習値算出手段と、 前記算出された学習値を前記フィードバック制御の積分
    項の初期値として設定する積分項初期値設定手段と、 前記学習値算出手段による前記制御値の学習が完了して
    いるか否かを判定する学習完了判定手段と、 当該学習完了判定手段により前記制御値の学習が完了し
    ていると判定されたときに、前記積分項のリミット範囲
    を規定する第1上下限値を前記学習値に基づいて設定す
    るとともに、前記制御値の学習が完了していないと判定
    されたときに、前記第1上下限値よりも大きなリミット
    範囲を規定する第2上下限値を設定する積分項上下限値
    設定手段と、 を備えていることを特徴とする内燃機関のバルブタイミ
    ング制御装置。
JP2000043383A 2000-02-21 2000-02-21 内燃機関のバルブタイミング制御装置 Withdrawn JP2001234764A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000043383A JP2001234764A (ja) 2000-02-21 2000-02-21 内燃機関のバルブタイミング制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000043383A JP2001234764A (ja) 2000-02-21 2000-02-21 内燃機関のバルブタイミング制御装置

Publications (1)

Publication Number Publication Date
JP2001234764A true JP2001234764A (ja) 2001-08-31

Family

ID=18566307

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000043383A Withdrawn JP2001234764A (ja) 2000-02-21 2000-02-21 内燃機関のバルブタイミング制御装置

Country Status (1)

Country Link
JP (1) JP2001234764A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007122876A1 (en) * 2006-03-31 2007-11-01 Toyota Jidosha Kabushiki Kaisha Variable valve timing apparatus and control method thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007122876A1 (en) * 2006-03-31 2007-11-01 Toyota Jidosha Kabushiki Kaisha Variable valve timing apparatus and control method thereof
CN101415910B (zh) * 2006-03-31 2011-06-08 丰田自动车株式会社 可变气门正时设备及其控制方法
US8165778B2 (en) 2006-03-31 2012-04-24 Toyota Jidosha Kabushiki Kaisha Variable valve timing apparatus and control method thereof

Similar Documents

Publication Publication Date Title
JP4316635B2 (ja) 内燃機関の制御装置
JP2001254638A (ja) 内燃機関のバルブタイミング制御装置
US7748357B2 (en) Control apparatus and control method for a variable valve timing mechanism
JP2007009705A (ja) エンジンの制御装置
JP3616320B2 (ja) 内燃機関の点火時期制御装置
WO2011104885A1 (ja) 内燃機関の制御装置
JP2007100522A (ja) 内燃機関のegr制御装置
US6655345B2 (en) Valve timing controller, valve timing control method and engine control unit for internal combustion engine
JP2003083131A (ja) 内燃機関のバルブタイミング制御装置
JPH09209895A (ja) 内燃機関の点火時期制御装置
JP4525406B2 (ja) 内燃機関のバルブ特性制御装置
JP2001234765A (ja) 内燃機関のバルブタイミング制御装置
JP4660532B2 (ja) 内燃機関の制御装置
JP2002122038A (ja) 内燃機関の燃料噴射制御装置
JP2009250055A (ja) 内燃機関の内部egr制御装置
JP3454082B2 (ja) 内燃機関の燃料噴射制御装置
JP5321559B2 (ja) 内燃機関の燃料噴射制御装置
JP2001234764A (ja) 内燃機関のバルブタイミング制御装置
JP5638657B2 (ja) 車両用内燃機関のバルブタイミング制御装置
JP3771101B2 (ja) 内燃機関の制御装置
JP4849475B2 (ja) 火花点火式内燃機関の点火時期制御装置
JP2003035167A (ja) 内燃機関の可変バルブ制御装置
JP3878169B2 (ja) 内燃機関の制御装置
JP3219153B2 (ja) バルブタイミング制御装置
JP4310013B2 (ja) 内燃機関の制御装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070501