(57)【要約】【課題】  可変作用角機構の異常を高精度に検出できるとともにノッキングの発生を抑制できる可変作用角機構の異常判定装置を提供する。【解決手段】  本発明に係る可変作用角機構の異常判定装置（７０）は、エンジン負荷に基づいて、制御シャフト（１３）の移動速度が通常時の移動速度に比較して遅い速度に切替えられた場合のノッキング発生の難易をあらかじめ判定するノッキング判定手段と、ノッキングが発生し難いと判定された場合に、制御シャフトの移動速度を遅い速度に切替える移動速度切替手段と、移動速度が切替えられた場合に、可変作用角機構（１０）の異常判定の基準となる基準作用角を更新する学習処理を行う学習手段と、ＯＢＤセンサ（４０）の出力と制御センサ（３０）の出力と更新後の基準作用角とに基づいて可変作用角機構の異常の有無を判定する異常判定手段と、を備えることを特徴とするものである。【選択図】    図１
2010013955.tif 000002
【特許請求の範囲】
【請求項１】
アクチュエータの制御量に応じて制御シャフトが軸方向に移動することによって吸気弁の作用角を変更する可変作用角機構の異常判定装置であって、
エンジン負荷に基づいて、前記制御シャフトの移動速度が通常時の移動速度に比較して遅い速度に切替えられた場合のノッキング発生の難易をあらかじめ判定するノッキング判定手段と、
前記ノッキングが発生し難いと判定された場合に、前記制御シャフトの移動速度を前記遅い速度に切替える移動速度切替手段と、
前記移動速度が切替えられた場合に、前記アクチュエータの制御量を検出する制御センサの出力と前記制御シャフトの軸方向の位置を検出するＯＢＤセンサの出力とに基づいて前記可変作用角機構の異常判定の基準となる基準作用角を更新する学習処理を行う学習手段と、
前記ＯＢＤセンサの出力と前記制御センサの出力と前記更新後の基準作用角とに基づいて前記可変作用角機構の異常の有無を判定する異常判定手段と、を備えることを特徴とする可変作用角機構の異常判定装置。
【請求項２】
前記移動速度切替手段が前記移動速度を切替える場合にはスロットル弁の開度を変化させることによって吸入空気量を制御し、前記移動速度切替手段が前記移動速度を切替えない場合には前記吸気弁の作用角を変化させることによって前記吸入空気量を制御する吸入空気量制御手段をさらに備える請求項１記載の可変作用角機構の異常判定装置。
【請求項３】
前記学習手段は、前記ノッキングが発生し易いと判定された場合には、さらに前記基準作用角の更新量を変更した後に前記学習処理を行う請求項１または２に記載の可変作用角機構の異常判定装置。
【請求項４】
前記ノッキング判定手段は、さらに燃料中のアルコールの濃度に基づいて前記ノッキング発生の難易を判定する請求項１〜３のいずれか１項に記載の可変作用角機構の異常判定装置。
【請求項５】
アクチュエータの制御量に応じて制御シャフトが軸方向に移動することによって吸気弁の作用角を変更する可変作用角機構の異常判定装置であって、
ノッキングが発生し難い目標ＶＶＴ変位角を算出し、前記目標ＶＶＴ変位角になるように前記吸気弁の閉じタイミングを制御するＶＶＴ制御手段と、
前記目標ＶＶＴ変位角の制御が行われた後に、前記アクチュエータの制御量を検出する制御センサの出力と前記制御シャフトの軸方向の位置を検出するＯＢＤセンサの出力とに基づいて前記可変作用角機構の異常判定の判定基準となる基準作用角を更新する学習処理を行う学習手段と、
前記ＯＢＤセンサの出力と前記制御センサの出力と前記更新後の基準作用角とに基づいて前記可変作用角機構の異常の有無を判定する異常判定手段と、を備えることを特徴とする可変作用角機構の異常判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は可変作用角機構の異常判定装置に関する。
【背景技術】
【０００２】
従来、エンジンの吸気弁の作用角を変更する可変作用角機構が知られている。可変作用角機構は、ＥＣＵによって制御されたアクチュエータの制御量に応じて制御シャフトが軸方向に移動することによって吸気弁の作用角を変更している（例えば特許文献１参照）。
【０００３】
【特許文献１】特開２００７−１８２８６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
可変作用角機構に用いられるＥＣＵは、アクチュエータの制御量を検出する制御センサの出力によって吸気弁の作用角を認識している。ここで、実際の作用角がＥＣＵの指令値に一致しない場合には、エミッション等が悪化するおそれがある。近年のＯＢＤ（Ｏｎ−Ｂｏａｒｄ  Ｄｉａｇｎｏｓｔｉｃ）規制においては、僅かなエミッション悪化を生じるに過ぎない異常であっても、その異常を自動的に診断することが要求されている。一方で、ＥＣＵが異常を自動的に診断する場合に、ノッキングが発生するおそれもある。
【０００５】
本発明は、可変作用角機構の異常を高精度に検出できるとともにノッキングの発生を抑制できる可変作用角機構の異常判定装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る第１の可変作用角機構の異常判定装置は、アクチュエータの制御量に応じて制御シャフトが軸方向に移動することによって吸気弁の作用角を変更する可変作用角機構の異常判定装置であって、エンジン負荷に基づいて、制御シャフトの移動速度が通常時の移動速度に比較して遅い速度に切替えられた場合のノッキング発生の難易をあらかじめ判定するノッキング判定手段と、ノッキングが発生し難いと判定された場合に、制御シャフトの移動速度を遅い速度に切替える移動速度切替手段と、移動速度が切替えられた場合に、アクチュエータの制御量を検出する制御センサの出力と制御シャフトの軸方向の位置を検出するＯＢＤセンサの出力とに基づいて可変作用角機構の異常判定の基準となる基準作用角を更新する学習処理を行う学習手段と、ＯＢＤセンサの出力と制御センサの出力と更新後の基準作用角とに基づいて可変作用角機構の異常の有無を判定する異常判定手段と、を備えることを特徴とするものである。
【０００７】
ＯＢＤセンサの出力と実作用角（実際の作用角）との関係には、可変作用角機構の構成部品やＯＢＤセンサが取り付けられる部品の設計公差等の影響により、可変作用角機構の個体毎にばらつきが生じ得る。そこで、本発明に係る第１の可変作用角機構の異常判定装置によれば、制御センサの出力とＯＢＤセンサの出力とに基づいて、基準作用角を更新する学習処理を行い、この更新後の基準作用角を用いて異常判定することができる。それにより、あらかじめ記憶しておいた基準作用角に基づいて異常判定をする場合に比較して、可変作用角機構の個体毎のばらつきを吸収することができる。このため、吸気弁の実作用角がＥＣＵからの作用角指令値に追従しているかどうかを正確に検出することができる。したがって、可変作用角機構の異常判定を高精度に行うことができる。
【０００８】
また、第１の可変作用角機構の異常判定装置は、制御シャフトの移動速度が通常時の移動速度に比較して遅い速度に切替えられた場合に学習処理を行うことから、制御センサのサンプリング周期の影響による学習処理の誤差を低減することができる。それにより、学習精度を向上させることができる。その結果、異常判定を高精度に行うことができる。
【０００９】
さらに、制御シャフトの移動速度が遅い速度に切替えられた場合、ノッキングが発生し易くなるおそれがある。その点、第１の可変作用角機構の異常判定装置によれば、ノッキング判定手段によってノッキングが発生し難いと判定された場合に限って制御シャフトの移動速度を遅い速度に切替える。それにより、制御シャフトの移動速度低下に伴うノッキングの発生を抑制することができる。
【００１０】
上記構成において、移動速度切替手段が移動速度を切替える場合にはスロットル弁の開度を変化させることによって吸入空気量を制御し、移動速度切替手段が移動速度を切替えない場合には吸気弁の作用角を変化させることによって吸入空気量を制御する吸入空気量制御手段をさらに備えていてもよい。この構成によれば、吸気弁１の作用角の変更領域を拡大することができる。
【００１１】
上記構成において、学習手段は、ノッキングが発生し易いと判定された場合には、さらに基準作用角の更新量を変更した後に学習処理を行ってもよい。ノッキングが発生し易いと判定された場合に制御シャフトの移動速度を遅い速度に切替えないで学習処理を行うと、制御センサのサンプリング周期の影響によって学習手段の学習処理に誤差が生じるおそれがある。すなわち、学習精度が悪化するおそれがある。その点、この構成によれば、基準作用角の更新量を減少させてから学習処理を行うことができる。それにより、学習処理の誤差を低減させることができることから、学習精度を向上させることができる。
【００１２】
上記構成において、ノッキング判定手段は、さらに燃料中のアルコールの濃度に基づいてノッキング発生の難易を判定してもよい。ここで、燃料に含まれるアルコール濃度によってノッキングが発生し難いエンジン負荷域は変化する。したがって、この構成によれば、さらに燃料中のアルコールの濃度に基づいてノッキング判定を行うことから、ノッキング判定の精度を向上させることができる。
【００１３】
本発明に係る第２の可変作用角機構の異常判定装置は、アクチュエータの制御量に応じて制御シャフトが軸方向に移動することによって吸気弁の作用角を変更する可変作用角機構の異常判定装置であって、ノッキングが発生し難い目標ＶＶＴ変位角を算出し、目標ＶＶＴ変位角になるように吸気弁の閉じタイミングを制御するＶＶＴ制御手段と、目標ＶＶＴ変位角の制御が行われた後に、アクチュエータの制御量を検出する制御センサの出力と制御シャフトの軸方向の位置を検出するＯＢＤセンサの出力とに基づいて可変作用角機構の異常判定の判定基準となる基準作用角を更新する学習処理を行う学習手段と、ＯＢＤセンサの出力と制御センサの出力と更新後の基準作用角とに基づいて可変作用角機構の異常の有無を判定する異常判定手段と、を備えることを特徴とするものである。
【００１４】
本発明に係る第２の可変作用角機構の異常判定装置によれば、制御センサの出力とＯＢＤセンサの出力とに基づいて、基準作用角を更新する学習処理を行い、この更新後の基準作用角を用いて異常判定することができる。それにより、あらかじめ記憶しておいた基準作用角に基づいて異常判定をする場合に比較して、可変作用角機構の個体毎のばらつきを吸収することができる。その結果、吸気弁の実作用角がＥＣＵからの作用角指令値に追従しているかどうかを正確に検出することができる。したがって、可変作用角機構の異常判定を高精度に行うことができる。
【００１５】
また、作用角が変化していく中で吸気弁の閉じタイミングが下死点付近になるとノッキングが発生し易くなる。その点、第２の可変作用角機構の異常判定装置によれば、ノッキングが発生し難い目標ＶＶＴ変位角になるように吸気弁の閉じタイミングが制御された上で、学習処理が行われる。それにより、ノッキングの発生を抑制することができる。
【発明の効果】
【００１６】
本発明によれば、可変作用角機構の異常を高精度に検出できるとともにノッキングの発生を抑制できる可変作用角機構の異常判定装置を提供することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明を実施するための最良の形態を説明する。
【実施例１】
【００１８】
本発明の実施例１に係る可変作用角機構１０の異常判定装置（ＥＣＵ７０）について説明する。図１は、実施例１に係るＥＣＵ７０を含むシステム１の模式図である。可変作用角機構１０は、エンジン（図示せず）の吸気弁２０の作用角を変更する可変作用角機構である。ここで、作用角とは、吸気弁２０の開き〜閉じまでの期間をクランク角（ＣＡ）で表したものをいう。
【００１９】
可変作用角機構１０は、主としてアクチュエータ１１と、制御シャフト１３と、を備える。アクチュエータ１１は、モータ（図示せず）と、このモータの回転運動を直進運動に変換する図示しない運動変換機構（例えば螺旋カム等）と、を備える。モータはＥＣＵ７０に電気的に接続されている。モータの回転運動は、ＥＣＵ７０によって制御される。アクチュエータ１１の出力軸１２と制御シャフト１３とは、締結部材１４によって連結されている。
【００２０】
制御シャフト１３には、ローラアーム１５と、一対の揺動カム１６と、が配置されている。一対の揺動カム１６は、ローラアーム１５を挟むように配置されている。ローラアーム１５のローラには、吸気カム軸（図示せず）のカムが当接している。吸気カム軸が回転すると、ローラアーム１５が揺動する。ローラアーム１５が揺動すると、揺動カム１６も揺動する。
【００２１】
揺動カム１６と吸気弁２０との間には、ロッカーアーム１７が配置されている。揺動カム１６が揺動すると、ロッカーアーム１７が揺動する。ロッカーアーム１７が揺動しながら吸気弁２０を押圧することによって、吸気弁２０はリフトを行う。
【００２２】
ローラアーム１５および揺動カム１６の内周部には、ヘリカルスプライン（図示せず）が形成されている。ヘリカルスプラインは、互いに逆方向の螺旋状をなしている。また、ローラアーム１５および揺動カム１６の内側には、ヘリカルスプラインと噛み合うスライダギア（図示せず）が配置されている。スライダギアは、制御シャフト１３と共に軸方向に移動する。制御シャフト１３が軸方向に移動すると、ヘリカルスプラインとスライダギアとの作用により、ローラアーム１５と揺動カム１６との相対角度が変化する。その結果、吸気カム軸の回転に伴う揺動カム１６の揺動範囲が変化することにより、吸気弁２０のリフト量および作用角が変化する。
【００２３】
可変作用角機構１０においては、ＥＣＵ７０の指示に従ってアクチュエータ１１のモータが回転し、それにより制御シャフト１３が軸方向の一方向（例えば図１の左方向）に移動する。この場合、吸気弁２０の作用角を連続的に縮小することができる。一方、制御シャフト１３が逆方向（図１の右方向）に移動することにより、吸気弁２０の作用角を連続的に拡大することができる。つまり、可変作用角機構１０は、ＥＣＵ７０によるアクチュエータ１１の制御量に応じて制御シャフト１３が軸方向に移動することによって吸気弁２０のバルブリフト量を変化させて吸気弁２０の作用角を変更する機構である。なお、バルブリフト量が大きい程、作用角の変化量も大きくなる。
【００２４】
アクチュエータ１１には、アクチュエータ１１の制御量を検出する制御センサ３０が配置されている。本実施例において、アクチュエータ１１の制御量とは、アクチュエータ１１のモータの回転量のことをいう。したがって、制御センサ３０は、アクチュエータ１１のモータの回転量を検出するセンサである。制御センサ３０は、ＥＣＵ７０に電気的に接続され、検出結果をＥＣＵ７０に伝える。
【００２５】
制御シャフト１３の近傍には、ＯＢＤセンサ４０が配置されている。ＯＢＤセンサ４０は、制御シャフト１３の軸方向の位置を検出する。本実施例において、ＯＢＤセンサ４０は、制御シャフト１３に配置されたターゲット１８の位置を非接触で検出するように構成されている。ＯＢＤセンサ４０は、ＥＣＵ７０に電気的に接続され、検出結果をＥＣＵ７０に伝える。
【００２６】
エンジンの吸気経路（図示せず）には、スロットル弁５０が配置されている。スロットル弁５０の作動は、ＥＣＵ７０によって制御される。スロットル弁５０には、スロットル開度センサ６０が配置されている。スロットル開度センサ６０は、ＥＣＵ７０に電気的に接続されている。スロットル開度センサ６０は、スロットル開度を検出して、検出結果をＥＣＵ７０に伝える。なお、スロットル開度はエンジンの負荷に比例することから、スロットル開度センサ６０は、エンジンの負荷を検出する負荷検出手段としての機能も有している。
【００２７】
ＥＣＵ７０は、中央演算処理装置としてのＣＰＵ７１と、記憶装置としてのＲＯＭ７２およびＲＡＭ７３と、を備えるマイクロコンピュータである。ＥＣＵ７０は、アクチュエータ１１およびスロットル弁５０の作動を制御するとともに、異常判定装置としての機能も有している。ＥＣＵ７０の処理の詳細については後述する。
【００２８】
図２（ａ）は、制御センサ３０の出力値と吸気弁２０の実作用角との関係を示す模式図である。縦軸は制御センサ３０の出力値（電圧値）を示し、横軸は吸気弁２０の実作用角（クランク角；ＣＡ）を示している。本実施例において、制御センサ３０は、アクチュエータ１１のモータの回転量に比例した連続的な出力（リニア出力）を発する。また、吸気弁２０の実作用角の変化は、アクチュエータ１１のモータの回転量に比例する。したがって、図２（ａ）に示すように、制御センサ３０の出力値は、吸気弁２０の実作用角の変化に伴って、リニアに変化する。つまり、制御センサ３０の出力値と吸気弁２０の実作用角の値とは、１対１に対応する。
【００２９】
なお、可変作用角機構１０を備えたエンジンにおいては、スロットル弁５０を制御することなく、吸気弁２０の作用角を変化させることによって吸入空気量を制御する吸入空気量制御が可能である。本実施例において、ＥＣＵ７０は、通常運転時においては吸入空気量制御を行うものとする。吸入空気量制御を行う場合、ＥＣＵ７０は、エンジンの運転状態に応じて、吸気弁２０の目標作用角を設定する。そして、ＥＣＵ７０は、制御センサ３０の出力に基づいて吸気弁２０の実作用角を取得し、その実作用角が目標作用角に一致するように、アクチュエータ１１を制御する。
【００３０】
図２（ｂ）は、ＯＢＤセンサ４０の出力値と吸気弁２０の実作用角との関係を示す模式図である。縦軸は、ＯＢＤセンサ４０の出力値（電圧値）を示し、横軸は吸気弁２０の実作用角（ＣＡ）を示している。ＯＢＤセンサ４０は、ターゲット１８の位置、すなわち制御シャフト１３の軸方向の位置に応じて、間欠的に複数本の出力（以下、このＯＢＤセンサ４０の出力のことをエッジ出力と称する）を発生する。したがって、図２（ｂ）に示すように、ＯＢＤセンサ４０は、吸気弁２０の実作用角の変化に伴って、エッジ出力を発生する。
【００３１】
ここで、異常判定の基本的な原理について説明する。まず、ＯＢＤセンサ４０は、制御シャフト１３と共に移動するターゲット１８が特定の位置に来たときにエッジ出力を発する。よって、ＯＢＤセンサ４０がエッジ出力を発するときの吸気弁２０の作用角は一義的に定まる。そこで、ＥＣＵ７０は、異常判定の基準となる吸気弁２０の作用角（以下、基準作用角と称する）を、あらかじめ設計段階において記憶しておく。そして、エッジ出力が発生したときの作用角（すなわち実作用角）を制御センサ３０から読込み、あらかじめ記憶しておいた基準作用角と比較する。その両者の偏差が、あらかじめ設定された所定値以下である場合には、制御シャフト１３はＥＣＵ７０の指示通りに動いていると判定することができる。すなわち、この場合、ＥＣＵ７０は、可変作用角機構１０が正常であると判定する。一方、上記偏差が上記所定値より大きい場合には、制御シャフト１３の実際の位置とＥＣＵ７０の指令値との間に差異が生じていると判定することができる。すなわち、この場合、ＥＣＵ７０は、可変作用角機構１０に異常が生じていると判定する。
【００３２】
基準作用角として、例えば可変作用角機構１０の各構成部品の設計値に基づいて一律に算出した基準作用角を用いることも考えられる。しかしながら、現実には、可変作用角機構１０の部品やＯＢＤセンサ４０が取り付けられる部品（例えば、シリンダヘッドカバー等）の設計公差、各部品の組み付け公差、ＯＢＤセンサ４０内のセンサ素子の取り付け公差等の影響によって、ＯＢＤセンサ４０から実際にエッジ出力が発せられるときの作用角には、可変作用角機構１０の個体毎にばらつきが生じ得る。したがって、設計値から求めた一律の基準作用角を用いて異常判定を行うと、異常判定において誤判定が生じるおそれがある。
【００３３】
そこで、本実施例に係るＥＣＵ７０は、異常判定処理を行う前に、基準作用角を更新する学習処理を行う。具体的には、ＥＣＵ７０は、異常判定処理を行う前に、制御センサ３０の出力とＯＢＤセンサ４０の出力とに基づいて基準作用角を更新する学習処理を行う。そして、この更新後の基準作用角（単に、「学習値」という場合もある）を用いて異常判定処理を行う。
【００３４】
より詳しくは、学習処理においてＥＣＵ７０は、実際に制御シャフト１３を動かして作用角を変化させる。そして、ＥＣＵ７０は、ＯＢＤセンサ４０からのエッジ出力を検出し、エッジ出力が発生したときの制御センサ３０からの出力（つまり実作用角）を読み込む。そして、前回学習しておいた基準作用角の値（前回学習していない場合には、設計段階においてあらかじめ記憶しておいた基準作用角の値）を実作用角を用いて更新する。そして、異常判定処理においてＥＣＵ７０は、更新後の基準作用角（つまり、学習値）を用いて異常判定を行う。この構成によれば、上述したような可変作用角機構１０の個体毎のばらつきを吸収することができる。その結果、高精度な異常判定を行うことができる。
【００３５】
ところで、制御センサ３０の出力は、所定のサンプリング周期毎にＡ−Ｄ変換されて、ＥＣＵ７０に読み込まれる。このため、エッジ出力が発せられたときの制御センサ３０の出力値としてＥＣＵ７０が読み込む値は、厳密には、エッジ出力が発せられた瞬間の制御センサ３０の出力と一致しない。両者の間には、最大で、Ａ−Ｄ変換周期（サンプリング周期）の分だけのタイミングのずれがある。このため、学習処理で更新された更新後の基準作用角には、最大でＡ−Ｄ変換周期の期間における制御センサ３０の出力の変化量に相当する誤差が生じ得る（以下、この誤差を「制御センサ３０の出力のサンプリング周期の影響による学習処理の誤差」と称する）。
【００３６】
なお、上記誤差を少なくするために、Ａ−Ｄ変換周期を短くすることも考えられる。しかし、この場合、ＥＣＵ７０の処理負荷が増大してしまう。そこで、本実施例に係るＥＣＵ７０は、制御シャフト１３の移動速度を通常時の移動速度に比較して遅い速度に切替えてから学習処理を行う。この場合、Ａ−Ｄ変換周期を短くすることなく、制御センサ３０のサンプリング周期の影響による学習処理の誤差を低減することができる。それにより、学習精度を向上させることができることから、異常判定を高精度に行うことができる。
【００３７】
また、吸気弁２０の作用角が変化して行く中で吸気弁２０の閉じタイミングが下死点付近になると、実圧縮比は高くなる。そして、制御シャフト１３の移動速度を通常時の移動速度に比較して遅い速度に切替えると、実圧縮比が高くなる期間が長くなる結果、エンジンにノッキンが発生し易くなる。そこで、本実施例に係るＥＣＵ７０は、エンジン負荷に基づいて制御シャフト１３の移動速度を遅い速度に切替えた場合にノッキングが発生し難いか否かをあらかじめ判定し、ノッキングが発生し難いと判定された場合に制御シャフト１３の移動速度を遅い速度に切替えてから学習処理を行う。一方、ノッキングが発生し易いと判定された場合は、制御シャフト１３の移動速度の切替えは行わず、学習処理も行わない。この構成によれば、制御シャフト１３の移動速度低下に伴うノッキングの発生を抑制することができる。
【００３８】
続いて、ＥＣＵ７０が異常判定を行う際の処理の具体例を説明する。ＥＣＵ７０は、学習処理を行うか否かの学習実行許否決定処理および最終目標作用角を算出する目標作用角算出処理を行う（以下、この処理を「学習実行許否決定および目標作用角算出処理」と称する）。また、ＥＣＵ７０は、「学習処理」および「異常判定処理」を行う。これらの処理の具体例について、順に説明する。
【００３９】
まず、「学習実行許否決定および目標作用角算出処理」について説明する。図３は、ＥＣＵ７０が学習実行許否決定および目標作用角算出処理を行う際のフローチャートの一例を示す図である。まず、ＥＣＵ７０は、あらかじめ記憶しておいた吸気弁２０の目標作用角（Ａ）を読み込む（ステップＳ１１）。
【００４０】
次いで、ＥＣＵ７０は、吸気弁２０の実作用角（Ｂ）を読み込む（ステップＳ１２）。具体的には、ＥＣＵ７０は、制御センサ３０の出力に基づいて実作用角（Ｂ）を読み込む。
【００４１】
次いで、ＥＣＵ７０は、吸気弁２０の作用角速度（Ｃ）を読み込む（ステップＳ１３）。作用角速度（Ｃ）は、本ルーチンの１実行周期当たりの作用角変化量を表す値である。作用角速度（Ｃ）は、通常時の吸気弁２０の作用角変化速度を規定する値としてＥＣＵ７０にあらかじめ設定されている。
【００４２】
次いで、ＥＣＵ７０は、学習処理が未だ完了していないか否かを判定する（ステップＳ１４）。具体的にはＥＣＵ７０は、後述する図４のフローチャートのステップＳ１０７の処理が実行されていないか否かを判定する。ステップＳ１４において学習処理が未完了であると判定された場合には、ＥＣＵ７０は、エンジン負荷に基づいて制御シャフト１３の移動速度を通常時に比較して遅い速度に切替えた場合にノッキングが発生し難いか否かを判定する（ステップＳ１５）。
【００４３】
ここで、エンジンが低負荷域の場合には制御シャフト１３の移動速度を遅い速度に切替えてもノッキングは発生し難い。一方、エンジンが中高負荷域の場合にはノッキングが発生し易い。したがって、エンジン負荷とノッキング発生の難易度とは相関関係がある。そこで、ＥＣＵ７０は、ノッキング発生の難易を判定するための基準となる所定負荷（閾値）に関するマップをあらかじめ記憶しておく。そして、ＥＣＵ７０は、そのマップを参照してエンジン負荷が所定負荷以下であるか否かを判断する。エンジン負荷が所定負荷以下であると判断された場合、ＥＣＵ７０は制御シャフト１３の移動速度を遅い速度に切替えてもノッキングが発生し難いと判定することができる。一方、エンジン負荷が所定負荷以下であると判断されなかった場合、ＥＣＵ７０は制御シャフト１３の移動速度を遅い速度に切り替えるとノッキングが発生し易いと判定する。
【００４４】
ステップＳ１５において、ノッキングが発生し難いと判定された場合、ＥＣＵ７０は、制御シャフト１３の移動速度を遅い速度に切替える（ステップＳ１６）。具体的には、ＥＣＵ７０はステップＳ１３で読み込んだ作用角速度（Ｃ）が所定の値（本実施例においては４分の１）になるように、アクチュエータ１１のモータの回転速度を低下させることによって制御シャフト１３の移動速度を低下させる。ステップＳ１６の処理によって変更された変更後の作用角速度を作用角速度（Ｄ）とする。
【００４５】
次いで、ＥＣＵ７０は、学習処理の実行を許可する（ステップＳ１７）。一方、ステップＳ１４において学習処理が未完了であると判定されなかった場合には、ＥＣＵ７０は学習処理の実行を禁止とする（ステップＳ１８）。また、ステップＳ１５において、ノッキングが発生し難いと判定されなかった場合、ＥＣＵ７０は、ステップＳ１８を実行する。つまり、本実施例において、ノッキングが発生し易い場合には移動速度切替えおよび学習処理は行わず、ノッキンが発生し難い場合に限って移動速度切替えおよび学習処理を行う。それにより、制御シャフト１３の移動速度低下に伴うノッキングの発生を抑制することができる。
【００４６】
ステップＳ１７またはステップＳ１８の後、ＥＣＵ７０は、ステップＳ１１で読み込んだ目標作用角（Ａ）が、ステップＳ１２で読み込んだ実作用角（Ｂ）より小さいか否かを判定する（ステップＳ１９）。
【００４７】
ステップＳ１９において、目標作用角（Ａ）が実作用角（Ｂ）より小さいと判定された場合、ＥＣＵ７０は、最終目標作用角（Ｅ）を算出する（ステップＳ２０）。具体的には、ステップＳ１６が実行された場合には、ＥＣＵ７０は、実作用角（Ｂ）からステップＳ１６実行後の作用角速度（Ｄ）を差し引くことによって、最終目標作用角（Ｅ）を算出する。また、ステップＳ１６が実行されなかった場合には、ＥＣＵ７０は、実作用角（Ｂ）からステップＳ１３で読み込んだ作用角速度（Ｃ）を差し引くことによって、最終目標作用角（Ｅ）を算出する。なお、最終目標作用角（Ｅ）が目標作用角（Ａ）を越えないようにする（この最終目標作用角（Ｅ）が目標作用角（Ａ）を越えないようにすることを「ＡでＭｉｎガード」と称する）。次いで、ＥＣＵ７０はフローチャートの実行を終了する。
【００４８】
ステップＳ２０の処理の具体例は以下のとおりである。例えば算出周期が１００ｍｓであり、目標作用角（Ａ）が１５２°ＣＡであり、実作用角（Ｂ）が２３０°ＣＡであり、作用角速度（Ｃ）が５°ＣＡ／１００ｍｓであるとする。このとき、ステップＳ１６が実行されなかった場合の最終目標作用角（Ｅ）は、２３０°ＣＡ−５°ＣＡ＝２２５°ＣＡとなる。なお、ＡでＭｉｎガードとは、以下のことをいう。すなわち、上記計算を繰り返して最終目標作用角（Ｅ）が１５５°ＣＡに達した場合、次の算出では、１５０°ＣＡに至ってしまう。この場合目標作用角（Ａ）を越えてしまう。そこで、１５２°ＣＡで計算を止める。ＡでＭｉｎガードとは、この目標作用角（Ａ）で計算を止めるガードのことをいう。
【００４９】
ステップＳ１９において目標作用角（Ａ）が実作用角（Ｂ）より小さいと判定されなかった場合には、ＥＣＵ７０は、最終目標作用角（Ｆ）を算出する（ステップＳ２１）。具体的には、ステップＳ１６が実行された場合には、ＥＣＵ７０は、実作用角（Ｂ）にステップＳ１６実行後の作用角速度（Ｄ）を足すことによって、最終目標作用角（Ｆ）を算出する。また、ステップＳ１６が実行されなかった場合には、ＥＣＵ７０は、実作用角（Ｂ）にステップＳ１３で読み込んだ作用角速度（Ｃ）を足すことによって、最終目標作用角（Ｆ）を算出する。なお、最終目標作用角（Ｅ）が目標作用角（Ａ）を越えないようにする（この最終目標作用角（Ｅ）が目標作用角（Ａ）を越えないようにすることを「ＡでＭａｘガード」と称する）。なお、Ｍａｘガードとは、Ｍｉｎガードの逆で、作用角が大きくなる方へ変化していくときのガードのことをいう。次いで、ＥＣＵ７０はフローチャートの実行を終了する。
【００５０】
続いて、「学習処理」について説明する。図４は、ＥＣＵ７０が学習処理を行う際のフローチャートの一例を示す図である。まず、ＥＣＵ７０は、エッジ出力が発生したか否かを判定する（ステップＳ１０１）。
【００５１】
ステップＳ１０１でエッジ出力が発生したと判定された場合、ＥＣＵ７０は、実作用角（Ｂ）を読み込む（ステップＳ１０２）。次いで、ＥＣＵ７０は、学習処理が許可されているか否かを判定する（ステップＳ１０３）。具体的には、ＥＣＵ７０は図３のステップＳ１７が実行されているか否かを判定する。
【００５２】
ステップＳ１０３で学習処理が許可されていると判定された場合、ＥＣＵ７０は、学習値（Ｇ）を読み込む（ステップＳ１０４）。具体的には、ＥＣＵ７０は前回学習処理を行った結果、更新された基準作用角を読み込む。なお、学習処理を一度も行っていない場合には、ＥＣＵ７０は設計時に設定された基準作用角を読み込む。
【００５３】
次いで、ＥＣＵ７０は学習の更新量（Ｈ）を算出する（ステップＳ１０５）。具体的には、ＥＣＵ７０は、ステップＳ１０２で読み込んだ実作用角（Ｂ）からステップＳ１０４で読み込んだ学習値（Ｇ）との差を求め、その差を２で除する。
【００５４】
次いで、ＥＣＵ７０は、学習値（Ｇ）を更新して新たな学習値（Ｉ）（つまり、新たな基準作用角）を算出する（ステップＳ１０６）。具体的には、、ＥＣＵ７０は、ステップＳ１０４で読み込んだ学習値（Ｇ）とステップＳ１０５で算出した更新量（Ｈ）との和を算出する。なお、学習値（Ｇ）と更新量（Ｈ）との和は、学習値（Ｇ）と実作用角（Ｂ）との平均値を意味する。次いで、ＥＣＵ７０は、学習処理を完了する（ステップＳ１０７）。次いで、ＥＣＵ７０は、フローチャートの実行を終了する。
【００５５】
ステップＳ１０１でエッジ出力が発生したと判定されなかった場合には、ＥＣＵ７０はフローチャートの実行を終了する。ステップＳ１０３で学習処理が許可されていると判定されなかった場合には、ＥＣＵ７０はフローチャートの実行を終了する。
【００５６】
続いて、「異常判定処理」について説明する。図５は、ＥＣＵ７０が異常判定処理を行う際のフローチャートの一例を示す図である。まず、ＥＣＵ７０は、エッジ出力が発生したか否かを判定する（ステップＳ２０１）。
【００５７】
ステップＳ２０１でエッジ出力が発生したと判定された場合、ＥＣＵ７０は学習処理が完了しているか否かを判定する（ステップＳ２０２）。具体的には、ＥＣＵ７０は図４のフローチャートのステップＳ１０７が実行されたか否かを判定する。
【００５８】
ステップＳ２０２で学習処理が完了していると判定された場合、ＥＣＵ７０は実作用角（Ｂ）を読み込む（ステップＳ２０３）。次いで、ＥＣＵ７０は、学習値（Ｉ）を読み込む（ステップＳ２０４）。具体的には、ＥＣＵ７０は、図４のフローチャートのステップＳ１０６で更新された基準作用角を読み込む。
【００５９】
次いで、ＥＣＵ７０は、偏差（Ｊ）を算出する（ステップＳ２０５）。具体的には、ＥＣＵ７０は、ステップＳ２０３で読み込んだ実作用角（Ｂ）とステップＳ２０４で読み込んだ学習値（Ｉ）との差を算出する。
【００６０】
次いで、ＥＣＵ７０は、偏差の大きさが判定値より小さいか否かを判定する（ステップＳ２０６）。ステップＳ２０６で偏差の大きさが判定値より小さいと判定された場合、可変作用角機構１０が正常であると判断する（ステップＳ２０７）。この場合、吸気弁２０の実作用角とＥＣＵ７０の指令値（制御目標値）との間に有意なずれが生じていないことになる。次いで、ＥＣＵ７０はフローチャートの実行を終了する。なお、判定値は、あらかじめＥＣＵ７０が記憶しておく。
【００６１】
一方、ステップＳ２０６で偏差の大きさが判定値より小さいと判定されなかった場合、ＥＣＵ７０は、可変作用角機構１０が異常であると判断する（ステップＳ２０８）。この場合、吸気弁２０の実作用角とＥＣＵ７０の指令値との間に有意なずれが生じていることになる。次いで、ＥＣＵ７０はフローチャートの実行を終了する。
【００６２】
ステップＳ２０１でエッジ出力が発生したと判定されなかった場合、ＥＣＵ７０はフローチャートの実行を終了する。ステップＳ２０２で学習処理が完了していると判定されなかった場合、ＥＣＵ７０はフローチャートの実行を終了する。
【００６３】
以上のように、本実施例に係るＥＣＵ７０によれば、制御センサ３０の出力とＯＢＤセンサ４０の出力とに基づいて、基準作用角を更新する学習処理を行い、学習処理で更新された更新後の基準作用角（学習値）を用いて異常判定を行う。それにより、学習処理を行わずに事前に記憶しておいた基準作用角に基づいて異常判定をする場合に比較して、可変作用角機構１０の個体間のばらつきを吸収することができる。このため、吸気弁２０の実作用角がＥＣＵ７０からの作用角指令値に追従しているかどうかを正確に検出することができる。したがって、可変作用角機構１０の異常判定を高精度に行うことができる。
【００６４】
また、図３に示すように、ＥＣＵ７０は、制御シャフト１３の移動速度が通常時よりも遅い速度に切替えられた場合に学習処理を許可する。つまり、ＥＣＵ７０は、制御シャフト１３の移動速度を通常時よりも遅い速度に切替えてから、学習処理を行う。これにより、制御センサ３０のサンプリング周期の影響による学習処理の誤差を低減することができる。それにより、学習精度を向上させることができることから、異常判定を高精度に行うことができる。
【００６５】
さらに、制御シャフト１３の移動速度を通常時の移動速度に比較して遅い速度に切替えると、ノッキンが発生し易くなるおそれがある。この点、本実施例に係るＥＣＵ７０によれば、図３に示すように、ノッキングが発生し難い場合（ステップＳ１５）に限って、制御シャフト１３の移動速度を遅い速度に切替える（ステップＳ１６）。それにより、制御シャフト１３の移動速度低下に伴うノッキングの発生を抑制することができる。
【００６６】
実施例１と請求項１との対応関係において、ＥＣＵ７０は、異常判定装置に相当する。また、ＥＣＵ７０は、ノッキング判定手段、移動速度切替手段、学習手段および異常判定手段に相当する。
【００６７】
（変形例１）
なお、実施例１において、ＥＣＵ７０は吸入空気量制御を行っているがこれに限られない。ＥＣＵ７０は、制御シャフト１３の移動速度を遅い速度に切替える場合には、スロットル弁５０の開度を変化させることによって吸入空気量を制御するスロットル制御に変更してもよい。具体的には、図３のステップＳ１５で、ノッキングが発生し難いと判定された場合、ＥＣＵ７０は、制御方法を吸入空気量制御からスロットル制御に変更してから、ステップＳ１６を実行してもよい。また、この場合、ＥＣＵ７０は、制御シャフト１３の移動速度が通常の移動速度に戻された場合には、吸入空気量制御に戻す。
【００６８】
ここで、移動速度を低下させると、運転者の要求するトルクを迅速に発生させることが困難になるおそれがある。この点、吸入空気量制御がスロットル制御に変更された場合には、吸気弁２０の作用角を動かしてもトルク応答性の悪化は生じ難くなる。したがって、制御シャフト１３の移動速度を遅い速度に切替える場合に吸入空気量制御をスロットル制御に変更することによって、吸気弁２０の作用角の変更領域を拡大することができる。
【００６９】
実施例１の変形例１と請求項１および請求項２との対応関係において、ＥＣＵ７０は、異常判定装置に相当する。また、ＥＣＵ７０は、ノッキング判定手段、移動速度切替手段、学習手段、異常判定手段および吸入空気量制御手段に相当する。
【実施例２】
【００７０】
本発明の実施例２に係るＥＣＵ７０ａ（図示せず）について説明する。ＥＣＵ７０ａは、図３の代わりに後述する図６のフローチャートを実行する点と、図４の代わりに後述する図７のフローチャートを実行する点と、において、実施例１に係るＥＣＵ７０と異なる。その他の構成は実施例１に係るＥＣＵ７０と同様のため、説明を省略する。
【００７１】
図６は、実施例２に係るＥＣＵ７０ａが学習実行許否決定および目標作用角算出処理を行う際のフローチャートの一例を示す図である。図６は、ステップＳ１５においてノッキングが発生し難いと判定されなかった場合に、ステップＳ１７を実行する点で図３と異なる。つまり、ＥＣＵ７０ａは、ノッキングが発生し易い場合にも学習処理を許可する点で、図３と異なる。その他の構成は図３と同様のため、説明を省略する。
【００７２】
図７は、実施例２に係るＥＣＵ７０ａが学習処理を行う際のフローチャートの一例を示す図である。図７は、ステップＳ１０５の後にステップＳ１０５−１およびステップＳ１０５−２をさらに備える点と、ステップＳ１０６の代わりにステップＳ１０６ａを備える点と、において図４と異なる。その他の構成は図４と同様のため、説明を省略する。
【００７３】
ステップＳ１０５−１において、ＥＣＵ７０ａは、エンジンの負荷が所定負荷以上であるか否かを判定する。
【００７４】
ここで、本実施例に係るＥＣＵ７０ａにおいては、ノッキングが発生し易い場合には、制御シャフト１３の移動速度は通常のままで学習処理が許可される（図６のステップＳ１５）。その結果、制御シャフト１３の移動速度が、制御センサ３０のサンプリング周期の影響による学習処理の誤差が生じ得る程、速くなる場合がある。この場合、学習処理の学習精度が悪化する。そこで、ＥＣＵ７０ａは、ステップＳ１０５−１を実行することにした。
【００７５】
ステップＳ１０５−１で負荷が所定負荷以上であると判定された場合には、ＥＣＵ７０ａは、更新量（Ｈ）を変更する（ステップＳ１０５−２）。例えば、ＥＣＵ７０ａは、ステップＳ１０５で算出した更新量（Ｈ）を低減させる。低減度合いとしては特に限定されないが、本実施例においてＥＣＵ７０ａは、ステップＳ１０５で算出した更新量（Ｈ）を４分の１に低減させる。それにより、制御センサ３０のサンプリング周期の影響による学習処理の誤差を４分の１に低減させることができる。その結果、学習精度を向上させることができる。ステップＳ１０５−２で変更された更新量を更新量（Ｋ）とする。次いで、ＥＣＵ７０ａは、ステップＳ１０６ａを実行する。
【００７６】
一方、ステップＳ１０５−１で負荷が所定負荷以上であると判定されなかった場合には、ＥＣＵ７０ａは、ステップＳ１０６ａを実行する。
【００７７】
ステップＳ１０６ａにおいてＥＣＵ７０ａは、学習値（Ｇ）を更新して新たな学習値（Ｌ）を算出する。具体的には、ＥＣＵ７０ａは、ステップＳ１０５−２を行った場合には、ステップＳ１０４で読み込んだ学習値（Ｇ）にステップＳ１０５−２で変更した更新量（Ｋ）を加える。一方、ステップＳ１０５−２を行わなかった場合には、ＥＣＵ７０ａは、ステップＳ１０４で読み込んだ学習値（Ｇ）にステップＳ１０５で算出した更新量（Ｈ）を加える。次いで、ＥＣＵ７０ａは、ステップＳ１０７を実行する。
【００７８】
本実施例に係るＥＣＵ７０ａによれば、ノッキングが発生し易いと判定された場合、学習値（基準作用角）の更新の更新量を低減させる。それにより、学習処理の誤差を低減させることができることから、学習精度を向上させることができる。
【００７９】
なお、本実施例において、ＥＣＵ７０ａは、実施例１の変形例１に係るＥＣＵ７０のように、制御シャフト１３の移動速度を変更する場合には、スロットル制御に変更してもよい。
【００８０】
実施例２と請求項１、請求項２および請求項３との対応関係において、ＥＣＵ７０ａは、異常判定装置に相当する。また、ＥＣＵ７０ａは、ノッキング判定手段、移動速度切替手段、学習手段、異常判定手段および吸入空気量制御手段に相当する。
【実施例３】
【００８１】
本発明の実施例３に係るＥＣＵ７０ｂ（図示せず）について説明する。ＥＣＵ７０ｂは、図３の代わりに後述する図９のフローチャートを実行する点において、実施例１に係るＥＣＵ７０と異なる。その他の構成は実施例１に係るＥＣＵ７０と同様のため、説明を省略する。
【００８２】
ここで、制御シャフト１３の移動速度を遅い速度に切替えた場合にノッキングが発生し難いと判定されるエンジン負荷域は、燃料中のアルコールの濃度によって変化する。例えば、ＦＦＶ（Ｆｌｅｘ  Ｆｕｅｌ  Ｖｅｈｉｃｌｅ；ガソリンおよびアルコールを混合した燃料が使用可能な自動車）の場合には、燃料中にアルコールが多く含まれる。この場合、燃料中に含まれるアルコール濃度によって制御シャフト１３の移動速度を遅い速度に切替えた場合のノッキングが発生し難いエンジン負荷域は変化する。
【００８３】
図８は、制御シャフト１３の移動速度が遅い速度に切替えられた場合にノッキングが発生し難いエンジン負荷域と燃料中のアルコールの濃度との関係を示す図である。縦軸はエンジン負荷（％）を示し、横軸は燃料中のアルコールの濃度（％）を示している。境界ライン１００は、制御シャフト１３の移動速度が遅い速度に切替えられた場合にノッキングが発生し難いか否かの境界を示すラインである。境界ライン１００よりも上側の領域は、制御シャフト１３の移動速度を遅い速度に切替えた場合にノッキングが発生し易いエンジン負荷域に相当し、境界ライン１００以下の領域は、制御シャフト１３の移動速度を遅い速度に切替えた場合にノッキングが発生し難いエンジン負荷域に相当する。図８から判るように、燃料中のアルコール濃度が高い程、制御シャフト１３の移動速度を遅い速度に切替えた場合にノッキンが発生し難いエンジン負荷域は拡大する。つまり、燃料中のアルコール濃度が高い程、制御シャフト１３の移動速度を遅くして学習処理を行えるエンジン負荷域が拡大される。
【００８４】
そこで、本実施例に係るＥＣＵ７０ｂは、さらに燃料中のアルコールの濃度に基づいてノッキン発生の難易を判定する点で、実施例１に係るＥＣＵ７０と異なる。具体的には、ＥＣＵ７０ｂは、さらに燃料中のアルコールの濃度に基づいて、制御シャフト１３の移動速度を遅い速度に切替えた場合にノッキングが発生し難いエンジン負荷域を算出し、その算出したエンジン負荷域を用いて移動速度を遅い速度に切替えるか否かを判断する点で、実施例１に係るＥＣＵ７０と異なる。
【００８５】
図９は、実施例３に係るＥＣＵ７０ｂが学習実行許否決定および目標作用角算出処理を行う際のフローチャートの一例を示す図である。図９は、ステップＳ１３−１およびステップＳ１４−１をさらに備える点と、ステップＳ１５の代わりにステップＳ１５ａを備える点と、において図３と異なる。その他の構成は図３と同様のため、説明を省略する。
【００８６】
ステップＳ１３が行われた後、ＥＣＵ７０ｂはステップＳ１３−１において、燃料中のアルコールの濃度（Ｍ）を読み込む。本実施例において、図１に示すシステム１は、燃料中のアルコールの濃度を検出するための濃度センサ（図示せず）をさらに備える。濃度センサは燃料中のアルコールの濃度を検出してＥＣＵ７０ｂに伝える。ＥＣＵ７０ｂは、ステップＳ１３−１において濃度センサの検出結果を読み込むことによって燃料中のアルコールの濃度を読み込むことができる。ステップＳ１３−１の実行後は、ＥＣＵ７０ｂはステップＳ１４を実行する。
【００８７】
ステップＳ１４において学習処理が完了していると判定された場合、ＥＣＵ７０ｂはステップＳ１４−１において、エンジン負荷域（Ｎ）を算出する。具体的には、ＥＣＵ７０ｂは、ステップＳ１３−１で読み込んだ燃料中のアルコールの濃度（Ｍ）を用いて、図８に示すようなマップからノッキングが発生し難いエンジン負荷域（Ｎ）を求める。次いで、ＥＣＵ７０ｂはステップＳ１５ａを実行する。
【００８８】
ステップＳ１５ａにおいてＥＣＵ７０ｂは、エンジン負荷がステップＳ１４−１で算出したエンジン負荷域（Ｎ）以下であるか否かを判定する。エンジン負荷がエンジン負荷域（Ｎ）以下であると判定された場合、ノッキングが発生し難いことから、ＥＣＵ７０ｂはステップＳ１６を行う。エンジン負荷がエンジン負荷域（Ｎ）以下であると判定されなかった場合、ノッキングが発生し易いことから、ＥＣＵ７０ｂはステップＳ１８を行う。
【００８９】
本実施例に係るＥＣＵ７０ｂによれば、さらに燃料中のアルコールの濃度に基づいてノッキングが発生し難いエンジン負荷域を算出することができる。それにより、ノッキング判定の精度を向上させることができる。その結果、異常判定を高精度に行うことができる。
【００９０】
なお、本実施例において、ＥＣＵ７０ｂは、実施例１の変形例１に係るＥＣＵ７０のように、制御シャフト１３の移動速度を遅い速度に切替える場合には、スロットル制御に変更してもよい。
【００９１】
また、ＥＣＵ７０ｂは、実施例２に係るＥＣＵ７０ａのように、ノッキングが発生し難いエンジン負荷域でない場合には、制御シャフト１３の移動速度は低下させずに、学習値（基準作用角）の更新の更新量を低減させてから学習処理を行ってもよい。
【００９２】
実施例３と請求項１、請求項２、請求項３および請求項４との対応関係において、ＥＣＵ７０ｂは、異常判定装置に相当する。また、ＥＣＵ７０ｂは、ノッキング判定手段、移動速度切替手段、学習手段、異常判定手段および吸入空気量制御手段に相当する。
【実施例４】
【００９３】
本発明の実施例４に係るＥＣＵ７０ｃ（図示せず）について説明する。ＥＣＵ７０ｃは、図３の代わりに後述する図１１のフローチャートを実行する点において、実施例１に係るＥＣＵ７０と異なる。その他の構成は実施例１に係るＥＣＵ７０と同様のため、説明を省略する。
【００９４】
ここで、吸気弁２０の作用角が変化していく中で、吸気弁２０の閉じタイミングが下死点付近になる場合がある。この場合、実圧縮比が高くなり、ノッキングが発生し易くなる。そこで、本実施例に係るＥＣＵ７０ｃは、吸気弁２０の作用角を変化させた場合にノッキングが発生し難いＶＶＴ変位角、すなわち吸気弁２０の閉じタイミングが下死点付近にならないようなＶＶＴ変位角（以下、このＶＶＴ変位角を目標ＶＶＴ変位角と称する）を算出し、目標ＶＶＴ変位角になるように吸気弁２０の閉じタイミングを制御した後に、学習処理を許可する点において、実施例１に係るＥＣＵ７０と異なる。なお、ＶＶＴ変位角とは、設計的に最も遅角側（遅い側）を０°ＣＡとして、どれだけ開閉時期を進角（早く）したかをクランク角で表現したものをいう。
【００９５】
図１０は、実施例４に係るＥＣＵ７０ｃがＶＶＴ変位角を算出する際に参照するマップの一例を示す模式図である。縦軸は目標ＶＶＴ変位角を示し、横軸は最終目標作用角を示す。曲線１１０は、吸気弁２０の閉じタイミングが下死点付近にならないような目標ＶＶＴ変位角を示している。
【００９６】
図１１は、実施例４に係るＥＣＵ７０ｃが学習実行許否決定および目標作用角算出処理を行う際のフローチャートの一例を示す図である。図１１は、ステップＳ１３−２、ステップＳ１３−３、ステップＳ１３−４、ステップＳ１４−１およびステップＳ１４−２をさらに備える点と、ステップＳ１５、ステップＳ１６、ステップＳ１９、ステップＳ２０およびステップＳ２１を備えない点と、において図３と異なる。その他の構成は図３と同様のため、説明を省略する。
【００９７】
ステップＳ１３の後に、ＥＣＵ７０ｃはステップＳ１３−２において、目標作用角（Ａ）が実作用角（Ｂ）より小さいか否かを判定する。ステップＳ１３−２において目標作用角（Ａ）が実作用角（Ｂ）より小さいと判定された場合、ＥＣＵ７０ｃは、ステップＳ１３−３において最終目標作用角（Ｏ）を算出する。具体的には、ＥＣＵ７０ｃは、実作用角（Ｂ）と作用角速度（Ｃ）との差に基づいて最終目標作用角（Ｏ）を算出する。次いで、ＥＣＵ７０ｃは、ステップＳ１４を行う。
【００９８】
一方、ステップＳ１３−２において目標作用角（Ａ）が実作用角（Ｂ）より小さいと判定されなかった場合、ＥＣＵ７０ｃは、ステップＳ１３−４において最終目標作用角（Ｐ）を算出する。具体的には、ＥＣＵ７０ｃは、実作用角（Ｂ）と作用角速度（Ｃ）との和に基づいて最終目標作用角（Ｐ）を算出する。次いで、ＥＣＵ７０ｃは、ステップＳ１４を行う。
【００９９】
ステップＳ１４において学習処理が完了していないと判定された場合、ＥＣＵ７０ｃはステップＳ１４−１において、目標ＶＶＴ変位角（Ｑ）を算出して、その目標ＶＶＴ変位角（Ｑ）になるように吸気弁２０の閉じタイミングを制御する。目標ＶＶＴ変位角（Ｑ）の算出は図１０に示すようなマップを用いて行う。次いで、ＥＣＵ７０ｃはステップＳ１７を行う。
【０１００】
一方、ステップＳ１４において学習処理が完了していないと判定されなかった場合、ＥＣＵ７０ｃはステップＳ１４−２において、通常時の目標ＶＶＴ変位角（Ｒ）を算出する。そしてＥＣＵ７０ｃは、その目標ＶＶＴ変位角（Ｒ）になるように吸気弁２０の閉じタイミングを制御する。次いで、ＥＣＵ７０ｃは、ステップＳ１８を行う。
【０１０１】
本実施例に係るＥＣＵ７０ｃによれば、ノッキングが発生し難い目標ＶＶＴ変位角になるように吸気弁２０の閉じタイミングが制御された上で、学習処理が許可される。それにより、ノッキングの発生を抑制しつつ学習処理が行われることから、可変作用角機構１０の異常を高精度に検出できるとともにノッキングの発生を抑制できる。
【０１０２】
実施例４と請求項５との対応関係において、ＥＣＵ７０ｃは、異常判定装置に相当する。また、ＥＣＵ７０ｃは、ＶＶＴ制御手段、学習手段および異常判定手段に相当する。
【０１０３】
以上本発明の好ましい実施形態について詳述したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【０１０４】
【図１】図１は、実施例１に係るＥＣＵ７０を含むシステム１の模式図である。
【図２】図２（ａ）は、制御センサ３０の出力値と吸気弁２０の実作用角との関係を示す模式図である。図２（ｂ）は、ＯＢＤセンサ４０の出力値と吸気弁２０の実作用角との関係を示す模式図である。
【図３】図３は、ＥＣＵ７０が学習実行許否決定および目標作用角算出処理を行う際のフローチャートの一例を示す図である。
【図４】図４は、ＥＣＵ７０が学習処理を行う際のフローチャートの一例を示す図である。
【図５】図５は、ＥＣＵ７０が異常判定処理を行う際のフローチャートの一例を示す図である。
【図６】図６は、実施例２に係るＥＣＵ７０ａが学習実行許否決定および目標作用角算出処理を行う際のフローチャートの一例を示す図である。
【図７】図７は、実施例２に係るＥＣＵ７０ａが学習処理を行う際のフローチャートの一例を示す図である。
【図８】図８は、制御シャフト１３の移動速度が遅い速度に切替えられた場合にノッキングが発生し難いエンジン負荷域と燃料中のアルコールの濃度との関係を示す図である。
【図９】図９は、実施例３に係るＥＣＵ７０ｂが学習実行許否決定および目標作用角算出処理を行う際のフローチャートの一例を示す図である。
【図１０】図１０は、実施例４に係るＥＣＵ７０ｃがＶＶＴ変位角を算出する際に参照するマップの一例を示す模式図である。
【図１１】図１１は、実施例４に係るＥＣＵ７０ｃが学習実行許否決定および目標作用角算出処理を行う際のフローチャートの一例を示す図である。
【符号の説明】
【０１０５】
１  システム
１０  可変作用角機構
１１  アクチュエータ
１２  出力軸
１３  制御シャフト
１４  締結部材
１５  ローラアーム
１６  揺動カム
１７  ロッカーアーム
１８  ターゲット
２０  吸気弁
３０  制御センサ
４０  ＯＢＤセンサ
５０  スロットル弁
６０  スロットル開度センサ
７０  ＥＣＵ
１００  境界ライン
１１０  曲線
【図１】
2010013955.tif 000003
【図２】
2010013955.tif 000004
【図３】
2010013955.tif 000005
【図４】
2010013955.tif 000006
【図５】
2010013955.tif 000007
【図６】
2010013955.tif 000008
【図７】
2010013955.tif 000009
【図８】
2010013955.tif 000010
【図９】
2010013955.tif 000011
【図１０】
2010013955.tif 000012
【図１１】
2010013955.tif 000013