(57)【特許請求の範囲】
【請求項１】
内燃機関のクランク軸の回転速度の１／２の回転速度に対してモータの回転速度を調整することで該クランク軸に対するカム軸の回転位相（以下「カム軸位相」という）を変化させて吸気側又は排気側のバルブタイミングを変化させる可変バルブタイミング装置と、前記モータの回転位置に応じた位置信号及び／又は該モータの回転方向に応じた方向信号を周期的に出力するモータ回転状態検出系と、前記モータ回転状態検出系の異常診断処理を周期的に実行する異常診断手段とを備えた可変バルブタイミング制御システムのモータ回転状態検出系異常診断装置において、
前記カム軸位相の変化速度及び内燃機関回転速度に基づいてモータ回転速度を推定するモータ回転速度推定手段を備え、
前記異常診断手段は、前記モータ回転速度推定手段で推定したモータ回転速度が所定範囲内にあるときに前記モータ回転状態検出系の異常診断を禁止又は診断結果を無効とする手段を有することを特徴とする可変バルブタイミング制御システムのモータ回転状態検出系異常診断装置。
【請求項２】
内燃機関のクランク軸の回転速度の１／２の回転速度に対してモータの回転速度を調整することで該クランク軸に対するカム軸の回転位相（以下「カム軸位相」という）を変化させて吸気側又は排気側のバルブタイミングを変化させる可変バルブタイミング装置と、前記モータの回転位置に応じた位置信号及び／又は該モータの回転方向に応じた方向信号を周期的に出力するモータ回転状態検出系と、前記モータ回転状態検出系の異常診断処理を周期的に実行する異常診断手段とを備えた可変バルブタイミング制御システムのモータ回転状態検出系異常診断装置において、
前記カム軸位相の変化速度及び内燃機関回転速度に基づいてモータ回転速度を推定するモータ回転速度推定手段を備え、
前記異常診断手段は、前記カム軸位相が遅角側に変化しているときに前記モータ回転状態検出系の異常診断を禁止又は診断結果を無効とする手段と、前記モータ回転速度推定手段で推定したモータ回転速度が所定範囲内にあるときに前記モータ回転状態検出系の異常診断を禁止又は診断結果を無効とする手段とを有することを特徴とする可変バルブタイミング制御システムのモータ回転状態検出系異常診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータを駆動源として吸気側又は排気側のバルブタイミングを変化させる可変バルブタイミング制御システムのモータ回転状態検出系異常診断装置に関する発明である。
【背景技術】
【０００２】
この種のモータ駆動式の可変バルブタイミング装置としては、特許文献１（特許第４０６６３６６号公報）、特許文献２（特開２０１０−２５９２６０号公報）に記載されているように、内燃機関のクランク軸の回転速度の１／２の回転速度に対してモータの回転速度を調整することで、該クランク軸に対するカム軸の回転位相（以下「カム軸位相」という）を変化させて吸気側又は排気側のバルブタイミングを変化させるようにしたものがある。
【０００３】
更に、特許文献２では、モータの回転位置（回転位相）に応じたパルス状の位置信号と、回転方向に応じたパルス状の方向信号を出力する回路が設けられ、位置信号と方向信号との関係が異常の発生していない時の関係と異なる場合に、モータ制御システムの異常有りと判定するようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４０６６３６６号公報
【特許文献２】特開２０１０−２５９２６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、位置信号と方向信号は、モータ回転速度が小さくなるほど、信号発生周期（パルス間隔）が長くなるため、モータ回転速度が０付近になると、信号発生周期が異常診断の処理周期よりも長くなってしまい、異常診断処理時に信号のエッジが検出されないことがある。このため、モータ回転速度が０付近になると、モータ回転状態検出系が正常な状態であっても、信号線の断線、ショート等の異常が発生した場合と同様に、異常診断処理時に信号のエッジが検出されないことがあり、モータ回転状態検出系の正常な状態を信号線の断線、ショート等の異常と誤判定する可能性がある。
【０００６】
そこで、本発明が解決しようとする課題は、位置信号や方向信号のエッジを検出できない可能性のあるモータ低回転領域で、モータ回転状態検出系の正常な状態を異常と誤判定することを未然に防止できる可変バルブタイミング制御システムのモータ回転状態検出系異常診断装置を提供することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、請求項１に係る発明は、内燃機関のクランク軸の回転速度の１／２の回転速度に対してモータの回転速度を調整することで該クランク軸に対するカム軸の回転位相（以下「カム軸位相」という）を変化させて吸気側又は排気側のバルブタイミングを変化させる可変バルブタイミング装置と、前記モータの回転位置に応じた位置信号及び／又は該モータの回転方向に応じた方向信号を周期的に出力するモータ回転状態検出系と、前記モータ回転状態検出系の異常診断処理を周期的に実行する異常診断手段とを備えた可変バルブタイミング制御システムのモータ回転状態検出系異常診断装置において、前記カム軸位相の変化速度及び内燃機関回転速度に基づいてモータ回転速度を推定するモータ回転速度推定手段を備え、前記異常診断手段は、前記モータ回転速度推定手段で推定したモータ回転速度が所定範囲内にあるときに前記モータ回転状態検出系の異常診断を禁止又は診断結果を無効とする手段を有することを特徴とするものである。この場合、異常診断を禁止又は診断結果を無効とする所定範囲を、異常診断処理時に位置信号や方向信号のエッジを検出できない可能性のあるモータ低回転領域が含まれるように設定することで、位置信号や方向信号のエッジを検出できない可能性のあるモータ低回転領域で、モータ回転状態検出系の正常な状態を異常と誤判定することを未然に防止でき、異常診断の信頼性を向上することができる。
【０００８】
ここで、モータ回転速度の推定方法は、例えばモータ駆動電流から推定することが考えられるが、推定精度を確保するために、本発明では、カム軸位相の変化速度及び内燃機関回転速度（クランク軸回転速度）に基づいてモータ回転速度を推定するようにしている。例えば、カム軸位相が変化しないときには、モータ回転速度がカム軸回転速度（＝クランク軸回転速度の１／２）と一致する状態に維持され、モータ回転速度がカム軸回転速度から変化すると、その変化量に応じてカム軸位相が変化してバルブタイミングが変化する。このような関係から、カム軸位相の変化速度と内燃機関回転速度（＝カム軸回転速度×２）とからモータ回転速度を精度良く推定することができる。
【０００９】
ところで、カム軸位相（バルブタイミング）を遅角する場合は、モータ回転速度を低下させるため、モータ回転速度が０付近となる可能性があり、位置信号や方向信号のエッジを検出できない可能性がある。
【００１０】
この点を考慮して、請求項２のように、カム軸位相が遅角側に変化しているときに、モータ回転状態検出系の異常診断を禁止又は診断結果を無効とするようにしても良い。このようにしても、位置信号や方向信号のエッジを検出できない可能性のあるモータ低回転領域で、モータ回転状態検出系の正常な状態を異常と誤判定することを未然に防止することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は本発明の実施例１の可変バルブタイミング制御システムの構成を概略的に示す図である。
【図２】図２は位置信号と方向信号の変化パターンの一例を示すタイムチャートである。
【図３】図３は位置信号異常診断処理の一例を示すタイムチャートである。
【図４】図４は位置信号異常診断ルーチンの処理の流れを示すフローチャートである。
【図５】図５は方向信号異常診断処理の一例を示すタイムチャートである。
【図６】図６は方向信号異常診断ルーチンの処理の流れを示すフローチャートである。
【図７】図７はカム軸位相、モータ回転速度、カム軸回転速度、位置信号、方向信号の変化パターンの一例を示すタイムチャートである。
【図８】図８は実施例１の異常診断許可／禁止判定ルーチンの処理の流れを示すフローチャートである。
【図９】図９は実施例２の異常診断許可／禁止判定ルーチンの処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態を具体化した２つの実施例１，２を説明する。
【実施例１】
【００１３】
本発明の実施例１を図１乃至図８に基づいて説明する。
まず、図１に基づいて可変バルブタイミング制御システムの構成を説明する。
内燃機関であるエンジンのクランク軸１０は、タイミングチェーン１１（又はタイミングベルト）とカムスプロケット１２を介してカムシャフト１３に連結されている。カム軸１３には、エンジンの吸気バルブ又は排気バルブを開閉駆動するためのカムが設けられている。カムスプロケット１２とカム軸１３との間にはバルブタイミング調整機構１４が設けられている。
【００１４】
このバルブタイミング調整機構１４は、カム軸１３と同一の回転軸になるように配設された内歯付きのアウタギア１５と、このアウタギア１５の内周に同一の回転軸になるように配設された外歯付きのインナギア１６と、これらアウタギア１５とインナギア１６との間に配置されて両者に噛み合う遊星ギア１７とを備えている。
【００１５】
アウタギア１５は、クランク軸１０と同期して回転するカムスプロケット１２と一体的に回転するように設けられ、インナギア１６は、カム軸１３と一体的に回転するように設けられている。遊星ギア１７は、アウタギア１５とインナギア１６とに噛み合った状態で円軌道を描くようにインナギア１６の回りを旋回することにより、アウタギア１５の回転力をインナギア１６に伝達する。
【００１６】
これらアウタギア１５、インナギア１６及び遊星ギア１７の歯数は、それぞれカム軸１３がクランク軸１０の回転速度（エンジン回転速度ne）の１／２の回転速度で駆動されるように設定され、インナギア１６の回転速度（＝カム軸１３の回転速度）に対する遊星ギア１７の旋回速度（公転速度）を変化させることにより、アウタギア１５に対するインナギア１６の回転位相を調整するように構成されている。
【００１７】
エンジンには、遊星ギア１７の旋回速度を変化させるためのモータ１８が設けられている。このモータ１８の出力軸１９は、カム軸１３、アウタギア１５及びインナギア１６の回転軸と同軸上に配置され、該モータ１８の出力軸１９と遊星ギア１７の支持軸とが一体的に回転するように連結されている。これにより、モータ１８の出力軸１９の回転に伴って、遊星ギア１７がその支持軸を中心に回転（自転）しながらインナギア１６の外周の円軌道を旋回（公転）するようになっている。
【００１８】
以上のように構成した可変バルブタイミング装置２４において、機関バルブのバルブタイミング（開閉時期）を現状で維持する場合には、モータ１８の出力軸１９の回転速度（以下「モータ回転速度」という）がカム軸１３の回転速度と一致するように該モータ１８が駆動される。これにより、遊星ギア１７の公転速度がアウタギア１５及びインナギア１６の回転速度と一致するようになり、アウタギア１５とインナギア１６との回転位相差が現状で維持されて、機関バルブのバルブタイミングが現状で維持される。
【００１９】
一方、カム軸位相（バルブタイミング）を進角させる場合には、モータ回転速度がインナギア１６の回転速度より速くなるようにモータ１８が駆動される。これにより、遊星ギア１７の公転速度がインナギア１６の回転速度より速くなってアウタギア１５に対するインナギア１６の相対回転位相が進角されて、カム軸位相（バルブタイミング）が進角される。
【００２０】
反対に、カム軸位相（バルブタイミング）を遅角させる場合には、モータ回転速度がインナギア１６の回転速度より遅くなるようにモータ１８が駆動される。これにより、遊星ギア１７の公転速度がインナギア１６の回転速度より遅くなって、アウタギア１５に対するインナギア１６の相対回転位相が遅角され、カム軸位相（バルブタイミング）が遅角される。
【００２１】
カム軸１３の近傍には、該カム軸１３の回転位相（カム角）を検出するためのカムセンサ２０が設けられ、クランク軸１０の近傍には、該クランク軸１０の回転位相（クランク角）とエンジン回転速度neを検出するためのクランクセンサ２１が設けられている。
【００２２】
これらカムセンサ２０、クランクセンサ２１等の各種センサの出力信号は、電子制御ユニット（以下「ＥＣＵ」と表記する）２２に入力される。ＥＣＵ２２は、マイクロコンピュータを主体として構成され、そのＲＯＭに記憶された各種エンジン制御用のプログラムを実行することにより、エンジン運転状態に応じて燃料噴射量の制御や点火時期の制御等を実行する。
【００２３】
また、ＥＣＵ２２は、カムセンサ２０の出力信号に基づいてカム角を演算し、クランクセンサ２１の出力信号に基づいてクランク角及びエンジン回転速度neを演算し、エンジン運転条件に応じて目標カム角を演算すると共に、目標カム角と実際のカム角との偏差、及びエンジン回転速度neに基づいて目標モータ回転速度Ｔｎｍを演算して、その目標モータ回転速度Ｔｎｍをモータ１８側に設けられたモータ駆動回路（以下「ＥＤＵ」と表記する）２３に出力する。この目標モータ回転速度Ｔｎｍは、目標モータ回転速度の絶対値と回転方向の両方の情報が含まれ、回転方向が正方向であるときには正の値が設定され、逆方向であるときには負の値が設定される。
【００２４】
モータ１８には、その出力軸１９の回転位置（回転位相）に応じたパルス信号を出力する複数の回転センサ（図示せず）が取り付けられ、それら回転センサの出力パルスがＥＤＵ２３に入力される。ＥＤＵ２３は、複数の回転センサの出力パルスに基づいてモータ１８の出力軸１９の回転速度（実モータ回転速度ＮＭ）を算出し、その実モータ回転速度ＮＭと上記目標モータ回転速度Ｔｎｍとの偏差を小さくするようにモータ１８への供給電力（具体的にはモータ１８に印加する電圧のデューティ）をフィードバック制御する。このように、実モータ回転速度ＮＭを目標モータ回転速度Ｔｎｍにフィードバック制御することにより、カム角を目標カム角にフィードバック制御する。
【００２５】
また、ＥＤＵ２３は、上記複数の回転センサの出力パルスに基づいてモータ１８の出力軸１９の回転位置（以下「モータ回転位置」という）と該出力軸１９の回転方向（以下「モータ回転方向」という）とを算出すると共に、モータ回転位置に応じた位置信号ＶＴＳとモータ回転方向に応じた方向信号ＶＴＤとをそれぞれＥＣＵ２２に周期的に出力する。上記複数の回転センサ及びＥＤＵ２３等から特許請求の範囲でいうモータ回転状態検出系が構成されている。
【００２６】
図２は、モータ１８が一定の回転速度で回転している場合の位置信号ＶＴＳ及び方向信号ＶＴＤの変化パターンの一例を示すタイムチャートである。
図２［ａ］に示すように、位置信号ＶＴＳは、モータ回転位置が所定角度変化する毎に変化するパルス信号である。また、図２［ｂ］に示すように、方向信号ＶＴＤは、位置信号ＶＴＳと同期して変化するパルス信号であり、モータ１８が正方向（カム軸１３の回転方向と同一の方向）に回転するときには、方向信号ＶＴＤが位置信号ＶＴＳと同一位相で変化する。一方、図２［ｃ］に示すように、モータ１８が逆方向に回転するときには、方向信号ＶＴＤが位置信号ＶＴＳと逆位相で変化する。このような関係から、位置信号ＶＴＳと方向信号ＶＴＤとが同一位相であるときには、モータ回転方向が正方向であると判断し、位置信号ＶＴＳと方向信号ＶＴＤと逆位相であるときにはモータ回転方向が逆方向であると判断するといったように、位置信号ＶＴＳと方向信号ＶＴＤとの関係に基づいてモータ回転方向を推定することができる。
【００２７】
以上のように構成したモータ回転状態検出系において、例えば、位置信号ＶＴＳや方向信号ＶＴＤの信号線の断線又はショート、ＥＤＵ２３の故障、モータ１８の回転センサの故障等により位置信号ＶＴＳや方向信号ＶＴＤがＥＣＵ２２に入力されなくなる異常が発生すると、正しく可変バルブタイミング制御を実行できなくなる。従って、モータ回転状態検出系の異常が発生した場合には、その異常を早期に検出して運転者に警告する必要がある。
【００２８】
そこで、本実施例１では、モータ回転状態検出系の異常を次のようにして検出する。
まず、図３を用いて位置信号ＶＴＳの異常診断方法の一例を説明する。
ハード回路又は高速ソフト処理により周期的に発生する位置信号ＶＴＳがＨｉ→Ｌｏ又はＬｏ→Ｈｉに切り換わるタイミング（位置信号ＶＴＳのエッジ）を検出し、このエッジ検出情報を所定の診断処理周期（例えば４０ｍｓ周期）で取り込んでエッジ検出フラグxvtsを次のようにしてセット／リセットする。例えば、エッジ検出フラグxvtsが「０」の状態で、位置信号ＶＴＳのエッジが検出されれば、エッジ検出フラグxvtsを「１」にセットし、エッジ検出フラグxvtsが「１」の状態で、位置信号ＶＴＳのエッジが検出されれば、エッジ検出フラグxvtsをそのまま「１」に維持する。所定の診断処理周期（例えば４０ｍｓ周期）でエッジ検出フラグxvtsを判定し、エッジ検出フラグxvtsが「１」であれば、正常カウンタcvtsnorml をインクリメントして異常カウンタcvtsfault を「０」にリセットすると共に、エッジ検出フラグxvtsを「０」にリセットする。このような処理を繰り返して、正常カウンタcvtsnorml のカウント値が正常判定回数しきい値KJDGEOK を越えた時点で、位置信号ＶＴＳが正常であると判定して正常判定フラグを「１」にセットし、異常判定フラグを「０」に維持又はリセットする。
【００２９】
これに対し、所定の診断処理周期（例えば４０ｍｓ周期）でエッジ検出フラグxvtsを判定したときに、エッジ検出フラグxvtsが「０」であれば、異常カウンタcvtsfault をインクリメントして正常カウンタcvtsnorml を「０」にリセットする。このような処理を繰り返して、異常カウンタcvtsfault のカウント値が異常判定回数しきい値KJDGENG を越えた時点で、位置信号ＶＴＳが異常であると判定して異常判定フラグを「１」にセットし、正常判定フラグを「０」に維持又はリセットする。
【００３０】
次に、図５を用いて方向信号ＶＴＤの異常診断方法の一例を説明する。本実施例１では、位置信号ＶＴＳの異常診断と同様の方法で、方向信号ＶＴＤの異常診断を行う。
ハード回路又は高速ソフト処理により周期的に発生する方向信号ＶＴＤがＨｉ→Ｌｏ又はＬｏ→Ｈｉに切り換わるタイミング（方向信号ＶＴＤのエッジ）を検出し、このエッジ検出情報を所定の診断処理周期（例えば４０ｍｓ周期）で取り込んでエッジ検出フラグxvtdを次のようにしてセット／リセットする。例えば、エッジ検出フラグxvtdが「０」の状態で、方向信号ＶＴＤのエッジが検出されれば、エッジ検出フラグxvtdを「１」にセットし、エッジ検出フラグxvtdが「１」の状態で、方向信号ＶＴＤのエッジが検出されれば、エッジ検出フラグxvtdをそのまま「１」に維持する。所定の診断処理周期（例えば４０ｍｓ周期）でエッジ検出フラグxvtdを判定し、エッジ検出フラグxvtdが「１」であれば、正常カウンタcvtdnorml をインクリメントして異常カウンタcvtdfault を「０」にリセットすると共に、エッジ検出フラグxvtdを「０」にリセットする。このような処理を繰り返して、正常カウンタcvtdnorml のカウント値が正常判定回数しきい値KJDGEOK を越えた時点で、方向信号ＶＴＤが正常であると判定して正常判定フラグを「１」にセットし、異常判定フラグを「０」に維持又はリセットする。
【００３１】
これに対し、所定の診断処理周期（例えば４０ｍｓ周期）でエッジ検出フラグxvtdを判定したときに、エッジ検出フラグxvtdが「０」であれば、異常カウンタcvtdfault をインクリメントして正常カウンタcvtdnorml を「０」にリセットする。このような処理を繰り返して、異常カウンタcvtdfault のカウント値が異常判定回数しきい値KJDGENG を越えた時点で、方向信号ＶＴＤが異常であると判定して異常判定フラグを「１」にセットし、正常判定フラグを「０」に維持又はリセットする。
【００３２】
ところで、図７に示すように、位置信号ＶＴＳと方向信号ＶＴＤは、モータ回転速度が０に近付くほど、信号発生周期（パルス間隔）が長くなるため、モータ回転速度が０付近になると、信号発生周期が異常診断の処理周期よりも長くなってしまい、異常診断処理時に信号のエッジが検出されないことがある。このため、モータ回転速度が０付近になると、モータ回転状態検出系が正常な状態であっても、信号線の断線、ショート等の異常が発生した場合と同様に、異常診断処理時に信号のエッジが検出されないことがあり、モータ回転状態検出系の正常な状態を信号線の断線、ショート等の異常と誤判定する可能性がある。
【００３３】
この対策として、本実施例１では、カム軸位相の変化速度及びエンジン回転速度ne（クランク軸回転速度）に基づいてモータ回転速度を推定し、モータ回転速度が所定範囲内にあるときに異常診断を禁止するようにしている。ここで、異常診断を禁止する所定範囲は、異常診断処理時に位置信号ＶＴＳや方向信号ＶＴＤのエッジを検出できない可能性のあるモータ低回転領域（モータ回転速度が０付近の領域）が含まれるように設定されている。
【００３４】
図７に示すように、カム軸位相（バルブタイミング）が変化しないときには、モータ回転速度がカム軸回転速度（＝クランク軸回転速度neの１／２）と一致する状態に維持され、モータ回転速度がカム軸回転速度から変化すると、その変化量に応じてカム軸位相が変化してバルブタイミングが変化する。このような関係から、カム軸位相の変化速度とエンジン回転速度ne（＝カム軸回転速度×２）とからモータ回転速度を精度良く推定することができる。
以上説明した本実施例１の異常診断処理は、ＥＣＵ２２によって図４、図６、図８の各ルーチンに従って実行される。以下、各ルーチンの処理内容を説明する。
【００３５】
［位置信号異常診断ルーチン］
図４の位置信号異常診断ルーチンは、所定の診断処理周期（例えば４０ｍｓ周期）で繰り返し実行され、特許請求の範囲でいう異常診断手段として役割を果たす。本ルーチンが起動されると、まずステップ１０１で、異常診断が許可されているか否かを、異常診断許可フラグxjdge が「１」であるか否かで判定する。この異常診断許可フラグxjdge は、後述する図８の異常診断許可／禁止判定ルーチンによってセット／リセットされる。このステップ１０１で、異常診断が禁止されている（異常診断許可フラグxjdge ＝０）と判定されれば、以降の処理を行わずに本ルーチンを終了する。
【００３６】
これに対し、上記ステップ１０１で、異常診断が許可されている（異常診断許可フラグxjdge ＝１）と判定されれば、ステップ１０２に進み、位置信号ＶＴＳのエッジを検出したか否かを、エッジ検出フラグxvtsが「１」であるか否かで判定する。
【００３７】
このステップ１０２で、位置信号ＶＴＳのエッジを検出した（エッジ検出フラグxvts＝１）と判定されれば、ステップ１０３に進み、正常カウンタcvtsnorml をインクリメントして、次のステップ１０４で、異常カウンタcvtsfault を「０」にリセットし、続くステップ１０５で、エッジ検出フラグxvtsを「０」にリセットする。この後、ステップ１０６に進み、正常カウンタcvtsnorml のカウント値が正常判定回数しきい値KJDGEOK 以上であるか否かを判定し、その結果、正常カウンタcvtsnorml のカウント値が正常判定回数しきい値KJDGEOK 以上であると判定されれば、ステップ１０７に進み、位置信号ＶＴＳが正常であると判定して正常判定フラグを「１」にセットし、異常判定フラグを「０」に維持又はリセットして本ルーチンを終了する。
【００３８】
これに対し、上記ステップ１０６で、正常カウンタcvtsnorml のカウント値が正常判定回数しきい値KJDGEOK 未満であると判定されれば、まだ正常とは判定せずに本ルーチンを終了する。
【００３９】
一方、上述したステップ１０２で、位置信号ＶＴＳのエッジを検出していない（エッジ検出フラグxvts＝０）と判定されれば、ステップ１０８に進み、異常カウンタcvtsfault をインクリメントして、次のステップ１０９で、正常カウンタcvtsnorml を「０」にリセットする。この後、ステップ１１０に進み、異常カウンタcvtsfault のカウント値が異常判定回数しきい値KJDGENG 以上であるか否かを判定し、異常カウンタcvtsfault のカウント値が異常判定回数しきい値KJDGENG 以上であると判定されれば、ステップ１１１に進み、位置信号ＶＴＳが異常であると判定して異常判定フラグを「１」にセットし、正常判定フラグを「０」に維持又はリセットして本ルーチンを終了する。
【００４０】
これに対し、上記ステップ１１０で、異常カウンタcvtsfault のカウント値が異常判定回数しきい値KJDGENG 未満であると判定されれば、まだ異常とは判定せずに本ルーチンを終了する。
【００４１】
［方向信号異常診断ルーチン］
図６の方向信号異常診断ルーチンは、所定の診断処理周期（例えば４０ｍｓ周期）で繰り返し実行され、特許請求の範囲でいう異常診断手段として役割を果たす。本ルーチンが起動されると、まずステップ２０１で、異常診断が許可されているか否かを、異常診断許可フラグxjdge が「１」であるか否かで判定する。この異常診断許可フラグxjdge は、後述する図８の異常診断許可／禁止判定ルーチンによってセット／リセットされる。このステップ２０１で、異常診断が禁止されている（異常診断許可フラグxjdge ＝０）と判定されれば、以降の処理を行わずに本ルーチンを終了する。
【００４２】
これに対し、上記ステップ２０１で、異常診断が許可されている（異常診断許可フラグxjdge ＝１）と判定されれば、ステップ２０２に進み、方向信号ＶＴＤのエッジを検出したか否かを、エッジ検出フラグxvtdが「１」であるか否かで判定する。
【００４３】
このステップ２０２で、方向信号ＶＴＤのエッジを検出した（エッジ検出フラグxvtd＝１）と判定されれば、ステップ２０３に進み、正常カウンタcvtdnorml をインクリメントして、次のステップ２０４で、異常カウンタcvtdfault を「０」にリセットし、続くステップ２０５で、エッジ検出フラグxvtdを「０」にリセットする。この後、ステップ２０６に進み、正常カウンタcvtdnorml のカウント値が正常判定回数しきい値KJDGEOK 以上であるか否かを判定し、その結果、正常カウンタcvtdnorml のカウント値が正常判定回数しきい値KJDGEOK 以上であると判定されれば、ステップ２０７に進み、方向信号ＶＴＤが正常であると判定して正常判定フラグを「１」にセットし、異常判定フラグを「０」に維持又はリセットして本ルーチンを終了する。
【００４４】
これに対し、上記ステップ２０６で、正常カウンタcvtdnorml のカウント値が正常判定回数しきい値KJDGEOK 未満であると判定されれば、まだ正常とは判定せずに本ルーチンを終了する。
【００４５】
一方、上述したステップ２０２で、方向信号ＶＴＤのエッジを検出していない（エッジ検出フラグxvtd＝０）と判定されれば、ステップ２０８に進み、異常カウンタcvtdfault をインクリメントして、次のステップ２０９で、正常カウンタcvtdnorml を「０」にリセットする。この後、ステップ２１０に進み、異常カウンタcvtdfault のカウント値が異常判定回数しきい値KJDGENG 以上であるか否かを判定し、異常カウンタcvtdfault のカウント値が異常判定回数しきい値KJDGENG 以上であると判定されれば、ステップ２１１に進み、方向信号ＶＴＤが異常であると判定して異常判定フラグを「１」にセットし、正常判定フラグを「０」に維持又はリセットして本ルーチンを終了する。
【００４６】
これに対し、上記ステップ２１０で、異常カウンタcvtdfault のカウント値が異常判定回数しきい値KJDGENG 未満であると判定されれば、まだ異常とは判定せずに本ルーチンを終了する。
【００４７】
［異常診断許可／禁止判定ルーチン］
図８の異常診断許可／禁止判定ルーチンは、所定の診断処理周期（例えば４０ｍｓ周期）で繰り返し実行され、特許請求の範囲でいう異常診断手段として役割を果たす。本ルーチンが起動されると、まずステップ２０１で、現在のカム軸位相（実進角値）vvtaと、本ルーチンの前回終了時に取り込んだカム軸位相vvtaold との差を求め、この差を本ルーチンの処理周期である４０ｍｓ（０．０４）で除算した値vvtadev を求める。
vvtadev ＝（vvta−vvtaold ）／０．０４
この値vvtadev は、カム軸位相の１秒当たりの変化量、すなわちカム軸位相の変化速度となる。
【００４８】
この後、ステップ３０２に進み、カム軸位相の変化速度vvtadev に係数ｋを乗算して、エンジン回転速度neとモータ回転速度との回転速度差nedev を求める。
nedev ＝vvtadev ×ｋ
【００４９】
ここで、係数ｋは、モータ１８の基本速度であって、カム軸１３とモータ１８のギア比（減速比）により決まる。例えば、ギア比が１５０の場合、エンジン回転速度が１５００ｒｐｍのときに、モータ１８が６０℃Ａ／ｓｅｃの速度で回転する。従って、エンジン回転速度１５００ｒｐｍとモータ回転速度６０℃Ａ／ｓｅｃとの比から２５（＝１５００／６０）が算出され、この値が係数ｋになる。
【００５０】
この後、ステップ３０３に進み、回転速度差nedev をエンジン回転速度neに加算して、モータ回転速度推定値revmotorを求める。
revmotor＝ne＋nedev
上述したステップ３０１〜３０３の処理は、特許請求の範囲でいうモータ回転速度推定手段として機能する。
【００５１】
この後、ステップ３０４に進み、モータ回転速度推定値revmotorの絶対値を所定の低回転判定値KMOTOREN1 と比較して、モータ回転速度推定値revmotorの絶対値が低回転判定値KMOTOREN1 よりも大きいと判定されれば、ステップ３０５に進み、異常診断許可フラグxjdge を「１」にセットして異常診断を許可する。
【００５２】
これに対し、上記ステップ３０４で、モータ回転速度推定値revmotorの絶対値が低回転判定値KMOTOREN1 以下と判定されれば、ステップ３０６に進み、異常診断許可フラグxjdge を「０」にリセットして異常診断を禁止する。
【００５３】
この後、ステップ３０７に進み、次回の本ルーチンの処理で用いるカム軸位相の前回進角値vvtaold の記憶データを現在の実進角値vvtaをvvtaold で更新して、本ルーチンを終了する。
【００５４】
以上説明した本実施例１によれば、モータ回転速度が小さくなると、位置信号ＶＴＳや方向信号ＶＴＤのエッジを検出できないためにモータ回転状態検出系の異常診断を誤判定する可能性があることを考慮して、カム軸位相変化速度及びエンジン回転速度neに基づいてモータ回転速度推定値revmotorを算出し、このモータ回転速度推定値revmotorが所定範囲内（｜revmotor｜≦KMOTOREN1 ）にあるときに異常診断を禁止するようにしたので、位置信号ＶＴＳや方向信号ＶＴＤのエッジを検出できない可能性のあるモータ低回転領域でモータ回転状態検出系の正常な状態を異常と誤判定することを未然に防止でき、異常診断の信頼性を向上することができる。
【実施例２】
【００５５】
図７に示すように、カム軸位相（バルブタイミング）を遅角する場合は、モータ回転速度を低下させるため、モータ回転速度が０付近となる可能性があり、位置信号ＶＴＳや方向信号ＶＴＤのエッジを検出できない可能性がある。
【００５６】
そこで、本発明の実施例２では、図９の異常診断許可／禁止判定ルーチンを実行することで、カム軸位相が遅角側に変化しているときに、モータ回転状態検出系の異常診断を禁止するようにしている。本実施例２でも、前記実施例１で説明した図４、図６の各異常診断ルーチンを実行する。
【００５７】
図９の異常診断許可／禁止判定ルーチンは、所定の診断処理周期（例えば４０ｍｓ周期）で繰り返し実行され、特許請求の範囲でいう異常診断手段として役割を果たす。本ルーチンが起動されると、まずステップ４０１で、現在のカム軸位相（実進角値）vvtaと、本ルーチンの前回終了時に取り込んだカム軸位相vvtaold との差であるカム軸位相変化量を求め、このカム軸位相変化量が所定値KMOTOREN2 （例えば０又は０付近の値）以上であるか否かを判定する。その結果、カム軸位相変化量が所定値KMOTOREN2 以上であると判定されれば、カム軸位相が遅角側に変化していないと判断して、ステップ４０２に進み、ステップ異常診断許可フラグxjdge を「１」にセットして異常診断を許可する。
【００５８】
これに対し、上記ステップ４０１で、カム軸位相変化量が所定値KMOTOREN2 未満と判定されれば、カム軸位相が遅角側に変化していると判断して、ステップ４０３に進み、異常診断許可フラグxjdge を「０」にリセットして異常診断を禁止する。
【００５９】
この後、ステップ４０４に進み、次回の本ルーチンの処理で用いるカム軸位相の前回進角値vvtaold の記憶データを現在の実進角値vvtaをvvtaold で更新して、本ルーチンを終了する。
【００６０】
以上説明した本実施例２によれば、カム軸位相が遅角側に変化しているときに、モータ回転速度が０付近となる可能性があり、それによって位置信号ＶＴＳや方向信号ＶＴＤのエッジを検出できない可能性があることを考慮して、カム軸位相が遅角側に変化しているときに、モータ回転状態検出系の異常診断を禁止するようにしたので、位置信号ＶＴＳや方向信号ＶＴＤのエッジを検出できない可能性のあるモータ低回転領域で、モータ回転状態検出系の正常な状態を異常と誤判定することを未然に防止でき、異常診断の信頼性を向上することができる。
【００６１】
上記実施例１，２では、モータ回転速度が０付近の所定範囲内のときや、カム軸位相が遅角側に変化しているときに、モータ回転状態検出系の異常診断を禁止するようにしたが、診断結果を無効とするようにしても良い。
【００６２】
また、上記実施例１，２では、カム軸位相の変化速度及びエンジン回転速度に基づいてモータ回転速度を推定するようにしたので、モータ回転速度を精度良く推定することができる。
その他、本発明は、異常診断方法を適宜変更しても良い等、要旨を逸脱しない範囲内で種々変更して実施できる。
【符号の説明】
【００６３】
１０…クランク軸、１３…カム軸、１４…バルブタイミング調整機構、１５…アウタギア、１６…インナギア、１７…遊星ギア、１８…モータ、２０…カムセンサ、２１…クランクセンサ、２２…ＥＣＵ（異常診断手段，モータ回転速度推定手段）、２３…ＥＤＵ、２４…可変バルブタイミング装置
【図１】
0005573687.tif 000002
【図２】
0005573687.tif 000003
【図３】
0005573687.tif 000004
【図４】
0005573687.tif 000005
【図５】
0005573687.tif 000006
【図６】
0005573687.tif 000007
【図７】
0005573687.tif 000008
【図８】
0005573687.tif 000009
【図９】
0005573687.tif 000010