(57)【要約】【課題】本発明は、可変作用角機構の異常判定装置に関し、内燃機関の可変作用角機構の異常を高精度に検出することを目的とする。【解決手段】本発明の可変作用角機構の異常判定装置は、可変作用角機構１２と、制御軸１４と、この制御軸１４を動かすためのアクチュエータとを有する。可変作用角機構１２は、制御軸１４を所定方向に動かした場合には内燃機関の気筒に設けられた吸気弁１０の作用角を拡大させ、制御軸１４を上記所定方向と逆の方向に動かした場合には吸気弁１０の作用角を縮小させる。回転量センサ２６は、上記アクチュエータの回転量を検出する。位置センサ２８は、制御軸１４の位置を検出する。ＥＣＵ５０は、回転量センサ２６の出力と、位置センサ２８の出力との相対関係に基づいて、学習値を取得する。【選択図】図１
2009197767.tif 000002
【特許請求の範囲】
【請求項１】
制御軸と、該制御軸を動かすためのアクチュエータとを有し、前記制御軸を所定方向に動かした場合には内燃機関の気筒に設けられた弁の作用角を拡大させ、前記制御軸を前記所定方向と逆の方向に動かした場合には前記作用角を縮小させる可変作用角機構と、
前記アクチュエータの回転量を検出する回転量センサと、
前記制御軸の位置を検出する位置センサと、
前記回転量センサの出力と前記位置センサの出力との相対関係に基づいて学習値を取得する学習手段と、
を備えることを特徴とする可変作用角機構の異常判定装置。
【請求項２】
前記回転量センサは、前記アクチュエータの回転量に応じた連続的な出力を発し、
前記位置センサは、前記制御軸が複数の特定位置に来たときに出力を発し、
前記学習値は、前記位置センサの出力が発生したタイミングにおける前記回転量センサの出力値を学習した値であることを特徴とする請求項１記載の可変作用角機構の異常判定装置。
【請求項３】
前記学習値と、前記回転量センサの出力と、前記位置センサの出力とに基づいて、前記可変作用角機構の異常の有無を判定する異常判定手段を備えることを特徴とする請求項１または２記載の可変作用角機構の異常判定装置。
【請求項４】
前記学習手段は、前記学習値を前記作用角の変化方向と関連付けて取得することを特徴とする請求項１乃至３の何れか１項記載の可変作用角機構の異常判定装置。
【請求項５】
前記学習手段が学習を実行する場合には、前記制御軸の変位速度を通常時の変位速度に比して遅くする変位速度低減手段を備えることを特徴とする請求項１乃至４の何れか１項記載の可変作用角機構の異常判定装置。
【請求項６】
前記弁は、吸気弁であり、
前記内燃機関の吸気通路に設置されたスロットル弁と、
通常時には、主として前記吸気弁の作用角を変化させることによって吸入空気量を制御し、前記学習手段が学習を実行する場合には、主として前記スロットル弁の開度を変化させることによって吸入空気量を制御する吸入空気量制御手段と、
を備えることを特徴とする請求項５記載の可変作用角機構の異常判定装置。
【請求項７】
前記学習手段は、前記作用角を実際に拡大方向に変化させた場合の学習値と、前記作用角を実際に縮小方向に変化させた場合の学習値とをそれぞれ取得することを特徴とする請求項１乃至６の何れか１項記載の可変作用角機構の異常判定装置。
【請求項８】
前記作用角が拡大方向に変化する過程で発せられる前記位置センサの出力と、前記作用角が縮小方向に変化する過程で発せられる前記位置センサの出力との間に存在するヒステリシスに関する情報を記憶したヒステリシス記憶手段を備え、
前記学習手段は、作用角拡大方向と作用角縮小方向との何れか一方向については、前記作用角を実際に変化させることによって学習値を取得し、前記一方向と反対の方向については、前記一方向の学習値と前記ヒステリシス記憶手段に記憶された情報とに基づいて学習値を算出することを特徴とする請求項１乃至７の何れか１項記載の可変作用角機構の異常判定装置。
【請求項９】
前記一方向は、作用角縮小方向であることを特徴とする請求項８記載の可変作用角機構の異常判定装置。
【請求項１０】
前記位置センサは、前記制御軸が複数の特定位置に来たときに出力を発し、
前記学習手段は、前記複数の特定位置に対応する複数の出力の各々について学習を実行して学習値を取得することを特徴とする請求項１乃至９の何れか１項記載の可変作用角機構の異常判定装置。
【請求項１１】
前記複数の出力の間隔に関する情報を記憶した出力間隔記憶手段と、
前記学習手段は、前記複数の出力のうちで最初に学習が終了した出力についての学習値と、前記出力間隔記憶手段に記憶された情報とに基づいて、その他の出力についての仮の学習値を算出する手段を含むことを特徴とする請求項１０記載の可変作用角機構の異常判定装置。
【請求項１２】
前記仮の学習値に基づいて前記異常判定手段が異常の有無を判定する場合に、異常無しと判定する基準を緩和する判定基準緩和手段を備えることを特徴とする請求項１１記載の可変作用角機構の異常判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可変作用角機構の異常判定装置に関する。
【背景技術】
【０００２】
内燃機関の吸気弁の作用角やリフト量を連続的に可変とする可変作用角機構が知られている。特開２００７−１７０３５７号公報には、次のようなエンジン用動弁装置が開示されている。この動弁装置では、モータの回転動作をコントロールシャフトの直線方向の動作に変換し、コントロールシャフトの直線方向の動作に応じてバルブリフト量を可変させる。そして、この動弁装置では、回転センサにより検出されたモータの回転位置に基づいて、バルブリフト量を認識する。この動弁装置において、電源が瞬断した際に、回転センサにより検出された回転角度が消失し、現在のバルブリフト量を見失う場合がある。その場合、バルブリフト量とバルブタイミングとの関係が不適切となり、エンジンの失火またはノッキングが発生するおそれがある。この問題を解決するため、この動弁装置においては、コントロールシャフトの位置に応じてオン／オフする第１接点および第２接点を設けている（同公報の図３および図４参照）。それらの第１接点および第２接点は、バルブリフト量とバルブタイミングとの関係において失火領域およびノック領域の何れにも入らないような領域においてのみ第１接点および第２接点が共にオン状態となるように配置されている（同公報の段落００４６）。そして、電源の瞬断のために、回転センサの検出回転角度が消失した場合には、第１接点および第２接点が共にオン状態となるような位置にコントロールシャフトを移動させることにより、失火およびノッキングを防止している（同公報の段落００５０）。
【０００３】
【特許文献１】特開２００７−１７０３５７号公報
【特許文献２】特開２０００−２８２９０１号公報
【特許文献３】特開２００６−２５０１５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
コントロールシャフトを動かすモータの回転量をセンサで検出することによってバルブ作用角を認識する可変作用角機構においては、実際のバルブ作用角がＥＣＵの指令値に一致していないと、エミッション等が悪化する場合がある。近年のＯＢＤ(On-Board Diagnostic)規制においては、僅かなエミッション悪化を生じるに過ぎない異常であっても、車両がその異常を自動的に診断可能とすることが要求されている。このため、可変作用角機構においては、実際のバルブ作用角と制御指令値との間に差異（ずれ）が生ずる異常が発生した場合に、そのことを正確に診断することが求められている。その診断を行うために、コントロールシャフトの位置検出センサを用いることが考えられる。
【０００５】
しかしながら、位置検出センサで検出されるコントロールシャフトの位置は、必ずしも正確ではない。その理由は、位置検出センサが取り付けられる部材（例えばヘッドカバー等）の寸法誤差や、位置検出センサの組み付け誤差、あるいはセンサ自体の出力特性のばらつきなどが存在するからである。このため、位置検出センサを用いて可変作用角機構の異常診断を行うに際し、バルブ作用角の僅かなずれを精度良く検知することが困難である。つまり、異常を正確に検出することが困難である。逆に、正常であるにもかかわらず、異常と誤判定するおそれもある。
【０００６】
本発明は、上記の点に鑑みてなされたものであり、内燃機関の可変作用角機構の異常を高精度に検出することのできる可変作用角機構の異常判定装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の発明は、上記の目的を達成するため、可変作用角機構の異常判定装置であって、
制御軸と、該制御軸を動かすためのアクチュエータとを有し、前記制御軸を所定方向に動かした場合には内燃機関の気筒に設けられた弁の作用角を拡大させ、前記制御軸を前記所定方向と逆の方向に動かした場合には前記作用角を縮小させる可変作用角機構と、
前記アクチュエータの回転量を検出する回転量センサと、
前記制御軸の位置を検出する位置センサと、
前記回転量センサの出力と前記位置センサの出力との相対関係に基づいて学習値を取得する学習手段と、
を備えることを特徴とする。
【０００８】
また、第２の発明は、第１の発明において、
前記回転量センサは、前記アクチュエータの回転量に応じた連続的な出力を発し、
前記位置センサは、前記制御軸が複数の特定位置に来たときに出力を発し、
前記学習値は、前記位置センサの出力が発生したタイミングにおける前記回転量センサの出力値を学習した値であることを特徴とする。
【０００９】
また、第３の発明は、第１または第２の発明において、
前記学習値と、前記回転量センサの出力と、前記位置センサの出力とに基づいて、前記可変作用角機構の異常の有無を判定する異常判定手段を備えることを特徴とする。
【００１０】
また、第４の発明は、第１乃至第３の発明の何れかにおいて、
前記学習手段は、前記学習値を前記作用角の変化方向と関連付けて取得することを特徴とする。
【００１１】
また、第５の発明は、第１乃至第４の発明の何れかにおいて、
前記学習手段が学習を実行する場合には、前記制御軸の変位速度を通常時の変位速度に比して遅くする変位速度低減手段を備えることを特徴とする。
【００１２】
また、第６の発明は、第５の発明において、
前記弁は、吸気弁であり、
前記内燃機関の吸気通路に設置されたスロットル弁と、
通常時には、主として前記吸気弁の作用角を変化させることによって吸入空気量を制御し、前記学習手段が学習を実行する場合には、主として前記スロットル弁の開度を変化させることによって吸入空気量を制御する吸入空気量制御手段と、
を備えることを特徴とする。
【００１３】
また、第７の発明は、第１乃至第６の発明の何れかにおいて、
前記学習手段は、前記作用角を実際に拡大方向に変化させた場合の学習値と、前記作用角を実際に縮小方向に変化させた場合の学習値とをそれぞれ取得することを特徴とする。
【００１４】
また、第８の発明は、第１乃至第７の発明の何れかにおいて、
前記作用角が拡大方向に変化する過程で発せられる前記位置センサの出力と、前記作用角が縮小方向に変化する過程で発せられる前記位置センサの出力との間に存在するヒステリシスに関する情報を記憶したヒステリシス記憶手段を備え、
前記学習手段は、作用角拡大方向と作用角縮小方向との何れか一方向については、前記作用角を実際に変化させることによって学習値を取得し、前記一方向と反対の方向については、前記一方向の学習値と前記ヒステリシス記憶手段に記憶された情報とに基づいて学習値を算出することを特徴とする。
【００１５】
また、第９の発明は、第８の発明において、
前記一方向は、作用角縮小方向であることを特徴とする。
【００１６】
また、第１０の発明は、第１乃至第９の発明の何れかにおいて、
前記位置センサは、前記制御軸が複数の特定位置に来たときに出力を発し、
前記学習手段は、前記複数の特定位置に対応する複数の出力の各々について学習を実行して学習値を取得することを特徴とする。
【００１７】
また、第１１の発明は、第１０の発明において、
前記複数の出力の間隔に関する情報を記憶した出力間隔記憶手段と、
前記学習手段は、前記複数の出力のうちで最初に学習が終了した出力についての学習値と、前記出力間隔記憶手段に記憶された情報とに基づいて、その他の出力についての仮の学習値を算出する手段を含むことを特徴とする。
【００１８】
また、第１２の発明は、第１１の発明において、
前記仮の学習値に基づいて前記異常判定手段が異常の有無を判定する場合に、異常無しと判定する基準を緩和する判定基準緩和手段を備えることを特徴とする。
【発明の効果】
【００１９】
第１の発明によれば、可変作用角機構の制御軸を動かすためのアクチュエータの回転量を検出する回転量センサの出力と、制御軸の位置を検出する位置センサの出力との相対関係に基づいて学習値を取得することができる。可変作用角機構の構成部品や位置センサが取り付けられる部品の設計公差、各部品の組み付け公差、あるいは位置センサ内のセンサ素子の取り付け公差などの影響により、位置センサの出力と実作用角との関係には、個体毎のばらつきが生ずる。第１の発明によれば、回転量センサの出力と位置センサの出力との相対関係を学習することができるので、上記のばらつきを吸収することができる。このため、誤判定をすることなく、可変作用角機構の異常判定を高精度に行うことができる。すなわち、弁の実作用角が作用角指令値に追従しているかどうかを正確に検出することができる。よって、エミッションの悪化等を高精度に診断することができる。
【００２０】
第２の発明によれば、制御軸が複数の特定位置に来たときに出力を発する方式の位置センサを用いて、異常判定を高精度に行うことができる。上記のような位置センサは安価であるので、第２の発明によれば、製造コストを低減することができる。
【００２１】
第３の発明によれば、上記学習値と、回転量センサの出力と、位置センサの出力とに基づいて、可変作用角機構の異常の有無を高精度に判定することができる。
【００２２】
第４の発明によれば、学習値を作用角の変化方向と関連付けて取得することができる。このため、制御軸の変位方向に応じて位置センサの出力にヒステリシスが生ずる場合であっても、異常判定を適切に行うことができる。
【００２３】
第５の発明によれば、学習の実行時に、制御軸の変位速度を通常時の変位速度に比して遅くすることができる。これにより、回転量センサのサンプリング周期の影響による学習値の誤差を低減することができるので、異常判定をより高い精度で行うことができる。
【００２４】
第６の発明によれば、学習実行時には、吸気弁の作用角可変による吸入空気量制御に代えて、主としてスロットル弁の開度を変化させることによって吸入空気量を制御することができる。これにより、学習の実行に際して制御軸の変位速度を通常時の変位速度に比して遅くした場合であっても、ドライバビリティに影響が出ることを確実に防止することができる。
【００２５】
第７の発明によれば、作用角を実際に拡大方向に変化させた場合の学習値と、作用角を実際に縮小方向に変化させた場合の学習値とをそれぞれ取得することができる。このため、制御軸の変位方向に応じて位置センサの出力にヒステリシスが生ずる場合において、作用角拡大方向の学習値と作用角縮小方向の学習値とを共に高い精度で取得することができる。
【００２６】
第８の発明によれば、作用角拡大方向と作用角縮小方向との何れか一方向については、作用角を実際に変化させることによって学習値を取得し、上記一方向と反対の方向については、上記一方向の学習値と、予め記憶されたヒステリシスに関する情報とに基づいて学習値を算出することができる。これにより、制御軸の変位方向に応じて位置センサの出力にヒステリシスが生ずる場合において、学習を早期に完了させることができる。
【００２７】
第９の発明によれば、作用角拡大方向については、学習のために制御軸を実際に動かすことが不要となる。作用角拡大方向は、吸入空気量を増大させる方向であり、加速時に要求される。それゆえ、制御軸変位速度を低下させて学習を行った場合には、吸入空気量の増加にタイムラグが生じ、加速感に影響を及ぼすおそれがある。これに対し、第９の発明によれば、作用角拡大方向についての学習が不要となるので、そのような懸念をなくすことができる。
【００２８】
第１０の発明によれば、制御軸が複数の特定位置に来たときに位置センサが発する複数の出力の各々について学習を実行して学習値を取得することができる。このため、異常判定をより高い精度で行うことができる。
【００２９】
第１１の発明によれば、位置センサが発する複数の出力の間隔に関する情報を予め記憶しておくことにより、最初に学習が終了した出力についての学習値から、その他の出力についての仮の学習値を算出することができる。このため、位置センサが発する複数の出力のうちの何れか一つについて学習が完了すれば、他の出力についても、仮の学習値を用いることにより、異常判定を実行することができる。このため、異常判定を早期に開始することができる。
【００３０】
第１２の発明によれば、仮の学習値に基づいて異常判定を行う場合には、異常無しと判定する基準を緩和することができる。仮の学習値には、設計公差の影響による誤差が含まれている場合がある。第１２の発明によれば、そのような誤差が含まれている場合であっても、誤判定が生ずることを確実に防止することができる。
【発明を実施するための最良の形態】
【００３１】
実施の形態１．
［システム構成の説明］
図１は、本発明の実施の形態１のシステム構成を説明するための図である。図１に示すように、本実施形態のシステムは、図示しない内燃機関（以下、「エンジン」と言う）の吸気弁１０の作用角（以下、単に「作用角」とも言う）を連続的に可変とする可変作用角機構１２を備えている。
【００３２】
可変作用角機構１２は、制御軸１４と、この制御軸１４を軸方向に直進移動させる制御軸駆動装置１６とを有している。制御軸駆動装置１６には、アクチュエータとしてのモータと、このモータの回転運動を直進運動に変換する運動変換機構（例えば螺旋カム等）とが内蔵されている。制御軸１４と、制御軸駆動装置１６の出力軸１６Ａとは、締結部材１８を介して連結されている。
【００３３】
制御軸１４の途中には、ローラーアーム２０と、このローラーアーム２０を挟んで両側に位置する一対の揺動カム２２とが設けられている。ローラーアーム２０のローラーには、図示しない吸気カム軸のカムが当接している。その吸気カム軸が回転すると、ローラーアーム２０が揺動する。揺動カム２２は、ローラーアーム２０と共に揺動する。揺動カム２２と吸気弁１０との間には、ロッカーアーム２４が配置されている。揺動カム２２は、ロッカーアーム２４に設けられたローラーに当接している。揺動カム２２が揺動すると、ロッカーアーム２４が揺動して、ロッカーアーム２４が吸気弁１０を押圧することにより、吸気弁１０がリフト（開弁）する。
【００３４】
ローラーアーム２０および揺動カム２２の内周部には、互いに逆方向の螺旋状をなすヘリカルスプラインが形成されている。また、ローラーアーム２０および揺動カム２２の内側には、上記ヘリカルスプラインと噛み合うスライダギヤ（図示せず）が設置されている。このスライダギヤは、制御軸１４と共に軸方向に移動する。制御軸１４を軸方向に移動させると、上記ヘリカルスプラインとスライダギヤとの作用により、ローラーアーム２０と揺動カム２２との相対角度が変化する。その結果、吸気カム軸の回転に伴う揺動カム２２の揺動範囲が変化することにより、吸気弁１０のリフト量および作用角が変化する。
【００３５】
このようにして、可変作用角機構１２では、制御軸駆動装置１６によって制御軸１４を一方向（例えば図１中の左方向）に移動させることにより吸気弁１０の作用角を連続的に縮小させることができ、制御軸１４をそれとは逆の方向（例えば図１中の右方向）に移動させることにより吸気弁１０の作用角を連続的に拡大させることができる。なお、このような可変作用角機構１２の詳細な構造は、例えば特開２００１−２６３０１５号公報に記載されており、公知であるので、本明細書ではこれ以上の説明を省略する。
【００３６】
制御軸駆動装置１６の近傍には、制御軸駆動装置１６のモータの回転量を検出する回転量センサ２６が設置されている。また、制御軸１４の近傍には、制御軸１４の位置を検出する位置センサ２８が設置されている。本実施形態の位置センサ２８は、制御軸１４に設けられたターゲット３０の位置を非接触で検出するように構成されている。制御軸駆動装置１６のモータと、回転量センサ２６と、位置センサ２８とは、それぞれ、ＥＣＵ(Electronic Control Unit)５０に電気的に接続されている。また、ＥＣＵ５０には、エンジンの吸気通路に設置されたスロットル弁３２が電気的に接続されている。
【００３７】
図２は、吸気弁１０の実作用角と、回転量センサ２６の出力値との関係を示す図である。回転量センサ２６は、制御軸駆動装置１６のモータの回転量に比例した連続的な（リニアな）出力を発する。吸気弁１０の実作用角の変化は、制御軸駆動装置１６のモータの回転量に比例する。よって、図２に示すように、回転量センサ２６の出力値は、吸気弁１０の実作用角の変化に伴って、連続的に（リニアに）変化する。すなわち、回転量センサ２６の出力値（電圧値）と、吸気弁１０の作用角の値とは、１対１に対応する。以下の説明において、回転量センサ２６の出力値とは、吸気弁１０の実作用角を表すものとする。
【００３８】
可変作用角機構１２を備えたエンジンでは、吸気弁１０の作用角を変化させることにより、スロットル弁３２によらずに、吸入空気量を制御することができる。この場合、ＥＣＵ５０は、吸入空気量を制御するため、エンジンの運転状態に応じて、吸気弁１０の目標作用角を設定する。そして、ＥＣＵ５０は、回転量センサ２６の出力に基づいて吸気弁１０の実作用角を把握し、その実作用角が目標作用角に一致するように、制御軸駆動装置１６を制御する。
【００３９】
図３は、吸気弁１０の実作用角と、位置センサ２８の出力値との関係を示す図である。位置センサ２８は、ターゲット３０の位置、すなわち制御軸１４の位置に応じて、間欠的に複数（本実施形態では三つ）のエッジ出力を発生する。よって、図３に示すように、位置センサ２８は、吸気弁１０の実作用角の変化に伴って、三つのエッジ出力を発生する。
【００４０】
位置センサ２８は、制御軸１４と共に移動するターゲット３０が特定の位置に来たときにエッジ出力を発する。よって、位置センサ２８がエッジ出力を発するときの吸気弁１０の作用角は決まっている。そこで、本実施形態では、回転量センサ２６の出力と、位置センサ２８の出力との相対関係に基づいて、制御軸１４がＥＣＵ５０の指令値通りに動いているか否かを判定することとした。すなわち、可変作用角機構１２が正常であるときに位置センサ２８からエッジ出力が発せられるべき制御軸１４の位置における作用角の値（以下、「基準作用角」と称する）を予めＥＣＵ５０に記憶しておく。そして、エッジ出力が発生したときの作用角を回転量センサ２６から読み込み、予め記憶された基準作用角と比較する。その両者の偏差が、所定の判定値（この判定値は、センサ計測誤差やソフトウェア処理誤差等に起因する検出誤差を考慮して、予め設定される）以下である場合には、制御軸１４はＥＣＵ５０の指令値通りに正常に動いていると判断することができる。よって、この場合には、可変作用角機構１２は正常であると判定することができる。これに対し、上記偏差が上記判定値より大きい場合には、制御軸１４の実際の位置と、ＥＣＵ５０の指令値との間に差異（ずれ）が生じていると判断できる。よって、この場合には、可変作用角機構１２に異常が生じていると判定することができる。
【００４１】
上記基準作用角の値は、各構成部品の設計値に基づいて算出することも可能である。しかしながら、現実には、可変作用角機構１２の部品や位置センサ２８が取り付けられる部品（例えばシリンダヘッドカバー）の設計公差、各部品の組み付け公差、あるいは位置センサ２８内の各センサ素子の取り付け公差などの影響により、位置センサ２８から実際にエッジ出力が発せられるときの作用角には、個体毎のばらつきが生ずる。このため、設計値から求めた一律の基準作用角を用いて異常判定を行うと、誤判定を生ずるおそれがある。
【００４２】
そこで、本実施形態では、学習を行うことによって基準作用角を求めることとした。すなわち、可変作用角機構１２が正常な状態のときに実際に制御軸１４を動かして作用角を変化させた上で、位置センサ２８からのエッジ出力を検出し、エッジ出力が発生したときの作用角値を読み込むことにより、基準作用角の学習値を求めることとした。このような基準作用角の学習値（以下、単に「学習値」と言う場合もある）を用いて異常判定を行うことにより、上述したような各種の公差に起因する、個体によるばらつきを吸収することができるので、高精度な異常判定を行うことができる。
【００４３】
以下、図４および図５を参照して、位置センサ２８について更に詳しく説明する。図４は、位置センサ２８を拡大して示す図である。位置センサ２８には、例えばホール素子などの三つのセンサ素子２８Ａ，２８Ｂ，２８Ｃが内蔵されている。図５は、ターゲット３０が図４中の矢印のように移動した場合の、位置センサ２８の出力を詳細に示す図である。図５中の上段は、センサ素子２８Ｃを基準とするセンサ素子２８Ａおよび２８Ｂの出力波形を示す。これらの出力波形に対し、所定の信号処理を施すことにより、図５中の下段に示すように、三つのエッジ出力が得られる。
【００４４】
各エッジ出力は、それぞれ、ターゲット３０が特定の位置に来たときに発せられる。このため、各エッジ出力間での、制御軸１４の移動量は決まっている。よって、各エッジ出力間の作用角の間隔も決まっている。しかしながら、各センサ素子２８Ａ，２８Ｂ，２８Ｃの設置位置の公差などの影響により、各エッジ出力間の作用角の間隔には、個体差が生ずるので、設計値と正確には一致しない。そこで、本実施形態では、位置センサ２８が発する三つのエッジ出力の各々に対してそれぞれ学習を行って、各エッジ出力毎の学習値を取得することとした。これにより、位置センサ２８の個体差による、各エッジ出力間の作用角の間隔のばらつきを吸収することができるので、異常判定をより高精度に行うことができる。
【００４５】
また、このような位置センサ２８は、ターゲット３０の移動方向によって、出力にヒステリシスが生ずるという特性を有している。すなわち、ターゲット３０（制御軸１４）が図中の右から左へ移動する場合と、左から右へ移動する場合とで、各エッジ出力の発せられる位置が異なる。図６は、制御軸１４を両方向に移動させた場合の、回転量センサ２６の出力と、位置センサ２８の出力との経時変化を示す図である。
【００４６】
図６中の実線で示す位置センサ出力は、回転量センサ値が減少する方向に変化する場合、つまり作用角が縮小する方向に制御軸１４が移動する場合のものである。この場合には、回転量センサ値が図６中の○で示す値であるときに、エッジ出力が発せられる。
【００４７】
これに対し、図６中の破線で示す位置センサ出力は、回転量センサ値が増大する方向に変化する場合、つまり作用角が拡大する方向に制御軸１４が移動する場合のものである。この場合には、回転量センサ値が図６中の×で示す値であるときに、エッジ出力が発せられる。
【００４８】
このように、作用角が縮小する方向に変化している場合と、作用角が拡大する方向に変化している場合とでは、位置センサ２８からエッジ出力が発せられるときの回転量センサ値（作用角）が異なる。そこで、本実施形態では、エッジ出力が発せられるときの回転量センサ値を学習する際、作用角の変化方向毎に、学習値を取得することとした。
【００４９】
ところで、回転量センサ出力は、所定のサンプリング周期毎にＡ−Ｄ変換されて、ＥＣＵ５０に読み込まれる。このため、エッジ出力が発せられたときの回転量センサ値であるとしてＥＣＵ５０で扱われる値は、厳密には、エッジ出力が発せられた瞬間の回転量センサ出力には一致しない。両者の間には、最大で、Ａ−Ｄ変換周期（サンプリング周期）の分だけのタイミングのずれがある。このため、学習値には、最大で、Ａ−Ｄ変換周期の期間における回転量センサ出力の変化量に相当する誤差が生じ得る。
【００５０】
上記の誤差を少なくするには、Ａ−Ｄ変換周期を短くすればよいが、ＥＣＵ５０の処理負荷が増大するという背反がある。これに対し、Ａ−Ｄ変換周期を短くしなくても、制御軸１４の移動速度（作用角の変化速度）を遅くすれば、Ａ−Ｄ変換の１周期中の回転量センサ出力変化量も小さくなるので、誤差が小さくなる。そこで、本実施形態では、エッジ出力が発せられるときの回転量センサ値を学習する際には、制御軸１４の移動速度、すなわち作用角の変化速度を、通常時よりも遅くすることとした。これにより、学習精度を向上することができる。
【００５１】
前述したように、本システムでは、通常、吸気弁１０の作用角を変化させることによって吸入空気量を制御している。このため、作用角変化速度を遅くすると、エンジントルクの変化速度が遅くなるので、運転者の要求するトルクを迅速に発生させることが困難となる。すなわち、吸気弁１０の作用角変化によって吸入空気量を制御している場合に作用角変化速度を遅くすると、吸入空気量の制御速度が低下するので、エンジンのトルク応答性が悪化するおそれがある。そこで、本実施形態では、基準作用角の学習のために作用角変化速度を通常時より遅くする場合には、主としてスロットル弁３２の開度によって吸入空気量を制御するスロットル制御に切り替えることとした。これにより、トルク応答性の悪化を確実に回避することができる。
【００５２】
［実施の形態１における具体的処理］
図７は、本実施形態において、基準作用角の学習値を取得する際にＥＣＵ５０が実行するルーチンのフローチャートである。本ルーチンは、後述する図９のルーチンの処理により、作用角変化速度が通常時より遅くされている間に実行される。
【００５３】
図７に示すルーチンによれば、まず、位置センサ２８からエッジ出力が発せられたか否かが判別される（ステップ１００）。エッジ出力が発せられたと判別された場合には、位置センサ２８が発する三つのエッジ出力のうち、今回発生したエッジ出力についての学習が完了しているか否かが判別される（ステップ１０２）。
【００５４】
上記ステップ１０２で、今回発生したエッジ出力についての学習が未完了であった場合には、次に、回転量センサ２６の出力値が読み込まれる（ステップ１０４）。続いて、作用角が縮小する方向（以下、「閉じ側」とも言う）へ変化している途中であるか否かが判別される（ステップ１０６）。
【００５５】
ＥＣＵ５０では、作用角が縮小する方向へ制御軸駆動装置１６が駆動されている場合には、閉じ側フラグがオンとされる。よって、上記ステップ１０６で、閉じ側フラグがオンである場合には、作用角が縮小する方向へ変化中であると判別される。この場合には、上記ステップ１０４で読み込まれた回転量センサ値が、閉じ側の学習値として記憶される（ステップ１０８）。その後、当該エッジ出力について、作用角が縮小する方向の学習が完了した旨が記憶される（ステップ１１０）。
【００５６】
一方、上記ステップ１０６で、閉じ側フラグがオフである場合には、作用角が拡大する方向（以下、「開き側」とも言う）へ変化中であると判別される。この場合には、上記ステップ１０４で読み込まれた回転量センサ値が、開き側の学習値として記憶される（ステップ１１２）。その後、当該エッジ出力について作用角が拡大する方向の学習が完了した旨が記憶される（ステップ１１４）。
【００５７】
本実施形態では、上述した図７に示すルーチンが、位置センサ２８の各エッジ出力に対して繰り返し実行されることにより、各エッジ出力毎の学習値を取得することができる。また、本実施形態では、各エッジ出力について、作用角縮小方向（閉じ側）と作用角拡大方向（開き側）との両方向について、実際に制御軸１４を動かして学習値を取得することができる。このため、各学習値を特に高い精度で取得することができるので、可変作用角機構１２の異常を特に高い精度で判定することができる。
【００５８】
図８は、本実施形態において、可変作用角機構１２の異常を判定する際にＥＣＵ５０が実行するルーチンのフローチャートである。図８に示すルーチンによれば、まず、位置センサ２８からエッジ出力が発せられたか否かが判別される（ステップ１２０）。エッジ出力が発せられたと判別された場合には、今回発生したそのエッジ出力についての学習が完了しているか否かが判別される（ステップ１２２）。
【００５９】
上記ステップ１２２で、今回発生したエッジ出力についての学習が完了していると判別された場合には、次に、回転量センサ２６の出力値が読み込まれる（ステップ１２４）。続いて、作用角が縮小する方向へ変化している途中であるか否かが判別される（ステップ１２６）。このステップ１２６で、閉じ側フラグがオンであった場合には、作用角が縮小する方向へ変化中であると判別される。この場合には、閉じ側の学習値として記憶されている値が読み込まれる（ステップ１２８）。一方、上記ステップ１２６で、閉じ側フラグがオフであった場合には、作用角が拡大する方向へ変化中であると判別される。この場合には、開き側の学習値として記憶されている値が読み込まれる（ステップ１３０）。
【００６０】
続いて、上記ステップ１２４で読み込まれた回転量センサ値と、上記ステップ１２８あるいは１３０で読み込まれた学習値との偏差が算出される（ステップ１３２）。すなわち、前者の値から後者の値を減算することにより、偏差が算出される。次いで、上記ステップ１３２で算出された偏差の絶対値と、所定の判定値とが比較される（ステップ１３４）。その比較の結果、偏差の絶対値が判定値より小さい場合には、吸気弁１０の実作用角と、ＥＣＵ５０の指令値（制御目標値）との間に有意なずれはないと判断できる。そこで、この場合には、可変作用角機構１２は正常であると判定される（ステップ１３６）。
【００６１】
これに対し、偏差の絶対値が判定値以上である場合には、吸気弁１０の実作用角と、ＥＣＵ５０の指令値との間に有意なずれが生じていると判断できる。そこで、この場合には、可変作用角機構１２に異常が発生していると判定される（ステップ１３８）。
【００６２】
以上説明した図８のルーチンの処理によれば、作用角の変化方向（制御軸１４の移動方向）を判別し、その変化方向毎の学習値と比較することによって、可変作用角機構１２の異常判定を行うことができる。よって、制御軸１４の移動方向によって出力にヒステリシスが生ずるような位置センサ２８を用いた場合であっても、異常判定を高精度に実行することができる。
【００６３】
図９は、本実施形態において、学習時に作用角変化速度を通常時より遅くするためにＥＣＵ５０が実行するルーチンのフローチャートである。図９に示すルーチンによれば、まず、ベースの目標作用角値θ1が算出される（ステップ１５０）。このベースの目標作用角値θ1とは、要求トルクに対応する空気量をエンジンに吸入させるために必要な、吸気弁１０の作用角である。ベースの目標作用角値θ1は、例えばアクセルペダル開度、エンジン回転数などに基づいて算出される。
【００６４】
次いで、前回の最終目標作用角値θ2が読み込まれる（ステップ１５２）。この値は、本ルーチンが前回実行された際に、後述するステップ１６０，１７２または１７８で算出された値である。続いて、通常時の目標作用角変化制限量Δθが読み込まれる（ステップ１５４）。この目標作用角変化制限量Δθは、通常時の作用角変化速度を規定する値として予め設定されているものであり、本ルーチンの１実行周期当たりの作用角変化量を表す値である。
【００６５】
続いて、各エッジ出力についての学習（作用角縮小方向と作用角拡大方向との両方向）が完了しているか否かが判別される（ステップ１５６）。各エッジ出力についての学習が完了している場合には、これ以降、学習を行う必要はない。そこで、この場合には、スロットル制御要求がオフされる（ステップ１５８）。スロットル制御要求がオフされると、吸気弁１０の作用角変化による通常の吸入空気量制御が実行される。続いて、上記ステップ１５２で読み込まれた前回の最終目標作用角値θ2と、上記ステップ１５４で読み込まれた通常時の目標作用角変化制限量Δθとに基づいて、今回の最終目標作用角値が算出される（ステップ１６０）。すなわち、このステップ１６０においては、作用角が拡大方向へ変化している場合には、（θ2＋Δθ）が最終目標作用角値とされ、作用角が縮小方向へ変化している場合には、（θ2−Δθ）が最終目標作用角値とされる。ＥＣＵ５０は、回転量センサ２６によって検出される実作用角が、この最終目標作用角値に一致するように、制御軸駆動装置１６を作動させる。
【００６６】
一方、上記ステップ１５６で、学習が完了していないエッジ出力が存在する場合には、学習を行う必要があるので、作用角変化速度を通常時より遅くすることが必要となる。そこで、この場合には、スロットル制御要求がオンされる（ステップ１６２）。スロットル制御要求がオンされた状態では、主としてスロットル弁３２の開度を変化させることによって吸入空気量が制御される。続いて、上記ステップ１５２で読み込まれた前回の最終目標作用角値θ2が、上記ステップ１５０で算出されたベースの目標作用角値θ1より大きいか否かが判別される（ステップ１６４）。
【００６７】
本実施形態では、実作用角がベースの目標作用角値θ1より大きい状態でのみ、学習を実行することとしている。実作用角がベースの目標作用角値θ1より大きい状態であれば、スロットル弁３２で空気量を絞ることにより、吸入空気量を目標値に一致させることができる。よって、エンジントルクに影響を及ぼさずに学習を行うことができる。これに対し、実作用角がベースの目標作用角値θ1より小さい範囲では、吸気弁１０によって吸入空気量が制限されてしまうので、スロットル弁３２をいくら開いても、目標とする吸入空気量（目標とするエンジントルク）が得られない。従って、ドライバビリティの観点からは、実作用角がベースの目標作用角値θ1より小さい範囲では、学習を行わないことが望ましい。
【００６８】
そこで、本実施形態では、上記ステップ１６４で、前回の最終目標作用角値θ2がベースの目標作用角値θ1より大きくない場合には、学習を行わないこととし、通常制御に戻ることとした。すなわち、この場合には、前述したステップ１５８以下の処理が実行される。
【００６９】
一方、上記ステップ１６４で、前回の最終目標作用角値θ2がベースの目標作用角値θ1より大きい場合には、学習が実行される。この場合には、まず、学習時の目標作用角変化制限量Δφが読み込まれる（ステップ１６６）。この学習時の目標作用角変化制限量Δφは、通常時の目標作用角変化制限量Δθより小さい値として、予め設定されている。よって、この学習時の目標作用角変化制限量Δφを使用して今回の最終目標作用角値を算出した場合には、作用角変化速度が通常時よりも遅くなる。
【００７０】
次いで、回転量センサ２６の出力値、すなわち実作用角θ3が読み込まれる（ステップ１６８）。続いて、作用角が縮小する方向へ変化中であるか、拡大する方向へ変化中であるかが判別される（ステップ１７０）。作用角が縮小する方向へ変化中である場合、すなわち閉じ側フラグがオンである場合には、上記ステップ１５２で読み込まれた前回の最終目標作用角値θ2から、学習時の目標作用角変化制限量Δφを差し引いた値である（θ2−Δφ）が今回の最終目標作用角値とされる（ステップ１７２）。この場合には、次に、上記ステップ１６８で読み込まれた実作用角θ3がエッジ発生下限作用角値α以下であるか否かが判別される（ステップ１７４）。
【００７１】
実作用角がエッジ発生下限作用角値αより小さい領域では、位置センサ２８のエッジ出力が発せられることはないので、学習のために作用角を変化させる必要はない。そこで、上記ステップ１７４で、実作用角θ3がエッジ発生下限作用角値α以下であった場合には、制御軸駆動装置１６の作動方向を作用角拡大方向へと切り替えるべく、閉じ側フラグがオフとされる（ステップ１７６）。これにより、この後は、各エッジ出力について、作用角拡大方向の学習値を取得する処理が（当該処理が未完了の場合には）実行される。
【００７２】
これに対し、上記ステップ１７４で、実作用角θ3がエッジ発生下限作用角値αより大きかった場合には、より作用角の小さい領域に向けて学習を継続する必要がある。よって、この場合には、閉じ側フラグがオンとされたままで学習が継続される。
【００７３】
一方、上記ステップ１７０で、閉じ側フラグがオフである場合、すなわち作用角が拡大する方向へ変化中であると判別された場合には、次に、上記ステップ１５２で読み込まれた前回の最終目標作用角値θ2に、学習時の目標作用角変化制限量Δφを加算した値である（θ2＋Δφ）が今回の最終目標作用角値とされる（ステップ１７８）。この場合には、次に、上記ステップ１６８で読み込まれた実作用角θ3がエッジ発生上限作用角値β以上であるか否かが判別される（ステップ１８０）。
【００７４】
実作用角がエッジ発生上限作用角値βより大きい領域では、位置センサ２８のエッジ出力が発せられることはないので、学習のために作用角を変化させる必要はない。そこで、上記ステップ１８０で、実作用角θ3がエッジ発生上限作用角値β以上であった場合には、制御軸駆動装置１６の作動方向を作用角縮小方向へと切り替えるべく、閉じ側フラグがオンとされる（ステップ１８２）。これにより、この後は、各エッジ出力について、作用角縮小方向の学習値を取得する処理が（当該処理が未完了の場合には）実行される。
【００７５】
これに対し、上記ステップ１８０で、実作用角θ3がエッジ発生上限作用角値βより小さい場合には、より作用角の大きい領域に向けて学習を継続する必要がある。よって、この場合には、閉じ側フラグがオフとされたままで学習が継続される。
【００７６】
上述したような学習値取得処理は、可変作用角機構１２が正常な状態のときに実行する必要がある。そうでないと、不適切な値が学習されてしまい、適正な異常判定を行うことができなくなるからである。例えば新車完成時や整備工場での整備完了時であれば、可変作用角機構１２が正常な状態であると保証することができる。従って、新車完成時や整備完了時等において、学習または再学習を実行することが望ましい。そこで、本実施形態では、新車完成時や整備完了時等に、作業者が外部スイッチを操作することにより、学習履歴をクリアし、その後、ＥＣＵ５０に学習または再学習を実行させることとした。
【００７７】
図１０は、外部スイッチが操作された場合にＥＣＵ５０が実行するルーチンのフローチャートである。新車完成時あるいは整備完了時等に、作業者は、図示しない外部スイッチをオンする。ＥＣＵ５０は、外部スイッチがオンしたか否かを判別し（ステップ１９０）、外部スイッチがオンしたことが検知された場合には、各エッジ出力について記憶された学習値を消去する（ステップ１９２）。これにより、この後、前述した図７のルーチンの処理によって、学習が実行される。その結果、正常状態における適切な学習値を取得することができる。
【００７８】
上述した実施の形態１においては、ＥＣＵ５０が、図７のルーチンの処理を実行することにより前記第１、第４、第７および第１０の発明における「学習手段」が、図８のルーチンの処理を実行することにより前記第３の発明における「異常判定手段」が、図９のルーチンの処理を実行することにより前記第５の発明における「変位速度低減手段」が、図９のルーチンの処理を実行することにより前記第６の発明における「吸入空気量制御手段」が、それぞれ実現されている。
【００７９】
実施の形態２．
次に、図１１および図１２を参照して、本発明の実施の形態２について説明するが、上述した実施の形態１との相違点を中心に説明し、同様の事項については、その説明を簡略化または省略する。本実施形態のハードウェア構成は、前述した図１の構成と同様である。
【００８０】
前述したように、位置センサ２８のエッジ出力が発生する位置には、制御軸１４の移動方向に応じて、ヒステリシスが生ずる。前述した実施の形態１では、このことに対応するため、作用角縮小方向と作用角拡大方向との両方向に制御軸１４を実際に動かすことにより、位置センサ２８の各エッジ出力について、その両方向の学習値を取得することとしている。このような手法によれば、作用角縮小方向と作用角拡大方向との各方向について、学習値を高精度に求めることができる。その一方で、学習に要する時間が長くなり易い傾向がある。
【００８１】
そこで、本実施形態では、作用角縮小方向については制御軸１４を実際に動かして学習値を取得するが、作用角拡大方向については、作用角縮小方向の学習値に、予め記憶されたヒステリシス値を加算することによって、学習値を求めることとした。
【００８２】
［実施の形態２における具体的処理］
図１１は、本実施形態において、基準作用角の学習値を取得する際にＥＣＵ５０が実行するルーチンのフローチャートである。図１１に示すルーチンによれば、まず、位置センサ２８からエッジ出力が発せられたか否かが判別される（ステップ２００）。エッジ出力が発せられたと判別された場合には、今回発生したそのエッジ出力についての学習が完了しているか否かが判別される（ステップ２０２）。
【００８３】
上記ステップ２０２で、そのエッジ出力についての学習が未完了であった場合には、次に、回転量センサ２６の出力値がθ4として読み込まれる（ステップ２０４）。続いて、作用角が縮小する方向（閉じ側）へ変化している途中であるか否かが判別される（ステップ２０６）。
【００８４】
上記ステップ２０６で、作用角が拡大する方向へ変化中であった場合には、本実施形態では、学習を行わない。このため、この場合には、今回のルーチンの実行がそのまま終了される。
【００８５】
これに対し、上記ステップ２０６で、作用角が縮小する方向へ変化中であると判別された場合には、上記ステップ２０４で読み込まれた回転量センサ値θ4が、閉じ側（作用角縮小方向）の学習値として記憶される（ステップ２０８）。続いて、その閉じ側の学習値θ4に、予め記憶されたヒステリシス値を加算した値がθ5として算出される（ステップ２１０）。次いで、その算出された値θ5が、開き側（作用角拡大方向）の学習値として記憶される（ステップ２１２）。その後、当該エッジ出力についての学習が完了した旨が記憶される（ステップ２１４）。
【００８６】
前述したような構造の位置センサ２８においては、個体差によるヒステリシス値のばらつきは、比較的小さく、設計値に精度良く一致する。本実施形態において、ＥＣＵ５０には、設計上のヒステリシス値が予め記憶されている。よって、上述したルーチンに示すように、作用角縮小方向の学習値θ4に、そのヒステリシス値を加算することにより、作用角拡大方向の学習値θ5を精度良く算出することができる（図６参照）。このため、作用角拡大方向については、実際に制御軸１４を動かしての学習処理を省略することができるので、学習を短時間に完了させることができる。
【００８７】
本実施形態では、上述した図１１に示すルーチンが、位置センサ２８の各エッジ出力に対して繰り返し実行されることにより、各エッジ出力毎の学習値を取得することができる。
【００８８】
図１２は、本実施形態において、学習時に作用角変化速度を通常時より遅くするためにＥＣＵ５０が実行するルーチンのフローチャートである。図１２に示すルーチンによれば、まず、要求トルクに対応する空気量をエンジンに吸入させるために必要な、ベースの目標作用角値θ1が算出される（ステップ２２０）。
【００８９】
次いで、前回の最終目標作用角値θ2が読み込まれる（ステップ２２２）。この値は、本ルーチンが前回実行された際に、後述するステップ２２８または２３６で算出された値である。続いて、通常時の目標作用角変化制限量Δθが読み込まれる（ステップ２２４）。
【００９０】
続いて、上記ステップ２２４で読み込まれた前回の最終目標作用角値θ2が、上記ステップ２２０で算出されたベースの目標作用角値θ1より大きいか否かが判別される（ステップ２２６）。このステップ２２６で、前回の最終目標作用角値θ2がベースの目標作用角値θ1以下であった場合には、実作用角は拡大方向へ変化中であると判断できる。本実施形態では、作用角拡大方向については、学習を行わないので、作用角変化速度を遅くする必要はない。このため、この場合には、前回の最終目標作用角値θ2に、通常時の目標作用角変化制限量Δθを加算した値である（θ2＋Δθ）が最終目標作用角値として算出される（ステップ２２８）。また、この場合には、作用角が拡大方向に変化中であることを示すため、閉じ側フラグがオフとされる（ステップ２３０）。
【００９１】
一方、上記ステップ２２６で、前回の最終目標作用角値θ2がベースの目標作用角値θ1より大きかった場合には、実作用角は縮小方向へ変化中であると判断できる。この場合には、次に、各エッジ出力についての学習が完了しているか否かが判別される（ステップ２３２）。
【００９２】
上記ステップ２３２で、何れかのエッジ出力についての学習が未完了であると判別された場合には、学習を実行する必要があるので、作用角変化速度を通常時より遅くすることが必要となる。そこで、この場合には、学習時の目標作用角変化制限量Δφが読み込まれる（ステップ２３４）。次いで、前回の最終目標作用角値θ2から、学習時の目標作用角変化制限量Δφを減算した値である（θ2−Δφ）が最終目標作用角値として算出される（ステップ２３６）。学習時の目標作用角変化制限量Δφは、通常時の目標作用角変化制限量Δθより小さい値である。このため、上記の処理によれば、作用角変化速度を通常時より遅くすることができ、学習精度を向上することができる。
【００９３】
これに対し、上記ステップ２３２で、各エッジ出力についての学習が完了していると判別された場合には、学習を実行する必要はないので、作用角変化速度を遅くする必要もない。このため、この場合には、上記ステップ２３４を飛ばして、最終目標作用角値が算出される（ステップ２３６）。すなわち、この場合には、前回の最終目標作用角値θ2から、通常時の目標作用角変化制限量Δθを減算した値である（θ2−Δθ）が最終目標作用角値として算出される。そして、この場合には、作用角が縮小方向に変化中であることを示すため、閉じ側フラグがオンとされる（ステップ２３８）。
【００９４】
以上説明したように、本実施形態によれば、作用角縮小方向についてのみ学習を行えばよく、作用角拡大方向については学習を省略することができる。このため、学習を早期に完了することができる。なお、本実施形態において、可変作用角機構１２の異常を判定する際にＥＣＵ５０が実行する処理は、前述した実施の形態１と同様（図８）である。
【００９５】
なお、上述した実施の形態２においては、ＥＣＵ５０が前記第８の発明における「ヒステリシス記憶手段」に相当している。また、ＥＣＵ５０が、図１１に示すルーチンの処理を実行することにより前記第８の発明における「学習手段」が、図１２に示すルーチンの処理を実行することにより前記第５の発明における「変位速度低減手段」が、それぞれ実現されている。
【００９６】
実施の形態３．
次に、図１３乃至図１５を参照して、本発明の実施の形態３について説明するが、上述した実施の形態との相違点を中心に説明し、同様の事項については、その説明を簡略化または省略する。本実施形態のハードウェア構成は、前述した図１の構成と同様である。
【００９７】
前述した実施の形態では、可変作用角機構１２の異常を判定する場合、発生したエッジ出力についての学習が完了していないと、異常を判定することができない（図８のステップ１２２）。このため、位置センサ２８が発する三つのエッジ出力の各々についての学習が完了するまでは、異常判定を実行できない場合がある。
【００９８】
本実施形態では、一部のエッジ出力について学習が完了していない状態であっても、異常判定を実行可能とするために、次のような処理を行うこととした。図１３は、本実施形態の特徴部分を説明するための図である。図１３に示すように、本実施形態では、各エッジ出力間の作用角間隔の設計値γをＥＣＵ５０に予め記憶しておく。後述する設計公差の影響がないとすれば、あるエッジ出力の学習値と、それに隣接するエッジ出力の学習値とは、上記設計値γだけ異なっていることとなる。そこで、本実施形態では、三つのエッジ出力のうちの何れか一つについて最初に学習が完了した場合には、その学習値に上記設計値γ（二つ離れているエッジ出力の場合には２γ）を加算（または減算）した値を算出し、その値を他の二つのエッジ出力についての暫定的な学習値として使用することとした。これにより、本実施形態では、三つのエッジ出力のうちの何れか一つについて学習が完了すれば、他の二つのエッジ出力についても、上記の暫定的な学習値（以下、「仮の学習値」と称する）を用いることにより、異常判定を開始することが可能となる。
【００９９】
ただし、前述したように、設計公差の影響により、各エッジ出力間の実際の作用角間隔は、設計値γと必ずしも正確には一致しない。すなわち、上記仮の学習値には、設計公差分の誤差が包含されている可能性がある。このため、仮の学習値を用いて異常判定を行った場合、正常であるにもかかわらず異常と誤判定するおそれがある。本実施形態では、そのような誤判定を確実に防止するため、仮の学習値を用いて異常判定を行う場合には、判定基準を緩和することとした。
【０１００】
また、本実施形態では、前述した実施の形態２と同様に、作用角縮小方向については制御軸１４を実際に動かして学習値を取得するが、作用角拡大方向については、作用角縮小方向の学習値に、予め記憶されたヒステリシス値を加算することによって、学習値を求めることとした。
【０１０１】
［実施の形態３における具体的処理］
図１４は、本実施形態において、基準作用角の学習値を取得する際にＥＣＵ５０が実行するルーチンのフローチャートである。図１４に示すルーチンのステップ２００〜２１４は、前述した実施の形態２の図１１のルーチンと同様である。このため、この部分については説明を省略する。
【０１０２】
図１４に示すルーチンのステップ２１４において、今回発生したエッジ出力についての学習が完了した旨が記憶された後は、次に、今回学習されたエッジ出力が、位置センサ２８の発する三つのエッジ出力のうちで最初に学習されたものであるか否かが判別される（ステップ２４０）。そして、今回学習されたエッジ出力が最初に学習されたものであると判別された場合には、次に、今回取得された学習値（上記ステップ２０８および２１２で記憶された値）と、予め記憶された各エッジ出力間の作用角間隔の設計値γとに基づいて、他の二つのエッジ出力についての仮の学習値が算出される（ステップ２４２）。
【０１０３】
すなわち、ステップ２４２においては、他の二つのエッジ出力の各々について、上記ステップ２０８で記憶された値にγ（または２γ）を加算（または減算）した値が閉じ側（作用角縮小方向）の学習値として記憶され、上記ステップ２１２で記憶された値にγ（または２γ）を加算（または減算）した値が開き側（作用角拡大方向）の学習値として記憶される。このようにして、仮の学習値を算出する処理が終了すると、異常判定の実行が許可される（ステップ２４４）。
【０１０４】
上述したように、図１４に示すルーチンの処理によれば、位置センサ２８の三つのエッジ出力のうちの何れか一つについて学習が完了すれば、異常判定を実行することが可能となる。このため、異常判定を早期に開始することができる。
【０１０５】
なお、三つのエッジ出力のうちの何れか一つについて学習が完了した後も、図１４に示すルーチンが繰り返し実行され、他の二つのエッジ出力についても真の学習値が取得される。真の学習値が取得された場合には、仮の学習値は、真の学習値によって置換される。
【０１０６】
図１５は、本実施形態において、可変作用角機構１２の異常を判定する際にＥＣＵ５０が実行するルーチンのフローチャートである。図１５に示すルーチンによれば、まず、位置センサ２８からエッジ出力が発せられたか否かが判別される（ステップ２５０）。エッジ出力が発せられたと判別された場合には、次に、異常判定の実行が許可されているか否かが判別される（ステップ２５２）。前述した図１４のステップ２４４による許可がなされていれば、このステップ２５２の判断が肯定される。
【０１０７】
上記ステップ２５２の判断が肯定された場合には、次に、回転量センサ２６の出力値が読み込まれる（ステップ２５４）。続いて、作用角が縮小する方向へ変化している途中であるか否かが判別される（ステップ２５６）。このステップ２５６で、閉じ側フラグがオンであった場合には、作用角が縮小する方向へ変化中であると判別される。この場合には、閉じ側の学習値として記憶されている値が読み込まれる（ステップ２５８）。一方、上記ステップ２５６で、閉じ側フラグがオフであった場合には、作用角が拡大する方向へ変化中であると判別される。この場合には、開き側の学習値として記憶されている値が読み込まれる（ステップ２６０）。
【０１０８】
続いて、上記ステップ２５４で読み込まれた回転量センサ値と、上記ステップ２５８あるいは２６０で読み込まれた学習値との偏差が算出される（ステップ２６２）。すなわち、前者の値から後者の値を減算することにより、偏差が算出される。次いで、予め記憶された異常判定用の判定値が読み込まれる（ステップ２６４）。
【０１０９】
続いて、今回発生したエッジ出力（上記ステップ２５０で発生したエッジ出力）についての学習が完了しているか否かが判別される（ステップ２６６）。今回発生したエッジ出力が、学習が完了していないものである場合には、上記ステップ２５８あるいは２６０で読み込まれた学習値は仮の学習値である。このため、当該学習値には、設計公差分の誤差が包含されている可能性がある。そこで、今回発生したエッジ出力についての学習が完了していない場合には、誤判定を防止するべく、判定基準を緩和するための処理が実行される（ステップ２６８）。このステップ２６８では、具体的には、上記ステップ２６４で読み込まれた通常の判定値が、所定値κを加算した値に置換される。なお、所定値κは、設計公差等に応じて予め設定された値である。
【０１１０】
上記ステップ２６８の処理に続いて、上記ステップ２６２で算出された偏差の絶対値と、上記判定値とが比較される（ステップ２７０）。その比較の結果、偏差の絶対値が判定値より小さい場合には、可変作用角機構１２は正常であると判定される（ステップ２７２）。これに対し、偏差の絶対値が判定値以上である場合には、可変作用角機構１２に異常が発生していると判定される（ステップ２７４）。上記ステップ２６８の処理が実行された場合には、上記判定値は、設計公差等に応じた量だけ拡大されている。このため、上記ステップ２７０で正常と判定される範囲は広くなっている。よって、仮の学習値に誤差が包含されている場合であっても、誤判定を確実に防止することができる。
【０１１１】
一方、上記ステップ２６６で、今回発生したエッジ出力についての学習が完了していると判別された場合には、上記ステップ２５８あるいは２６０で読み込まれた学習値は真の学習値であるため、誤差は包含されていないと判断できる。そこで、この場合には、上記ステップ２６８を飛ばして、上記ステップ２７０の処理が実行される。これにより、上記ステップ２６４で読み込まれた通常の判定値をそのまま用いて異常判定がなされる。よって、本来の高い精度で異常判定を行うことができる。
【０１１２】
なお、上述した実施の形態３においては、ＥＣＵ５０が前記第１１の発明における「出力間隔記憶手段」に相当している。また、ＥＣＵ５０が、図１４に示すルーチンの処理を実行することにより前記第１１の発明における「学習手段」が、上記ステップ２６６および２６８の処理を実行することにより前記第１２の発明における「判定基準緩和手段」が、それぞれ実現されている。
【０１１３】
以上説明した各実施の形態においては、制御軸１４がその軸方向に直進移動するものとして説明したが、本発明は、制御軸１４が回転し、その回転位置に応じて吸気弁１０の作用角を変化させるように構成されている可変作用角機構にも適用可能である。
【図面の簡単な説明】
【０１１４】
【図１】本発明の実施の形態１のシステム構成を説明するための図である。
【図２】吸気弁の実作用角と、回転量センサの出力値との関係を示す図である。
【図３】吸気弁の実作用角と、位置センサの出力値との関係を示す図である。
【図４】位置センサを拡大して示す図である。
【図５】位置センサの出力を詳細に示す図である。
【図６】制御軸を両方向に移動させた場合の、回転量センサの出力と、位置センサの出力との経時変化を示す図である。
【図７】本発明の実施の形態１において実行されるルーチンのフローチャートである。
【図８】本発明の実施の形態１において実行されるルーチンのフローチャートである。
【図９】本発明の実施の形態１において実行されるルーチンのフローチャートである。
【図１０】本発明の実施の形態１において実行されるルーチンのフローチャートである。
【図１１】本発明の実施の形態２において実行されるルーチンのフローチャートである。
【図１２】本発明の実施の形態２において実行されるルーチンのフローチャートである。
【図１３】本発明の実施の形態３の特徴部分を説明するための図である。
【図１４】本発明の実施の形態３において実行されるルーチンのフローチャートである。
【図１５】本発明の実施の形態３において実行されるルーチンのフローチャートである。
【符号の説明】
【０１１５】
１０  吸気弁
１２  可変作用角機構
１４  制御軸
１６  制御軸駆動装置
１６Ａ  出力軸
１８  締結部材
２０  ローラーアーム
２２  揺動カム
２４  ロッカーアーム
２６  回転量センサ
２８  位置センサ
３０  ターゲット
３２  スロットル弁
５０  ＥＣＵ
【図１】
2009197767.tif 000003
【図２】
2009197767.tif 000004
【図３】
2009197767.tif 000005
【図４】
2009197767.tif 000006
【図５】
2009197767.tif 000007
【図６】
2009197767.tif 000008
【図７】
2009197767.tif 000009
【図８】
2009197767.tif 000010
【図９】
2009197767.tif 000011
【図１０】
2009197767.tif 000012
【図１１】
2009197767.tif 000013
【図１２】
2009197767.tif 000014
【図１３】
2009197767.tif 000015
【図１４】
2009197767.tif 000016
【図１５】
2009197767.tif 000017