(57)【要約】【課題】位置センサから出力されるパルス信号を計数したカウンタ値が、モータの実際の回転角に対応した値からずれている場合に、そのずれの原因が位置センサの故障によるものなのか否かを判定することができるモータの制御装置を提供する。【解決手段】位置センサからのパルス信号のエッジを計数したカウンタ値がモータの実際の回転角に対応する値からずれているとき、その対応する値に対するカウンタ値のずれ量についてその積算値である積算ずれ量ΔＰａを所定周期毎に算出する。そして、その積算ずれ量ΔＰａの変化速度ΔＰｓを算出し（Ｓ３１０）、算出された変化速度ΔＰｓが故障判定値Ａ以上である場合には（Ｓ３２０：ＹＥＳ）、位置センサに故障ありと判定する（Ｓ３３０）。一方、変化速度ΔＰｓが故障判定値Ａ未満である場合には（Ｓ３２０：ＮＯ）、位置センサに故障なしと判定する（Ｓ３４０）。【選択図】図１４
2007185046.tif 000002
【特許請求の範囲】
【請求項１】
所定の回転角範囲内での回転駆動が行われるモータと、同モータの回転に伴いパルス信号を出力する位置センサとを備え、その位置センサからのパルス信号のエッジを計数したカウンタ値に基づき、前記モータの回転角を検出するモータの制御装置において、
前記カウンタ値が前記モータの実際の回転角に対応する値からずれているとき、その対応する値に対する前記カウンタ値のずれ量を算出する算出手段と、
前記ずれ量の変化速度を算出し、その変化速度に基づいて前記位置センサの故障判定を行う判定手段とを備える
ことを特徴とするモータの制御装置。
【請求項２】
前記判定手段は、前記算出される変化速度が、前記パルス信号にノイズが重畳したときの変化速度よりも大きい場合に前記位置センサに故障ありと判定する
請求項１に記載のモータの制御装置。
【請求項３】
前記モータは、その回転時に同モータに設けられた複数の電気角センサから位相をずらして出力されるパルス信号の出力パターンに基づき通電相を切り換えることで駆動されるブラシレスモータであり、
前記位置センサは、各電気角センサから出力されるパルス信号のエッジ間隔よりも短いエッジ間隔のパルス信号を出力するものであり、
前記算出手段は、各電気角センサから出力されるパルス信号のエッジ発生毎に、今回のエッジ発生時における位置カウンタのカウンタ値Ｐi と前回のエッジ発生時における位置カウンタのカウンタ値Ｐi-1 との差（Ｐi −Ｐi-1 ）を算出し、この差（Ｐi −Ｐi-1 ）の正常時の値である正常値に対する当該差（Ｐi −Ｐi-1 ）のずれ量を、前記モータの実際の回転角に対応する値に対する前記カウンタ値のずれ量とする
請求項１または２に記載のモータの制御装置。
【請求項４】
前記算出手段は、前記モータの回転状態が正回転中、逆回転中、及び正逆回転反転中のうちのいずれであるかを判断し、前記各電気角センサから出力されるパルス信号のエッジ間において前記位置センサから出力されるパルス信号のエッジ数の適正値が「ｎ」であるとすると、前記正常値をモータ正回転中であれば「ｎ」に設定し、モータ逆回転中であれば「−ｎ」に設定し、モータ正逆回転反転中であれば「０」に設定する
請求項３記載のモータの制御装置。
【請求項５】
請求項１〜４のいずれか１項に記載のモータの制御装置において、
前記ずれ量を補正値として設定し、その補正値分の補正を前記カウンタ値に加える補正手段を備え、
前記判定手段は、前記ずれ量の積算値を算出するとともにその積算値の変化速度に基づいて前記位置センサの故障判定を行う
ことを特徴とするモータの制御装置。
【請求項６】
前記モータは、内燃機関の機関バルブのバルブ特性を可変とする可変動弁機構の駆動に用いられるものである
請求項１〜５のいずれか１項に記載のモータの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータの制御装置に関する。
【背景技術】
【０００２】
従来、ブラシレスモータ等のモータを所定の回転角範囲内で回転駆動し、それによって各種機構を駆動するといったことが行われている。この場合、各種機構を精密に駆動するには、モータの回転角を正確に検出し、その回転角を各種機構の目標とする駆動状態に対応した回転角とすることが重要になる。
【０００３】
こうした回転角を検出するべく、特許文献１に記載のものでは、モータの回転に伴いパルス信号を出力する位置センサとしてエンコーダを設け、その位置センサから出力されるパルス信号を計数するようにしている。この検出方法によれば、同エッジを計数したカウンタ値がモータの回転角に対応した値になり、そのカウンタ値に基づいてモータの回転角を検出することができる。
【特許文献１】特開２００４−７６２６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、上記位置センサからのパルス信号のエッジを計数して得られるカウンタ値は、常にモータの実際の回転角に対応しているとは限らず、場合によっては実際の回転角に対応した値からずれてしまうことがある。
【０００５】
例えば、位置センサから出力される信号にノイズが重畳すると、そのノイズのエッジがパルス信号のエッジと誤認されてしまい、パルス信号のエッジを計数して得られるカウンタ値は、モータの実際の回転角に対応した値からずれてしまう。この場合、カウンタ値に基づき検出されるモータの回転角が不正確になるため、その回転角等に基づいてモータを駆動し、各種機器を目標とする駆動状態に制御しようとしても、それを正しく行うことができなくなるといった不具合が発生する。
【０００６】
こうした不具合の発生を抑えるために、本出願人は、先に出願済みの特願２００５−２１８９３４に記載の装置にて、上記カウンタ値が実際のモータの回転角に対応する正常値からずれている場合、そのカウンタ値に異常ありと判定するようにしている。そして、そのずれ量に対応する分の補正を当該カウンタ値に加えることにより、そのカウンタ値を実際のモータ回転角に対応する値へと戻すようにしている。より詳細には、制御装置により制御されるモータが、複数の電気角センサから位相をずらして出力されるパルス信号の出力パターンに基づき通電相を切り換えることで駆動されるブラシレスモータであり、位置センサからは、各電気角センサからのパルス信号のエッジ間隔よりも短いエッジ間隔のパルス信号が出力される。そして、各電気角センサから出力されるパルス信号のエッジ発生毎に、前回のエッジ発生時におけるカウンタ値と今回のエッジ発生時におけるカウンタ値との差を算出する。そして、この差が、正常値、すなわち各電気角センサから出力されるパルス信号のエッジ間において位置センサから出力されるはずのパルス信号のエッジ数と異なっている場合に、カウンタ値に異常あり（ずれあり）と判定するようにしている。さらに、カウンタ値に異常ありと判定された場合には、その算出された差と正常値との差分を同カウンタ値に加え、これによりそのカウンタ値を実際のモータ回転角に対応する値へと戻すようにしている。
【０００７】
ここで、カウンタ値のずれは、ノイズの重畳のみならず、位置センサの断線やショートなどでも発生するため、上記態様にてカウンタ値のずれを検出しても、そのずれの発生原因がノイズの重畳によるものなのか断線やショートといった故障によるものなのかを区別することができず、この点において更なる改善の余地を残すものとなっている。
【０００８】
この発明は、こうした実情に鑑みてなされたものであって、その目的は、位置センサから出力されるパルス信号を計数したカウンタ値が、モータの実際の回転角に対応した値からずれている場合に、そのずれの原因が位置センサの故障によるものなのか否かを判定することができるモータの制御装置を提供することにある。
【課題を解決するための手段】
【０００９】
以下、上記目的を達成するための手段及びその作用効果について記載する。
請求項１に記載の発明は、所定の回転角範囲内での回転駆動が行われるモータと、同モータの回転に伴いパルス信号を出力する位置センサとを備え、その位置センサからのパルス信号のエッジを計数したカウンタ値に基づき、前記モータの回転角を検出するモータの制御装置において、前記カウンタ値が前記モータの実際の回転角に対応する値からずれているとき、その対応する値に対する前記カウンタ値のずれ量を算出する算出手段と、前記ずれ量の変化速度を算出し、その変化速度に基づいて前記位置センサの故障判定を行う判定手段とを備えることをその要旨とする。
【００１０】
位置センサから出力される信号にノイズが重畳する毎に、上記カウンタ値はモータの実際の回転角に対応した値からずれていくが、そうしたノイズの重畳は継続して起きるわけではなく、偶発的に起きることが多いため、ノイズの重畳によるカウンタ値のずれ量について、その変化速度は比較的遅い傾向にある。一方、位置センサの断線やショートなどといった同位置センサの故障時には、その出力信号であるパルス信号が正常に出力されなくなるため、モータが回転してもカウンタ値はほとんど変化しなくなり、上記ずれ量は急速に大きくなっていく。このように、位置センサに故障が生じている場合には、同位置センサから出力される信号にノイズが重畳した場合と比較して、カウンタ値のずれ量の変化速度は速くなるため、こうしたずれ量の変化速度に基づいて位置センサの故障判定を行う同構成によれば、カウンタ値のずれの原因が位置センサの故障によるものなのか否かを判定することができるようになる。
【００１１】
なお、上記ずれ量の変化速度に基づく位置センサの故障判定に際しては、請求項２に記載の発明によるように、前記判定手段は、前記算出される変化速度が、前記パルス信号にノイズが重畳したときの変化速度よりも大きい場合に前記位置センサに故障ありと判定する、といった構成を採用することにより、同位置センサの故障を適切に検出することができるようになる。
【００１２】
請求項３に記載の発明は、請求項１または２に記載のモータの制御装置において、前記モータは、その回転時に同モータに設けられた複数の電気角センサから位相をずらして出力されるパルス信号の出力パターンに基づき通電相を切り換えることで駆動されるブラシレスモータであり、前記位置センサは、各電気角センサから出力されるパルス信号のエッジ間隔よりも短いエッジ間隔のパルス信号を出力するものであり、前記算出手段は、各電気角センサから出力されるパルス信号のエッジ発生毎に、今回のエッジ発生時における位置カウンタのカウンタ値Ｐi と前回のエッジ発生時における位置カウンタのカウンタ値Ｐi-1 との差（Ｐi −Ｐi-1 ）を算出し、この差（Ｐi −Ｐi-1 ）の正常時の値である正常値に対する当該差（Ｐi −Ｐi-1 ）のずれ量を、前記モータの実際の回転角に対応する値に対する前記カウンタ値のずれ量とすることをその要旨とする。
【００１３】
上記構成によれば、位置カウンタのカウンタ値がモータの実際の回転角に対応した値からずれると、そのずれが差（Ｐi −Ｐi-1 ）に反映される。すなわち、そのずれの分だけ上記差（Ｐi −Ｐi-1 ）が正常値からずれることになる。従って、正常値に対する上記差（Ｐi −Ｐi-1 ）のずれ量を、位置カウンタのカウンタ値におけるモータの実際の回転角に対応する値からのずれ量として用いる同構成によれば、カウンタ値のずれ量を適切に算出することができるようになる。
【００１４】
請求項４に記載の発明は、請求項３記載のモータの制御装置において、前記算出手段は、前記モータの回転状態が正回転中、逆回転中、及び正逆回転反転中のうちのいずれであるかを判断し、前記各電気角センサから出力されるパルス信号のエッジ間において前記位置センサから出力されるパルス信号のエッジ数の適正値が「ｎ」であるとすると、前記正常値をモータ正回転中であれば「ｎ」に設定し、モータ逆回転中であれば「−ｎ」に設定し、モータ正逆回転反転中であれば「０」に設定することをその要旨とする。
【００１５】
位置カウンタのカウンタ値は、ブラシレスモータの正回転時に位置センサからのパルス信号のエッジ毎に「１」ずつ増加してゆき、ブラシレスモータの逆回転時には位置センサからのパルス信号のエッジ毎に「１」ずつ減少してゆく。このため、位置カウンタのカウンタ値が正常であるとき、換言すればカウンタ値がモータの実際の回転角に対応しているとき、差（Ｐi −Ｐi-1 ）は、モータ正回転中であれば上記エッジ数ｎに対応して「ｎ」となり、モータ逆回転中であれば「−ｎ」となり、ブラシレスモータの正逆回転反転中であれば「０」となる。この点、同構成によれば、正常値がブラシレスモータの回転状態に応じて「ｎ」、「−ｎ」、及び「０」の間で切り換えられるため、その正常値に対する差（Ｐi −Ｐi- 1 ）のずれ量をモータの回転状態に関わらず適切に算出することができるようになる。
【００１６】
請求項５に記載の発明は、請求項１〜４のいずれか１項に記載のモータの制御装置において、前記ずれ量を補正値として設定し、その補正値分の補正を前記カウンタ値に加える補正手段を備え、前記判定手段は、前記ずれ量の積算値を算出するとともにその積算値の変化速度に基づいて前記位置センサの故障判定を行うことをその要旨とする。
【００１７】
同構成によれば、上記補正手段によってカウンタ値のずれを修正することができるようになる。ここで、カウンタ値に対するずれ量補正を行う場合には、そのずれ補正の実行タイミング毎にずれ量は「０」になる。そのため、位置センサの故障によって上述したようなずれ量の増大が生じたとしても、ずれ補正の実行タイミング毎にずれ量はリセットされる。従って、上記ずれ量補正を行う場合には、ノイズの重畳によるずれ量の変化速度と、位置センサの故障によるずれ量の変化速度との違いが小さくなり、位置センサの故障判定に関する精度が低下してしまうおそれがある。この点、上記算出手段にて算出されたずれ量を積算し、その積算値の変化速度に基づいて位置センサの故障判定を行うようにすれば、そうした不都合の発生を抑えることができる。
【００１８】
すなわち、ノイズの重畳は偶発的に起きることが多く、そうした重畳が発生していなければ、算出されるずれ量は「０」になる。そのため、ノイズの重畳によって生じたずれ量の積算値についてその増大速度は、ずれ量補正を行わない場合のずれ量と同様に、比較的遅くなる。一方、位置センサの故障時には、算出されるずれ量が常に「０」以外の値になるため、その故障時には、ずれ量が算出されるたびにずれ量の積算値は増大する。そのため、位置センサの故障時におけるずれ量の積算値についてその増大速度は、ずれ量補正を行わない場合のずれ量と同様に、ノイズが重畳した場合の変化速度よりも速くなる。そこで同構成では、カウンタ値のずれ量を補正するようにした場合、そうしたずれ量の積算値の変化速度に基づいて位置センサの故障判定を行うようにしており、こうした構成を備えることにより、カウンタ値のずれ量を補正する場合であっても、カウンタ値のずれの原因が位置センサの故障によるものなのか否かを適切に判定することができるようになる。
請求項６に記載の発明は、請求項１〜５のいずれか１項に記載のモータの制御装置において、前記モータは、内燃機関の機関バルブのバルブ特性を可変とする可変動弁機構の駆動に用いられるものであることをその要旨とする。
【００１９】
内燃機関の可変動弁機構をモータで駆動する場合、上記カウンタ値に基づいてモータの回転角を検出し、その回転角が目標とするバルブ特性に対応した回転角となるようにモータは駆動される。ここで、位置センサに故障が生じていると、カウンタ値はモータの実際の回転角に対応した値からずれていくため、そのカウンタ値に基づき検出されるモータの回転角は不正確になる。従って、当該回転角に基づいてモータを制御しても、バルブ特性を目標とする特性に変更することができず、機関運転に対して悪影響を与えてしまうおそれがある。この点、上記構成によれば、可変動弁機構を駆動するモータの回転角を検出するべく設けられた位置センサについて、その故障判定を適切に行うことができるようになる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明を、エンジンに設けられた可変動弁機構を駆動するモータの制御装置に具体化した一実施形態について、図１〜図１４を併せ参照して説明する。
図１に、本実施形態におけるエンジンのシリンダヘッド周りについてその断面構造を示す。
【００２１】
この図１に示すように、このエンジン１には、シリンダヘッド２、シリンダブロック３、及びピストン５によって燃焼室６が区画形成されており、この燃焼室６には吸気通路７及び排気通路８が接続されている。そして、吸気通路７と燃焼室６との間は、吸気バルブ９の開閉動作によって連通・遮断され、排気通路８と燃焼室６との間は、排気バルブ１０の開閉動作によって連通・遮断される。
【００２２】
シリンダヘッド２には、吸気バルブ９及び排気バルブ１０を駆動するための吸気カムシャフト１１及び排気カムシャフト１２が設けられている。これら吸気カムシャフト１１及び排気カムシャフト１２は、エンジン１のクランクシャフトの回転力を利用して回転駆動される。また、吸気カムシャフト１１及び排気カムシャフト１２には、それぞれ吸気カム１１ａ及び排気カム１２ａが設けられている。そして、吸気カムシャフト１１と一体回転する吸気カム１１ａによって吸気バルブ９は開閉動作され、排気カムシャフト１２と一体回転する排気カム１２ａによって排気バルブ１０は開閉動作される。
【００２３】
また、吸気カム１１ａと吸気バルブ９との間には、吸気バルブ９のバルブ特性、より詳細には吸気バルブ９の最大リフト量ＶＬ、及び同吸気バルブ９の開弁期間に相当する吸気カム１１ａの作用角ＩＮＣＡＭを可変とする可変動弁機構１４が設けられている。この可変動弁機構１４の駆動を通じて、燃焼室６に導入される吸入空気量を多く必要とする機関運転状態になるほど、最大リフト量ＶＬ及び作用角ＩＮＣＡＭ（開弁期間）は大きくされる。これは最大リフト量ＶＬ及び作用角ＩＮＣＡＭが大きくなるほど、吸気通路７から燃焼室６への空気の吸入が効率よく行われ、吸入空気量に関する上記要求を満たすことが可能になるためである。
【００２４】
次に、可変動弁機構１４の詳細な構造について説明する。
同可変動弁機構１４は、シリンダヘッド２に固定されて吸気カムシャフト１１と平行に延びるパイプ状のロッカシャフト１５、ロッカシャフト１５に挿入された棒状のコントロールシャフト１６、コントロールシャフト１６の軸線を中心に揺動する入力アーム１７、入力アーム１７の揺動に基づき上記軸線を中心に揺動する出力アーム１８等を備えている。
【００２５】
入力アーム１７には、ローラ１９が回転可能に取り付けられており、このローラ１９は、コイルスプリング２０によって吸気カム１１ａ側に押し付けられている。また、出力アーム１８は、その揺動時にロッカアーム２１に押し付けられ、同ロッカアーム２１を介して吸気バルブ９をリフトさせる。
【００２６】
このロッカアーム２１の一端部はラッシュアジャスタ２２によって支持され、同ロッカアーム２１の他端部は吸気バルブ９に接触している。また、ロッカアーム２１は吸気バルブ９のバルブスプリング２４によって出力アーム１８側に付勢されており、これによりロッカアーム２１の一端部と他端部との間に回転可能に支持されたローラ２３が出力アーム１８に押し付けられている。従って、吸気カム１１ａの回転に基づき入力アーム１７及び出力アーム１８が揺動すると、出力アーム１８がロッカアーム２１を介して吸気バルブ９をリフトさせ、吸気バルブ９の開閉動作が行われる。
【００２７】
この可変動弁機構１４では、ロッカシャフト１５内に配置されたコントロールシャフト１６を軸方向に変位させることで、入力アーム１７と出力アーム１８との揺動方向についての相対位置を変更することが可能になっている。このように、入力アーム１７と出力アーム１８との揺動方向について、それらの相対位置を変更することにより、上記吸気バルブ９の最大リフト量ＶＬ及び作用角ＩＮＣＡＭが可変とされる。すなわち、入力アーム１７と出力アーム１８とを揺動方向について互いに接近させるほど、吸気バルブ９の最大リフト量ＶＬ及び作用角ＩＮＣＡＭはともに同期しながら小さくなる。逆に、入力アーム１７と出力アーム１８とを揺動方向について互いに離間させるほど、吸気バルブ９の最大リフト量ＶＬ及び作用角ＩＮＣＡＭはともに同期しながら大きくなる。
【００２８】
次に、可変動弁機構１４を駆動するべく上記コントロールシャフト１６を軸方向に変位させるための駆動機構、及び、その駆動機構を駆動制御する制御装置について、図２を参照して説明する。
【００２９】
同図２に示されるように、コントロールシャフト１６の末端（図中右端）には、ブラシレスモータ４７が変換機構４８を介して連結されている。この変換機構４８は、ブラシレスモータ４７の回転運動をコントロールシャフト１６の軸方向への直線運動に変換するためのものである。そして、上記ブラシレスモータ４７の所定の回転角範囲内での回転駆動、例えば同モータ４７の１０回転分の回転角範囲（０〜３６００°）内での回転駆動を通じて、コントロールシャフト１６が軸方向に変位させられ、可変動弁機構１４が駆動されることとなる。
【００３０】
ちなみに、ブラシレスモータ４７を正回転させると、コントロールシャフト１６は先端（図中左端）側に変位し、入力アーム１７と出力アーム１８との揺動方向についての相対位置が互いに接近するように変更される。また、ブラシレスモータ４７を逆回転させると、コントロールシャフト１６は末端（図中右端）側に変位し、入力アーム１７と出力アーム１８との揺動方向についての相対位置が互いに離間するように変更される。こうしたブラシレスモータ４７の回転駆動による入力アーム１７及び出力アーム１８の揺動方向についての相対位置の変更を通じて、吸気カム１１ａの回転により出力アーム１８が揺動したときの吸気バルブ９の最大リフト量ＶＬ及び作用角ＩＮＣＡＭが可変とされる。
【００３１】
ブラシレスモータ４７には、三つの電気角センサＳ１〜Ｓ３、及び二つの位置センサＳ４，Ｓ５が設けられている。
三つの電気角センサＳ１〜Ｓ３は、ブラシレスモータ４７の回転時、同モータ４７のロータと一体回転する４極の多極マグネットの磁気に応じて、図３（ａ）〜（ｃ）に示すようなパルス状の信号、すなわちハイ信号「Ｈ」とロー信号「Ｌ」とを交互に出力するものである。また、各電気角センサＳ１〜Ｓ３からのパルス信号は、互いに位相をずらした状態で出力されるようになっている。すなわち、こうしたパルス信号の波形が得られるよう、上記ロータに対する各電気角センサＳ１〜Ｓ３の周方向位置が定められている。なお、各電気角センサＳ１〜Ｓ３のうちの一つのセンサから出力されるパルス信号のエッジは、ブラシレスモータ４７の４５°回転毎に発生している。また、上記一つのセンサからのパルス信号は、他の２つのセンサからのパルス信号に対し、ブラシレスモータ４７の３０°回転分だけそれぞれ進み側及び遅れ側に位相がずれた状態となっている。
【００３２】
二つの位置センサＳ４，Ｓ５は、ブラシレスモータ４７の回転時、同モータ４７のロータと一体回転する４８極の多極マグネットの磁気に応じて、図３（ｄ）及び（ｅ）に示されるようなパルス状の信号、すなわちハイ信号「Ｈ」とロー信号「Ｌ」とを交互に出力するものである。また、各位置センサＳ４，Ｓ５からのパルス信号は、互いに位相をずらした状態で出力されるようになっており、モータ正回転時には位置センサＳ４からのパルス信号の立ち上がりエッジ及び立ち下がりエッジがそれぞれ、位置センサＳ４からのパルス信号の立ち上がりエッジ及び立ち下がりエッジよりも先に生じる。すなわち、こうしたパルス信号の波形が得られるよう、上記ロータに対する各位置センサＳ４，Ｓ５の周方向位置が定められている。なお、各位置センサＳ４，Ｓ５の内の一方のセンサから出力されるパルス信号のエッジは、ブラシレスモータ４７の７．５°回転毎に発生している。また、上記一方のセンサからのパルス信号は、他方のセンサからのパルス信号に対し、ブラシレスモータ４７の３．７５°回転分だけ位相をずらした状態となっている。
【００３３】
従って、電気角センサＳ１〜Ｓ３からのパルス信号のエッジ間隔が１５°であるのに対し、位置センサＳ４，Ｓ５からのパルス信号のエッジ間隔は３．７５°となっており、上記１５°というエッジ間隔よりも短くなっている。更に、電気角センサＳ１〜Ｓ３からのパルス信号のエッジ発生から次回のエッジ発生までには、位置センサＳ４，Ｓ５からのパルス信号のエッジが４回発生するようになっている。
【００３４】
上記各センサＳ１〜Ｓ５やブラシレスモータ４７の電力線は、可変動弁機構１４の駆動制御、換言すればブラシレスモータ４７の回転駆動制御を行うモータ用電子制御装置３０に接続されている。このモータ用電子制御装置３０には、上記各センサＳ１〜Ｓ５が接続されたセンサ用制御部３１、ブラシレスモータ４７の各通電相（Ｕ相、Ｖ相、Ｗ相）に対応した電力線が接続された電源部３２、上記各センサＳ１〜Ｓ５の検出信号等に基づいて各種演算処理を実行する演算処理部３３等を備えている。
【００３５】
センサ用制御部３１では、各位置センサＳ４、Ｓ５の信号に基づいてブラシレスモータ４７の相対回転角が検出されるとともに、その検出される相対回転角と予め学習された基準位置とに基づいてブラシレスモータ４７の絶対回転角が算出される。また、ブラシレスモータ４７の回転時に、各電気角センサＳ１〜Ｓ３から出力されるパルス信号のパターンに応じて上記通電相を切り換えるための切換信号が上記電源部３２に対して出力される。
【００３６】
電源部３２では、ブラシレスモータ４７の各通電相（Ｕ相、Ｖ相、Ｗ相）に対して、上記切換信号に応じた電力供給が行われる。
そして、演算処理部３３では、上記検出される相対回転角や絶対回転角に基づいて各種演算処理が実行されるとともに、上記切換信号の出力タイミングなどがセンサ用制御部３１に対して出力される。また、この演算処理部３３にも、上記位置センサＳ４、Ｓ５の信号が入力され、それら信号に基づいてブラシレスモータ４７の回転速度が、より詳細にはブラシレスモータ４７の相対回転角が算出される。
【００３７】
また、モータ用電子制御装置３０の演算処理部３３は、エンジン１の各種制御を行うエンジン用電子制御装置５０に接続されている。
このエンジン用電子制御装置５０は、上記各種演算処理を実行するＣＰＵ、その制御に必要なプログラムやデータの記憶されたＲＯＭ、ＣＰＵの演算結果が一時的に記憶されるＲＡＭ、外部との間で信号を入・出力するための入・出力ポート等を備えて構成されている。
【００３８】
エンジン用電子制御装置５０の入力ポートには、上記演算処理部３３からの各種信号が入力されるほか、以下のような各種センサ及びスイッチなども接続されている。
・自動車の運転者によって踏み込み操作されるアクセルペダルの踏み込み量（アクセル操作量ＡＣＣＰ）を検出するアクセルセンサ５１。
【００３９】
・エンジン１の吸気通路７に設けられたスロットルバルブの開度（スロットル開度ＴＡ）を検出するスロットルセンサ５２。
・上記吸気通路７を介して燃焼室６に吸入される空気の量、すなわち吸入空気量ＧＡを検出するエアフロメータ５３。
【００４０】
・エンジン１の出力軸の回転に対応する信号を出力して機関回転速度ＮＥの検出等に用いられるクランク角センサ５４。
・自動車の運転者により切り換え操作され、現在の切換位置に対応した信号を出力するイグニッションスイッチ５５。
【００４１】
同エンジン用電子制御装置５０は、上記各種センサ等から入力した検出信号や、演算処理部３３からの各種信号等に基づいて機関運転状態を把握する。そして、その把握した機関運転状態に基づいてブラシレスモータ４７を駆動するべく、モータ用電子制御装置３０の演算処理部３３に対して駆動指令値を出力し、同ブラシレスモータ４７の駆動を通じてコントロールシャフト１６を軸方向に変位させることで、可変動弁機構１４の駆動を通じた吸気バルブ９のバルブ特性制御を行う。
【００４２】
すなわち、可変とされる上記最大リフト量ＶＬ及び作用角ＩＮＣＡＭは、コントロールシャフト１６の軸方向の位置に対応しており、このコントロールシャフト１６の軸方向の位置は、ブラシレスモータ４７の上記所定回転角範囲内での回転角に対応している。従って、最大リフト量ＶＬ及び作用角ＩＮＣＡＭの可変制御に際しては、ブラシレスモータ４７の回転角が制御される。
【００４３】
そうしたブラシレスモータ４７の回転角についてその検出手順を、図３に示すタイミングチャート及び図４に示すフローチャートを併せ参照して説明する。
図３において、（ａ）〜（ｅ）は、ブラシレスモータ４７の回転時における同モータ４７の回転角変化に対し、各センサＳ１〜Ｓ５からパルス信号がどのように出力されるかを示す波形図である。また、（ｆ）〜（ｈ）にはそれぞれ、ブラシレスモータ４７の回転時における同モータ４７の回転角の変化に対し、電気角カウンタＥ、位置カウンタＰ、及びストロークカウンタＳのカウンタ値がどのように推移するかを示している。
【００４４】
なお、上記電気角カウンタＥは、ブラシレスモータ４７を駆動すべく同モータ４７の通電相を切り換える際に用いられるものである。また、上記位置カウンタＰは、エンジン１を運転開始する際のイグニッションスイッチ５５のオン操作（イグニッションオン）後、ブラシレスモータ４７の回転角がどれだけ変化したか、その相対回転角を表すものである。更に、上記ストロークカウンタＳは、ブラシレスモータ４７の上記所定回転角範囲（１０回転分）において、コントロールシャフト１６を最も先端側に変位させたときのブラシレスモータ４７の回転角を基準（０°）とした同モータ４７の回転角を表すものであり、このストロークカウンタＳは、ブラシレスモータ４７の絶対回転角を表している。
【００４５】
図４に、上記電気角カウンタＥ、位置カウンタＰ、及びストロークカウンタＳのカウンタ値を変化させるためのカウント処理についてその手順を示す。このカウント処理は、モータ用電子制御装置３０により、位置センサＳ４，Ｓ５からのパルス信号のエッジ間隔に対応する時間間隔よりも短い間隔をもって周期的に実行される。
【００４６】
本処理においては、まず、先の図３（ａ）〜（ｃ）に示した各電気角センサＳ１〜Ｓ３からのパルス信号の出力パターンに基づき、図３（ｆ）に示すように電気角カウンタＥのカウンタ値を変化させる（Ｓ１０１）。
【００４７】
より詳しくは、図５（ａ）に示すように、各電気角センサＳ１〜Ｓ３から各々ハイ信号「Ｈ」とロー信号「Ｌ」とのいずれが出力されているかに応じて、電気角カウンタＥのカウンタ値は「０」〜「５」の範囲内の連続した整数値のうちのいずれかが当てはめられる。その結果、ブラシレスモータ４７の正回転時（図３中右向き）には、電気角センサＳ１〜Ｓ３からのパルス信号の出力パターンに応じて、「０」〜「５」の範囲内の連続した各整数値が「０」→「１」→「２」→「３」→「４」→「５」→「０」といった順序で順方向に電気角カウンタＥのカウンタ値として当てはめられる。また、ブラシレスモータ４７の逆回転時（図３中左向き）には、電気角センサＳ１〜Ｓ３からのパルス信号の出力パターンに応じて、「０」〜「５」の範囲内の連続した各整数値が「５」→「４」→「３」→「２」→「１」→「０」→「５」といった順序で逆方向に電気角カウンタＥのカウンタ値として当てはめられる。なお、何らかの原因により、各電気角センサＳ１〜Ｓ３全てがハイ信号「Ｈ」を出力する場合、或いは、各電気角センサＳ１〜Ｓ３全てがロー信号「Ｌ」を出力する場合もあるが、これらの場合には異常状態である旨判断され、電気角カウンタＥのカウンタ値がそのまま保持される。
【００４８】
そして、この電気角カウンタＥのカウンタ値に基づいてブラシレスモータ４７の通電相を切り換えることで、同モータの正回転方向または逆回転方向への駆動が行われる。
続いて、各位置センサＳ４，Ｓ５からのパルス信号の出力パターンに基づき、同パルス信号のエッジ毎に位置カウンタＰのカウンタ値が増減される（図４のＳ１０２）。
【００４９】
詳しくは、図５（ｂ）に示すように、位置センサＳ４，Ｓ５のうち、一方のセンサからパルス信号の立ち上がりエッジ或いは立ち下がりエッジのいずれが生じているか、及び他方のセンサからハイ信号「Ｈ」或いはロー信号「Ｌ」のいずれが出力されているかに応じて、位置カウンタＰのカウンタ値には、「＋１」或いは「−１」が加算される。なお、同図５（ｂ）において、「↑」はパルス信号の立ち上がりエッジを表し、「↓」はパルス信号の立ち下がりエッジを表している。こうした処理を実行して得られる位置カウンタＰのカウンタ値は、各位置センサＳ４，Ｓ５からのパルス信号のエッジを計数した値となっている。
【００５０】
ここで、ブラシレスモータ４７の正回転中であれば、位置カウンタＰのカウンタ値は、図３（ｄ）及び（ｅ）に示される位置センサＳ４，Ｓ５からのパルス信号のエッジ毎に「１」ずつ加算されてゆき、図３（ｇ）中の右方向に変化してゆく。また、ブラシレスモータ４７の逆回転中であれば、位置カウンタＰのカウンタ値は、上記エッジ毎に「１」ずつ減算されてゆき、図３（ｇ）中の左方向に変化してゆく。なお、この位置カウンタＰは、イグニッションスイッチ５５のオフ操作（イグニッションオフ）がなされたとき、「０」にリセットされる。従って、位置カウンタＰのカウンタ値は、イグニッションオン後にコントロールシャフト１６が軸方向にどれだけ変位したかを表すものとなる。
【００５１】
そして、図３（ｇ）に示すように変化する位置カウンタＰに応じて、図３（ｈ）に示すようにストロークカウンタＳは変化する。具体的には、位置カウンタＰに対して学習値Ｐｒの正負を反転させた値（−Ｐｒ）を加算して得られる値がストロークカウンタＳのカウンタ値として設定される（図４のＳ１０３）。なお、上記学習値Ｐｒは、コントロールシャフト１６をその移動範囲における図２の左端（先端）側の変位端まで変位させたとき、すなわちブラシレスモータ４７の回転角を上記所定の回転角範囲内における上記コントロールシャフト１６の変位状態に対応する端まで変化させたときの位置カウンタＰのカウンタ値に対応した値である。この学習値Ｐｒは、イグニッションオン後に所定の条件下で学習が行われてエンジン用電子制御装置５０の不揮発性メモリに記憶される。従って、位置カウンタＰのカウンタ値に学習値Ｐｒの正負を反転させた値を加算して得られるストロークカウンタＳのカウンタ値は、コントロールシャフト１６が最も先端側に変位した状態を基準とする同シャフト１６の軸方向位置を表すものになる。このことは、言い換えれば、ストロークカウンタＳのカウンタ値は、ブラシレスモータ４７の上記所定回転角範囲におけるコントロールシャフト１６の上記変位状態に対応する端を基準とした同モータ４７の絶対回転角を表すものになっている。
【００５２】
エンジン用電子制御装置５０は、上記ストロークカウンタＳのカウンタ値に基づき、ブラシレスモータ４７の回転角、換言すれば吸気バルブ９の最大リフト量ＶＬ及び作用角ＩＮＣＡＭを検出する。そして、エンジン用電子制御装置５０は、上記のように検出された最大リフト量ＶＬ及び作用角ＩＮＣＡＭといったバルブ特性の目標値を機関運転状態に基づいて算出し、その目標値を上記モータ用電子制御装置３０に出力する。モータ用電子制御装置３０では、上記検出されたバルブ特性が、エンジン用電子制御装置５０によって算出された目標値となるようにブラシレスモータ４７の回転駆動制御、換言すれば可変動弁機構１４の駆動制御を行う。これにより、上記最大リフト量ＶＬ及び作用角ＩＮＣＡＭといったバルブ特性は目標とする特性に変更される。
【００５３】
ところで、ブラシレスモータ４７の通電相の切り換えに際しては、電気角カウンタＥのカウンタ値が変化してから、通電相の切り換え処理や通電相のコイルへの通電が行われるため、切り換え処理の実行時間やコイルでの電流の立ち上がり時間等の分だけ、実際の通電相の切り換えは遅れてしまう。例えば、図６の（Ａ）に示すように、電気角カウンタＥが「２」から「３」に変化した場合（時刻ｔ（３））、切り換え処理の実行時間やコイルでの電流の立ち上がり時間等が加算された遅れ時間Ｒが経過した時点（時刻ｔ３＋Ｒ）で、電気角カウンタＥ＝「２」に対応した通電相から同カウンタＥ＝「３」に対応した通電相への通電切り換えが完了する。このように、電気角カウンタＥの変化に対して通電相の切り換えが遅れてしまうと、ブラシレスモータ４７の出力トルクが低下してしまい、その結果、可変動弁機構１４を適切に駆動することができなくなるなどといった不都合が発生してしまう。そこで、本実施形態では、モータ用電子制御装置３０にて、通電相の切り換えタイミングを進角処理することにより、そうした通電相の切り換え遅れを抑えるようにしている。すなわち、電気角カウンタＥが変化したときには、変化後の電気角カウンタＥに対応した通電相に通電するのではなく、その変化後の電気角カウンタＥの次に変化するはずの電気角カウンタＥに対応した通電相に対して、上記遅れ時間Ｒを見越して通電相への切り換え処理を開始するようにしている。
【００５４】
上記進角処理の実行態様についてその一例を図６の（Ｂ）に示す。この図６の（Ｂ）に示すごとく、電気角カウンタＥが「１」から「２」に変化した場合（時刻ｔ（２））には、上記遅れ時間Ｒを見越して電気角カウンタＥ＝「３」に対応した通電相への切り換え処理が開始される。より詳細には、電気角カウンタＥが「１」から「２」に変化した場合（時刻ｔ（２））には、その変化時点から所定の時間Ｘが経過した時点（時刻ｔ（２）＋Ｘ）で、電気角カウンタＥ＝「３」に対応した通電相への切り換え処理が開始される。その結果、電気角カウンタＥが「２」から「３」に変化した時点（時刻ｔ（３））では、電気角カウンタＥ＝「３」に対応した通電相への切り換えが完了している。なお、上記時間Ｘは、通電相の切り換え処理を開始した後、上記遅れ時間Ｒが経過した時点で電気角カウンタＥが「２」から「３」に変化するように、ブラシレスモータ４７の回転速度等に基づいて可変設定される。ちなみに、ブラシレスモータ４７の回転速度は、所定期間内の上記位置カウンタＰのカウンタ値の変化量や、所定期間内の上記ストロークカウンタＳのカウンタ値の変化量と相関関係にある。そこで、本実施形態では、適宜設定された期間内における位置カウンタＰのカウンタ値の変化量に基づいて上記時間Ｘを可変設定するようにしている。また、上述した進角処理は、電気角カウンタＥが「１」から「２」に変化した場合のみならず、電気角カウンタＥの値が変化するたびに実行される。
【００５５】
ここで、先の図２に示したセンサ用制御部３１にて算出された相対回転角、すなわち上記位置カウンタＰのカウンタ値を、同センサ用制御部３１から演算処理部３３に向けて所定の通信周期毎に送信し、同演算処理部３３にて、その通信周期毎に送られてくる同カウンタ値の変化量に基づき、上記時間Ｘを算出する。そしてその算出された時間Ｘをセンサ用制御部３１に送信するようにした場合には、次のような不都合が生じてしまう。すなわち、位置カウンタＰのカウンタ値を演算処理部３３へ送信しても、演算処理部３３で算出された時間Ｘがセンサ用制御部３１に送信されるのは、次の通信周期時となるため、この通信周期の時間分だけ進角処理の実行が遅れてしまい、正確に通電相の進角処理を行うことができないおそれがある。
【００５６】
そこで、本実施形態では、上述したように、演算処理部３３でもブラシレスモータ４７の相対回転角、すなわち位置カウンタＰのカウンタ値を算出するようにしており、この演算処理部３３で算出された同カウンタ値について、適宜設定された期間内における変化量を算出し、その算出された変化量に基づいて上記時間Ｘを可変設定するようにしている。そのため、演算処理部３３では、最新のブラシレスモータ４７の回転速度に基づいた時間Ｘが常に算出されており、センサ用制御部３１から電気角カウンタＥが変化したことを示す信号が入力されたときには、進角処理に必要な上記時間Ｘをセンサ用制御部３１に向けて速やかに送信することができる。従って、上記通信周期に起因する進角処理の実行遅れは適切に抑制される。
【００５７】
他方、上記センサ用制御部３１などで算出される位置カウンタＰのカウンタ値は、常にブラシレスモータ４７の実際の回転角に対応しているとは限らず、その実際の回転角に対応した値からずれることがある。例えば、位置センサＳ４，Ｓ５から出力される信号にノイズが重畳すると、そのノイズのエッジと位置センサＳ４，Ｓ５からのパルス信号のエッジとを見分けることができず、ノイズのエッジをパルス信号のエッジと誤認し、パルス信号のエッジを計数する位置カウンタＰのカウンタ値がブラシレスモータ４７の実際の回転角と対応しなくなる。
【００５８】
以下、上記不具合の発生の詳細について、ブラシレスモータ４７の正回転中に上記ノイズが発生した場合、ブラシレスモータ４７の逆回転中に上記ノイズが発生した場合、及び、ブラシレスモータ４７の正逆回転反転中に上記ノイズが発生した場合に分けて説明する。
【００５９】
なお、モータ正回転中及び逆回転中での上記不具合発生の説明については図７のタイミングチャートを参照して行い、モータ正逆回転反転中での上記不具合発生の説明については図８のタイムチャートを参照して行う。図７において、（ａ）〜（ｅ）は、ブラシレスモータ４７の回転角の変化に対する位置センサＳ４，Ｓ５からのパルス信号の波形、電気角カウンタＥのカウンタ値の推移、及び位置カウンタＰのカウンタ値の推移を表している。また、図８において、（ａ）〜（ｄ）は、時間経過に対する位置センサＳ４，Ｓ５からのパルス信号の波形、電気角カウンタＥのカウンタ値の推移、及び位置カウンタＰのカウンタ値の推移を表している。
【００６０】
［モータ正回転中］
ブラシレスモータ４７の正回転中、例えば図７（ａ）に示されるように、位置センサＳ４からの信号にノイズが重畳し、そのノイズが位置センサＳ５からのパルス信号の立ち下がりエッジと重なると、上記ノイズの発生しているタイミングａ，ｂ，ｃでの位置センサＳ４，Ｓ５からの信号の出力パターンは、図９（ａ）に示されるようなパターンとなる。
【００６１】
すなわち、タイミングａにおいては、位置センサＳ４の信号は立ち上がりエッジとなっており、位置センサＳ５の信号はハイ信号になっている。また、タイミングｂにおいては、位置センサＳ４の信号はハイ信号となっており、位置センサＳ５の信号は立ち下がりエッジになっている。そして、タイミングｃにおいては、位置センサＳ４の信号は立ち下がりエッジとなっており、位置センサＳ５の信号はロー信号になっている。
【００６２】
その結果、タイミングａ，ｂ，ｃにおいて、それぞれ位置カウンタＰのカウンタ値に「−１」が加算され、図７（ｄ）のタイミングａ，ｂ，ｃでは、当該カウンタ値が破線で示されるように「１」ずつ減少してゆく。一方、上記ノイズが発生していなければ、タイミングａ，ｂ，ｃのうち、タイミングｂで位置カウンタＰのカウンタ値に「１」が加算されるだけとなるはずである。このため、上記ノイズが発生したときの位置カウンタＰのカウンタ値は、タイミングｃ以降、ブラシレスモータ４７の実際の回転角に対応する値（実線）に対し、二点鎖線で示されるように「４」だけ小さくなる。
【００６３】
［モータ逆回転中］
ブラシレスモータ４７の逆回転中、例えば図７（ａ）に示されるように、位置センサＳ４からの信号にノイズが重畳し、そのノイズが位置センサＳ５からのパルス信号の立ち上がりエッジと重なると、上記ノイズの発生しているタイミングｃ，ｂ，ａでの位置センサＳ４，Ｓ５からの信号の出力パターンは、図９（ｂ）に示されるようなパターンとなる。
【００６４】
すなわち、タイミングｃにおいては、位置センサＳ４の信号は立ち上がりエッジとなっており、位置センサＳ５の信号はハイ信号になっている。また、タイミングｂにおいては、位置センサＳ４の信号はハイ信号となっており、位置センサＳ５の信号は立ち上がりエッジになっている。そして、タイミングａにおいては、位置センサＳ４の信号は立ち下がりエッジとなっており、位置センサＳ５の信号はハイ信号になっている。
【００６５】
その結果、タイミングｃ，ｂ，ａで、それぞれ位置カウンタＰのカウンタ値に「１」が加算され、図７（ｅ）のタイミングｃ，ｂ，ａでは当該カウンタ値が破線で示されるように「１」ずつ増加してゆく。一方、上記ノイズが発生していなければ、タイミングｃ，ｂ，ａのうち、タイミングｂで位置カウンタＰのカウンタ値に「−１」が加算されるだけとなるはずである。このため、上記ノイズが発生したときの位置カウンタＰのカウンタ値は、タイミングａ以降、ブラシレスモータ４７の実際の回転角に対応する値（実線）に対し、二点鎖線で示されるように「４」だけ大きくなる。
【００６６】
［モータ正逆回転反転中］
ブラシレスモータ４７の正逆回転の反転、例えば正回転から逆回転への反転が行われる際、位置センサＳ４，Ｓ５の波形及び電気角カウンタＥのカウンタ値は、時間経過に対してそれぞれ図８（ａ）〜（ｃ）に示されるように推移する。
【００６７】
すなわち、ブラシレスモータ４７の正逆回転反転中、例えば図８（ｂ）に破線Ｌ１で示されるように、位置センサＳ５からの信号にノイズが重畳し、そのノイズが位置センサＳ４からのパルス信号の立ち上がりエッジと重なると、上記ノイズのエッジ及び上記パルス信号のエッジ毎に位置カウンタＰのカウンタ値が「１」ずつ減少してゆく。これは、上記ノイズの重畳によって位置センサＳ４，Ｓ５からの信号の出力パターンが、位置カウンタＰのカウンタ値を「−１」ずつ加算してゆくパターンとなるためである。一方、上記ノイズが発生していなければ、上記のように位置カウンタＰのカウンタ値が「１」ずつ減少する期間に対応する期間中には、位置カウンタＰのカウンタ値に「１」が加算されるはずである。このため、上記ノイズが発生したときの位置カウンタＰのカウンタ値は、ブラシレスモータ４７の実際の回転角に対応する値（実線）に対し、破線Ｌ２で示されるように「４」だけ小さくなる。
【００６８】
また、ブラシレスモータ４７の正逆回転反転中、例えば図８（ｂ）に破線Ｌ３で示されるように、位置センサＳ５からの信号にノイズが重畳し、そのノイズが位置センサＳ４からのパルス信号の立ち下がりエッジと重なると、上記ノイズのエッジ及び上記パルス信号のエッジ毎に位置カウンタＰのカウンタ値が「１」ずつ増加してゆく。これは、上記ノイズの発生によって位置センサＳ４，Ｓ５からの信号の出力パターンが、位置カウンタＰのカウンタ値を「１」ずつ加算してゆくパターンとなるためである。一方、上記ノイズが発生していなければ、上記のように位置カウンタＰのカウンタ値が「１」ずつ増加する期間に対応する期間中には、位置カウンタＰのカウンタ値に「−１」が加算されるはずである。このため、上記ノイズが発生したときの位置カウンタＰのカウンタ値は、ブラシレスモータ４７の実際の回転角に対応する値（実線）に対し、破線Ｌ４で示されるように「４」だけ大きくなる。
【００６９】
以上のように、位置センサＳ４，Ｓ５から出力される信号にノイズが重畳し、そのノイズが位置センサＳ４，Ｓ５からのパルス信号のエッジと重なると、位置カウンタＰのカウンタ値がブラシレスモータ４７の実際の回転角と対応しなくなる。その結果、位置カウンタＰ（正確にはストロークカウンタＳ）のカウンタ値に基づき検出されるブラシレスモータ４７の実際の回転角、言い換えれば最大リフト量ＶＬ及び作用角ＩＮＣＡＭといったバルブ特性が不正確になる。従って、上記検出されたバルブ特性が目標とする特性となるようブラシレスモータ４７（可変動弁機構１４）を駆動したとき、実際のバルブ特性が目標とする特性からずれてしまい、機関運転に対して悪影響を与えるおそれがある。より詳しくは、吸気バルブ９の実際のバルブ特性を目標の特性に制御できないことから、当該バルブ特性に基づくエンジン１の吸入空気量の推定を正しく行えなくなり、ひいてはその推定される吸入空気量に基づきエンジン１を運転制御する際に、エンジン１のエミッション不良や加速不良を招くおそれがある。
【００７０】
そこで本実施形態では、ブラシレスモータ４７の駆動に用いられる電気角センサＳ１〜Ｓ３からのパルス信号を利用して、位置カウンタＰにおけるカウンタ値の異常発生を検出するようにしている。さらに、位置カウンタＰのカウンタ値におけるブラシレスモータ４７の実際の回転角に対応する値からのずれ量を求め、そのずれ量に対応する分の補正を当該カウンタ値に加えて、そのカウンタ値をブラシレスモータ４７の実際の回転角に対応する値に戻すようにもしている。
【００７１】
より詳しくは、以下の［１］〜［４］の処理を実行することで、上述した位置カウンタＰの異常判定を行うとともに、カウンタ値の補正を行うようにしている。
［１］各電気角センサＳ１〜Ｓ３から出力されるパルス信号のエッジ発生毎に、今回のエッジ発生時における位置カウンタＰのカウンタ値Ｐi と前回のエッジ発生時における位置カウンタＰのカウンタ値Ｐi-1 との差（Ｐi −Ｐi-1 ）を算出する。
【００７２】
［２］電気角カウンタＥのカウンタ値の変化に基づきブラシレスモータ４７の回転状態が正回転中、逆回転中、及び正逆回転反転中のうちのいずれであるかを判断する。より詳しくは、各電気角センサＳ１〜Ｓ３からのパルス信号の前回のエッジ発生時と今回のエッジ発生時とにおける各々の電気角カウンタＥの変化方向に基づき、ブラシレスモータ４７が正回転中、逆回転中、及び正逆回転反転中のいずれであるかを判断する。すなわち、図１０に示すように、前回のエッジ発生時と今回のエッジ発生時との電気角カウンタＥの変化方向について、それらが共に順方向であればモータ正回転中である旨の判断を行い、それらが共に逆方向であればモータ逆回転中である旨の判断を行う。また、前回のエッジ発生時と今回のエッジ発生時との電気角カウンタＥの変化方向が順方向と逆方向とで異なっていれば、モータ正逆回転反転中である旨の判断を行う。
【００７３】
そして、ブラシレスモータ４７の回転状態に応じて差（Ｐi −Ｐi-1 ）の正常時の値である正常値Ｊを可変設定する。この正常値Ｊの可変設定では、電気角センサＳ１〜Ｓ３からのパルス信号のエッジ間において位置センサＳ４，Ｓ５から出力されるパルス信号のエッジ数の適正値「ｎ」（本実施形態では「４」）に関係して、正常値Ｊがモータ正回転中であれば「ｎ（＝４）」とされ、モータ逆回転中であれば「−ｎ（＝−４）」とされる。そして、モータ正逆回転反転中であれば正常値Ｊは「０」とされる。
【００７４】
［３］ブラシレスモータの回転状態に応じて設定される上記正常値Ｊに対して上記差（Ｐi −Ｐi-1 ）が異なっている場合、位置カウンタＰのカウンタ値に異常が生じている、すなわち位置カウンタＰのカウンタ値が、ブラシレスモータ４７の実際の回転角に対応する値からずれていると判定する。
【００７５】
［４］カウンタ値に異常が生じていると判定された場合には、上記正常値Ｊに対する差（Ｐi −Ｐi-1 ）のずれ量「Ｊ−（Ｐi −Ｐi-1 ）」を、ブラシレスモータ４７の実際の回転角に対応する値に対するカウンタ値のずれ量ΔＰとして算出し、このずれ量ΔＰを補正値として、当該ずれ量ΔＰ分の補正を位置カウンタＰのカウンタ値に加える。
【００７６】
この場合、上記ノイズの重畳に起因して位置カウンタＰのカウンタ値がブラシレスモータ４７の実際の回転角に対応しなくなり、その実際の回転角に対応する値からずれた状態になると、上記差（Ｐi −Ｐi-1 ）に位置カウンタＰのカウンタ値における上記実際の回転角に対応する値からのずれが反映される。すなわち、そのずれの分だけ上記差（Ｐi −Ｐi-1 ）が正常値Ｊからずれることになる。従って、上記［４］の処理で算出されるずれ量ΔＰを位置カウンタＰのカウンタ値に加えることで、そのカウンタ値においてブラシレスモータ４７の実際の回転角に対応する値からのずれを無くすことができる。このため、位置カウンタＰのカウンタ値等に基づき検出されるバルブ特性が目標の特性となるようブラシレスモータ４７（可変動弁機構１４）を駆動したとき、実際のバルブ特性が目標とする特性からずれてしまい、機関運転に悪影響を与えてしまうといった不具合の発生を抑制することができる。
【００７７】
次に、上述した位置カウンタＰのカウンタ値の異常検出、及びその異常検出時に行われる位置カウンタＰのカウンタ値を正常値に戻すための補正について、ブラシレスモータ４７の正回転中、逆回転中、及び正逆回転反転中に分けて詳しく説明する。
【００７８】
［モータ正回転中］
ブラシレスモータ４７の正回転中、図７（ａ）に示されるようにノイズが発生すると、図７（ｄ）に示されるように、位置カウンタＰのカウンタ値がブラシレスモータ４７の実際の回転角に対応する値（実線）に対し、二点鎖線で示されるように「４」だけ小さくなることは上述したとおりである。この場合、電気角カウンタＥのカウンタ値が「２」から「３」に変化する電気角センサＳ１〜Ｓ３からのパルス信号のエッジ発生時、上記差（Ｐi −Ｐi-1 ）が正常値Ｊ（この場合は「４」）に対し「−４」だけずれた「０」になる。
【００７９】
上記差（Ｐi −Ｐi-1 ）の正常値Ｊについては、モータ正回転中、位置カウンタＰのカウンタ値が位置センサＳ４，Ｓ５からのパルス信号のエッジ毎に「１」ずつ増加することから、電気角センサＳ１〜Ｓ３からのパルス信号のエッジ間において位置センサＳ４，Ｓ５から出力されるパルス信号のエッジ数ｎに関係して、「ｎ」に設定される。なお、この実施形態では、電気角センサＳ１〜Ｓ３からのパルス信号のエッジ間において位置センサＳ４，Ｓ５から出力されるパルス信号のエッジ数ｎが「４」であることから、モータ正回転中の上記正常値Ｊは「４」に設定される。
【００８０】
そして、電気角カウンタＥのカウンタ値が「２」から「３」に変化する電気角センサＳ１〜Ｓ３からのパルス信号のエッジ発生時、上記差（Ｐi −Ｐi-1 ）が正常値Ｊ（＝４）でないことに基づき、位置カウンタＰのカウンタ値の異常発生が検出される。このように、位置カウンタＰのカウンタ値の異常発生が検出されると、正常値Ｊと上記差（Ｐi −Ｐi-1 ）との差「Ｊ−（Ｐi −Ｐi-1 ）」が上記ずれ量ΔＰとして算出され（この場合、ΔＰ＝「４」）、このずれ量ΔＰ分の補正が位置カウンタＰのカウンタ値（二点鎖線）に加えられる。その結果、図７（ｄ）に黒矢印で示されるように、位置カウンタＰのカウンタ値がブラシレスモータ４７の実際の回転角に対応する値（実線）へと変化する。これにより、位置カウンタＰのカウンタ値における上記実際の回転角に対応する値（実線）からのずれが修正される。
【００８１】
［モータ逆回転中］
ブラシレスモータ４７の逆回転中、図７（ａ）に示されるようにノイズが発生すると、図７（ｅ）に示されるように、位置カウンタＰのカウンタ値がブラシレスモータ４７の実際の回転角に対応する値（実線）に対し、二点鎖線で示されるように「４」だけ大きくなることは上述したとおりである。この場合、電気角カウンタＥのカウンタ値が「２」から「１」に変化する電気角センサＳ１〜Ｓ３からのパルス信号のエッジ発生時、上記差（Ｐi −Ｐi-1 ）が正常値Ｊ（この場合は「−４」）に対し「＋４」だけずれた「０」になる。
【００８２】
上記差（Ｐi −Ｐi-1 ）の正常値Ｊについては、モータ逆回転中、位置カウンタＰのカウンタ値が位置センサＳ４，Ｓ５からのパルス信号のエッジ毎に「１」ずつ減少することから、電気角センサＳ１〜Ｓ３からのパルス信号のエッジ間において位置センサＳ４，Ｓ５から出力されるパルス信号のエッジ数ｎに関係して、「−ｎ」に設定される。なお、この実施形態では、エッジ数ｎが「４」であることから、モータ逆回転中の上記正常値Ｊは「−４」に設定される。
【００８３】
そして、電気角カウンタＥのカウンタ値が「２」から「１」に変化する電気角センサＳ１〜Ｓ３からのパルス信号のエッジ発生時、上記差（Ｐi −Ｐi-1 ）が正常値Ｊ（＝−４）でないことに基づき、位置カウンタＰのカウンタ値の異常発生が検出される。このように、位置カウンタＰのカウンタ値の異常発生が検出されると、正常値Ｊと上記差（Ｐi −Ｐi-1 ）との差「Ｊ−（Ｐi −Ｐi-1 ）」が上記ずれ量ΔＰとして算出され（この場合、ΔＰ＝「−４」）、このずれ量ΔＰ分の補正が位置カウンタＰのカウンタ値（二点鎖線）に加えられる。その結果、図７（ｅ）に黒矢印で示されるように、位置カウンタＰのカウンタ値がブラシレスモータ４７の実際の回転角に対応する値（実線）へと変化する。これにより、位置カウンタＰのカウンタ値における上記実際の回転角に対応する値（実線）からのずれが修正される。
【００８４】
［モータ正逆回転反転中］
ブラシレスモータ４７の正逆回転反転中、例えば図８（ｂ）に破線Ｌ１で示されるようにノイズが発生すると、図８（ｄ）に破線Ｌ２で示されるように、位置カウンタＰのカウンタ値がブラシレスモータ４７の実際の回転角に対応する値（実線）に対し、二点鎖線で示されるように「４」だけ小さくなることは上述したとおりである。この場合、電気角カウンタＥのカウンタ値が「３」から「２」に変化する電気角センサＳ１〜Ｓ３からのパルス信号のエッジ発生時、上記差（Ｐi −Ｐi-1 ）が正常値Ｊ（この場合は「０」）に対し「−４」だけずれる。
【００８５】
上記差（Ｐi −Ｐi-1 ）の正常値Ｊについては、位置カウンタＰのカウンタ値がモータ正回転中には位置センサＳ４，Ｓ５からのパルス信号のエッジ毎に「１」ずつ増加し、モータ逆回転中には上記エッジ毎に「１」ずつ減少するため、モータ正逆回転反転中には「０」に設定される。
【００８６】
そして、電気角カウンタＥのカウンタ値が「３」から「２」に変化する電気角センサＳ１〜Ｓ３からのパルス信号のエッジ発生時、上記差（Ｐi −Ｐi-1 ）が正常値Ｊ（＝０）でないことに基づき、位置カウンタＰのカウンタ値の異常発生が検出される。このように、位置カウンタＰのカウンタ値の異常発生が検出されると、正常値Ｊと上記差（Ｐi −Ｐi-1 ）との差「Ｊ−（Ｐi −Ｐi-1 ）」が上記ずれ量ΔＰとして算出され（この場合、ΔＰ＝「４」）、このずれ量ΔＰ分の補正が位置カウンタＰのカウンタ値（破線Ｌ２）に加えられる。その結果、図８（ｄ）に上向き黒矢印で示されるように、位置カウンタＰのカウンタ値がブラシレスモータ４７の実際の回転角に対応する値（実線）へと変化する。これにより、位置カウンタＰのカウンタ値における上記実際の回転角に対応する値（実線）からのずれが修正される。
【００８７】
また、上記ブラシレスモータの正逆回転反転中、例えば図８（ｂ）に破線Ｌ３で示されるようにノイズが発生すると、図８（ｄ）に破線Ｌ４で示されるように、位置カウンタＰのカウンタ値がブラシレスモータ４７の実際の回転角に対応する値（実線）に対し、二点鎖線で示されるように「４」だけ大きくなることは上述したとおりである。この場合、電気角カウンタＥのカウンタ値が「３」から「２」に変化する電気角センサＳ１〜Ｓ３からのパルス信号のエッジ発生時、上記差（Ｐi −Ｐi-1 ）が正常値Ｊ（この場合は「０」）に対し「＋４」だけずれる。
【００８８】
この場合も、電気角カウンタＥのカウンタ値が「３」から「２」に変化する電気角センサＳ１〜Ｓ３からのパルス信号のエッジ発生時、上記差（Ｐi −Ｐi-1 ）が正常値Ｊ（＝０）でないことに基づき、位置カウンタＰのカウンタ値の異常発生が検出される。更に、正常値Ｊと上記差（Ｐi −Ｐi-1 ）との差「Ｊ−（Ｐi −Ｐi-1 ）」が上記ずれ量ΔＰとして算出され（この場合、ΔＰ＝「−４」）、このずれ量ΔＰ分の補正が位置カウンタＰのカウンタ値（破線Ｌ４）に加えられる。その結果、図８（ｄ）に下向き黒矢印で示されるように、位置カウンタＰのカウンタ値がブラシレスモータ４７の実際の回転角に対応する値（実線）へと変化する。これにより、位置カウンタＰのカウンタ値における上記実際の回転角に対応する値（実線）からのずれが修正される。
【００８９】
次に、位置カウンタＰのカウンタ値の異常検出手順、及び、その異常を検出したときに当該カウンタ値を正しい値に戻すための補正手順について、位置カウンタ異常検出処理を示す図１１及び図１２のフローチャートを参照して説明する。この位置カウンタ異常検出処理は、モータ用電子制御装置３０を通じて、位置センサＳ４，Ｓ５からのパルス信号のエッジ間隔に対応する時間間隔よりも短い間隔をもって周期的に実行される。
【００９０】
本処理では、電気角センサＳ１〜Ｓ３からのパルス信号のエッジが発生したときに（図１１のＳ２０１：ＹＥＳ）、位置カウンタＰのカウンタ値がモータ用電子制御装置３０内のメモリに記憶される（Ｓ２０２）。そして、今回のエッジ発生時のカウンタ値Ｐi  と前回のエッジ発生時のカウンタ値Ｐi-1 との差（Ｐi −Ｐi-1 ）が算出される（Ｓ２０３）。
【００９１】
続いて、ブラシレスモータ４７の回転状態に応じて、上記差（Ｐi −Ｐi-1 ）の正常値Ｊが可変設定される。具体的には、正常値Ｊは、モータ正回転中（図１２のＳ２０４：ＹＥＳ）であれば「４」に設定され（Ｓ２０６）、モータ逆回転中（Ｓ２０５：ＹＥＳ）であれば「−４」に設定され（Ｓ２０７）、モータ正逆回転反転中（Ｓ２０５：ＮＯ）であれば「０」に設定される（Ｓ２０８）。
【００９２】
そして、上記差（Ｐi −Ｐi-1 ）が正常値Ｊと等しいか否かに基づき、位置カウンタＰのカウンタ値に異常が発生しているか否かが判断される（Ｓ２０９）。ここで差（Ｐi −Ｐi-1 ）が正常値Ｊでなく肯定判定がなされると、位置カウンタＰのカウンタ値における異常発生が検出される（Ｓ２１０）。
【００９３】
このようにカウンタ値に異常ありとの判定がなされると、正常値Ｊと上記差（Ｐi −Ｐi-1 ）との差「Ｊ−（Ｐi −Ｐi-1 ）」がカウンタ値のずれ量ΔＰとして算出される（Ｓ２１１）。
【００９４】
また、ステップＳ２０９で差（Ｐi −Ｐi-1 ）が正常値Ｊであり否定判定がなされると、位置カウンタＰのカウンタ値が正常であることが検出される（Ｓ２１２）。このときには、ずれ量ΔＰが「０」に設定される（Ｓ２１３）。
【００９５】
上記のようにずれ量ΔＰが算出されると、そのずれ量ΔＰが補正量として位置カウンタＰのカウンタ値に加えられる（Ｓ２１４）。これにより、位置カウンタＰのカウンタ値がブラシレスモータ４７の実際の回転角に対応した値からずれていたとしても、そのずれは修正される。
【００９６】
ちなみに、位置カウンタＰのカウンタ値等に基づき検出されるブラシレスモータ４７の回転角、換言すれば現在の吸気バルブ９のバルブ特性が、目標とする特性にされているときに、上記ずれ量ΔＰをそのままカウンタ値に加算し、同カウンタ値を実際のモータ回転角に対応する値に向けて補正する場合には、次のような問題が生じるおそれがある。すなわち、その補正直後には位置カウンタＰのカウンタ値に基づき検出されるバルブ特性が目標の特性から大きくずれてしまうため、その検出されるバルブ特性を目標の特性にすべくブラシレスモータ４７（可変動弁機構１４）が駆動制御され、バルブ特性が目標の特性に向けて急変させられる。その結果、エンジン１の吸入空気量が急変し、トルクショックが発生するおそれがある。そこで、カウンタ値の補正に際しては、位置カウンタＰのカウンタ値にずれ量ΔＰを徐々に加えていく、より詳しくは、予め定められた間隔毎にずれ量ΔＰの絶対値よりも小さい所定値ｈずつ位置カウンタＰのカウンタ値を補正し、それを間隔毎の所定値ｈの合計値がずれ量ΔＰの絶対値と等しくなるまで続けるようにすることが望ましい。このようにすれば、補正後の位置カウンタＰのカウンタ値に基づき検出されるバルブ特性が目標の特性から急速にずれることを抑制することができる。
【００９７】
ところで、位置カウンタＰのカウンタ値のずれは、上述したようなノイズの重畳のみならず、各位置センサＳ４、Ｓ５の断線やショートなどでも発生する。そのため、上記ステップＳ２１０にてカウンタ値に異常ありと判定された場合に、その異常発生の原因が、換言すればカウンタ値のずれの発生原因が、ノイズの重畳によるものなのか断線やショートといったセンサの故障によるものなのかを区別することができない。
【００９８】
そこで、本実施形態では、位置センサＳ４，Ｓ５から出力されるパルス信号を計数したカウンタ値が、ブラシレスモータ４７の実際の回転角に対応した値からずれている場合に、そのずれの原因が位置センサの故障によるものなのか否かを判定することができるようにしている。
【００９９】
以下、この位置センサの故障判定について説明する。
図１３に、位置センサＳ４が断線した場合の位置カウンタＰのカウンタ値についてその推移を示す。
【０１００】
この図１３において、（ａ）及び（ｂ）には、ブラシレスモータ４７の回転角の変化に対する位置センサＳ４，Ｓ５からのパルス信号の波形を示す。また、（ｃ）には、ブラシレスモータ４７の回転角の変化に対する電気角カウンタＥのカウンタ値の推移を示す。そして（ｄ）には、ブラシレスモータ４７の正回転中にあってその回転角の変化に対する位置カウンタＰのカウンタ値の推移を示し、（ｅ）には、ブラシレスモータ４７の逆回転中にあってその回転角の変化に対する位置カウンタＰのカウンタ値の推移を示す。
【０１０１】
［モータ正回転中］
ブラシレスモータ４７の正回転中にあって、位置センサＳ４が正常に動作していれば、図１３（ａ）に実線にて示すように、その出力信号はパルス信号になっている。従って、図１３（ｄ）に実線にて示すように、位置カウンタＰのカウンタ値は、位置センサＳ４，Ｓ５からのパルス信号のエッジ毎に「１」ずつ加算されていく。
【０１０２】
一方、図１３（ａ）に二点鎖線にて示すように、位置センサＳ４に断線が発生し、位置センサＳ４の信号がロー信号に張り付いた場合には、図１３（ｄ）に二点鎖線にて示すように、位置センサＳ５のパルス信号が立ち上がりエッジになったとき、位置カウンタＰのカウンタ値には「−１」が加算される。すなわち、位置カウンタＰのカウンタ値は「１」だけ減少される。その後、位置センサＳ５のパルス信号が立ち下がりエッジになると、図１３（ｄ）に二点鎖線にて示すように、位置カウンタＰのカウンタ値には「１」が加算される。従って、同カウンタ値は、位置センサＳ５から出力されるパルス信号のエッジ毎に、「−１」の減少と「＋１」の増大とを繰り返すことになり、ブラシレスモータ４７が正回転していても、その値はほとんど変化しなくなる。このため、上記ずれ量ΔＰが発生するとともに、その量は徐々に大きくなっていく。
【０１０３】
［モータ逆回転中］
ブラシレスモータ４７の逆回転中にあって、位置センサＳ４が正常に動作していれば、図１３（ａ）に実線にて示すように、その出力信号はパルス信号になっている。従って、図１３（ｅ）に実線にて示すように、位置カウンタＰのカウンタ値は、位置センサＳ４，Ｓ５からのパルス信号のエッジ毎に「−１」ずつ加算されていく。すなわち、位置カウンタＰのカウンタ値は「１」ずつ減少されていく。
【０１０４】
一方、図１３（ａ）に二点鎖線にて示すように、位置センサＳ４に断線が発生し、位置センサＳ４の信号がロー信号に張り付いた場合には、図１３（ｅ）に二点鎖線にて示すように、位置センサＳ５のパルス信号が立ち上がりエッジになったとき、位置カウンタＰのカウンタ値には「−１」が加算される。すなわち、位置カウンタＰのカウンタ値は「１」だけ減少される。その後、位置センサＳ５のパルス信号が立ち下がりエッジになると、図１３（ｅ）に二点鎖線にて示すように、位置カウンタＰのカウンタ値には「１」が加算される。従って、同カウンタ値は、位置センサＳ５から出力されるパルス信号のエッジ毎に、「−１」の減少と「＋１」の増大とを繰り返すことになり、ブラシレスモータ４７が逆回転していても、その値はほとんど変化しなくなる。このため、上記ずれ量ΔＰが発生するとともに、その量は徐々に大きくなっていく。
【０１０５】
このように、位置センサＳ４が断線した場合にも、ずれ量ΔＰは発生する。
ここで、位置センサＳ４や位置センサＳ５から出力される信号にノイズが重畳する毎に、上記カウンタ値はモータの実際の回転角に対応した値からずれていくが、そうしたノイズの重畳は継続して起きるわけではなく、偶発的に起きることが多い。そのため、ノイズの重畳によるカウンタ値のずれ量について、その変化速度は比較的遅い傾向にある。一方、位置センサＳ４の断線といった同位置センサＳ４の故障時には、その出力信号がロー信号に張り付いてしまい、パルス信号は出力されなくなる。そのため、上述したようにブラシレスモータ４７が回転してもカウンタ値はほとんど変化しなくなり、上記ずれ量ΔＰは、ノイズの重畳時と比較して、急速に大きくなっていく。このように、位置センサＳ４に断線が生じている場合には、同位置センサＳ４から出力される信号にノイズが重畳した場合と比較して、カウンタ値のずれ量の変化速度は速くなるため、こうしたずれ量の変化速度に基づいて位置センサＳ４の故障判定を行うことができる。
【０１０６】
そこで本実施形態では、そうしたずれ量ΔＰの変化速度に基づき、カウンタ値のずれの原因が位置センサの故障によるものなのか否かを判定するようにしている。
なお、先の図１３には、位置センサＳ４が断線した場合のカウンタ値の変化態様を示したが、同位置センサＳ４がショートしてその信号がハイ信号に張り付いた場合や、位置センサＳ５が断線した場合、あるいは位置センサＳ５がショートした場合にも、当該カウンタ値は同様な態様にて変化する。従って、位置センサＳ４の断線のみならず、同位置センサＳ４のショートや、位置センサＳ５の断線及びショートといった故障も、後述する故障判定処理によって判定可能である。ちなみに、本実施形態では、位置センサが２つ設けられているため、一方のセンサが故障した場合、他方のセンサからのパルス信号によってカウンタ値は「−１」の減少と「＋１」の増大とを繰り返す。他方、位置センサが１つだけ設けられている場合には、そのセンサが故障することでパルス信号が消えてしまい、その結果、カウンタ値は全く変化しなくなる。従って、この場合にも、後述する故障判定処理によって位置センサの故障判定を行うことが可能である。
【０１０７】
ちなみに、上述したようなカウンタ値に対するずれ量補正を行う場合には、そのずれ補正の実行タイミング毎（上記ステップＳ２１４）にずれ量ΔＰは「０」になる。そのため、位置センサの故障によって上述したようなずれ量ΔＰの増大が生じたとしても、ずれ補正の実行タイミング毎にずれ量ΔＰはリセットされる。従って、上記ずれ量補正を行う場合には、ノイズの重畳によるずれ量ΔＰの変化速度と、位置センサの故障によるずれ量ΔＰの変化速度との違いが小さくなり、故障判定の精度が低下するおそれがある。この点、上記ステップＳ２１１（先の図１２）にて算出されるずれ量ΔＰを積算した積算ずれ量ΔＰａ（図１３を参照）を算出し、この積算ずれ量ΔＰａの変化速度に基づいて故障判定を行うようにすれば、そうした不都合の発生を抑えることができる。
【０１０８】
すなわち、ノイズの重畳は偶発的に起きることが多く、そうした重畳が発生していなければ、ステップＳ２１１にて算出されるずれ量ΔＰは「０」になる。従って、ノイズの重畳によって生じたずれ量ΔＰを積算した積算ずれ量ΔＰａについてその増大速度は、ずれ量補正を行わない場合のずれ量ΔＰと同様に、比較的遅くなる。一方、位置センサの故障時には、ステップＳ２１１にて算出されるずれ量ΔＰが「０」以外の値になるため、位置センサの故障時には、ずれ量ΔＰが算出されるたびに積算ずれ量ΔＰａは増大する。従って、位置センサの故障時における積算ずれ量ΔＰａの増大速度は、ずれ量補正を行わない場合のずれ量ΔＰと同様、ノイズが重畳した場合の変化速度よりも速くなる。そこで、本実施形態では、そうした積算ずれ量ΔＰａの増加速度に基づいて位置センサの故障判定を行うようにしている。
【０１０９】
図１４に、上述した位置センサの故障判定についてその処理手順を示す。なお、この故障判定処理は、モータ用電子制御装置３０によって所定期間毎に、例えば電気角カウンタＥの値が所定の回数変化するごとに繰り返し実行される。
【０１１０】
本処理が開始されるとまず、現在の積算ずれ量ΔＰａが読み込まれる（Ｓ３００）。この積算ずれ量ΔＰａは、上述したように、ステップＳ２１１で算出されたずれ量ΔＰを積算した値であり、別の処理にて算出される。
【０１１１】
次に、ずれ量の変化速度ΔＰｓが算出される（Ｓ３１０）。この変化速度ΔＰｓは、今回の実行周期で読み込まれた積算ずれ量ΔＰａ（ｔ）と前回の実行周期で読み込まれた積算ずれ量ΔＰａ（ｔ−１）との差を本処理の実行周期ｔで除算することにより算出される。
【０１１２】
次に、算出された変化速度ΔＰｓが故障判定値Ａ以上であるか否かが判定される（Ｓ３２０）。この故障判定値Ａには、算出された変化速度ΔＰｓが、位置センサＳ４や位置センサＳ５のパルス信号にノイズが重畳したときのずれ量の変化速度ΔＰｓよりも速いか否かを判定することのできる適切な値が設定されている。
【０１１３】
そして、変化速度ΔＰｓが故障判定値Ａ以上である場合には（Ｓ３２０：ＹＥＳ）、その変化速度ΔＰｓがノイズ重畳時の変化速度よりも速くなっており、これは位置センサＳ４または位置センサＳ５のいずれかに、断線あるいはショートといった故障が生じているためであると判断される。すなわち、カウンタ値のずれの原因は、ノイズの重畳によるものではなく、位置センサの故障によるものであると判断される。従って、位置センサに故障ありと判定され（Ｓ３３０）、本処理は一旦終了される。
【０１１４】
一方、変化速度ΔＰｓが故障判定値Ａ未満である場合には（Ｓ３２０：ＮＯ）、位置センサＳ４及び位置センサＳ５に、断線あるいはショートといった故障は生じていないと判断される。従って、この場合には、位置センサに故障なしと判定され（Ｓ３４０）、本処理は一旦終了される。
【０１１５】
以上説明した本実施形態によれば、以下のような作用効果を得ることができる。
（１）各位置センサＳ４，Ｓ５から出力されるパルス信号のエッジを計数した位置カウンタＰのカウンタ値は、位置センサＳ４や位置センサＳ５から出力される信号にノイズが重畳する毎に、ブラシレスモータ４７の実際の回転角に対応した値からずれていくが、そうしたノイズの重畳は継続して起きるわけではなく、偶発的に起きることが多い。そのため、ノイズの重畳によるカウンタ値のずれ量について、その変化速度は比較的遅い傾向にある。一方、位置センサＳ４や位置センサＳ５の断線やショートなどといった同位置センサの故障時には、その出力信号であるパルス信号が正常に出力されなくなるため、ブラシレスモータ４７が回転してもカウンタ値はほとんど変化しなくなり、上記ずれ量は急速に大きくなっていく。このように、位置センサＳ４や位置センサＳ５に故障が生じている場合には、それら位置センサから出力される信号にノイズが重畳した場合と比較して、カウンタ値のずれ量の変化速度は速くなる。そこで本実施形態では、そうしたずれ量の変化速度を算出し、その算出された変化速度に基づいて位置センサＳ４や位置センサＳ５の故障判定を行うようにしている。より詳細には、その算出される変化速度が、パルス信号にノイズが重畳したときの変化速度よりも大きい場合に、位置センサＳ４または位置センサＳ５に故障ありと判定するようにしている。従って、カウンタ値のずれの原因が位置センサの故障によるものなのか否かを適切に判定することができるようになる。
【０１１６】
（２）電気角センサＳ１〜Ｓ３からのパルス信号のエッジ発生毎に、前回のエッジ発生時の位置カウンタＰのカウンタ値Ｐi-1 と今回のエッジ発生時の位置カウンタＰのカウンタ値Ｐi との差（Ｐi −Ｐi-1 ）が算出される。この差（Ｐi −Ｐi-1 ）には、位置カウンタＰのカウンタ値がブラシレスモータ４７の実際の回転角に対応する値からずれた状態になったとき、当該ずれが反映されることとなる。すなわち、そのずれの分だけ上記差（Ｐi −Ｐi-1 ）が正常値Ｊからずれることになる。従って、正常値Ｊに対する差（Ｐi −Ｐi-1 ）のずれ量「Ｊ−（Ｐi −Ｐi-1 ）」を、位置カウンタＰのカウンタ値におけるブラシレスモータ４７の実際の回転角に対応する値からのずれ量として用いるようにした上記実施形態によれば、カウンタ値のずれ量を適切に算出することができるようになる。
【０１１７】
（３）位置カウンタＰのカウンタ値は、ブラシレスモータ４７の正回転中には位置センサＳ４，Ｓ５からのパルス信号のエッジ毎に「１」ずつ増加してゆき、ブラシレスモータ４７の逆回転中には位置センサＳ４，Ｓ５からのパルス信号のエッジ毎に「１」ずつ減少してゆく。このため、位置カウンタＰのカウンタ値が正常であるとき、上記差（Ｐi −Ｐi-1 ）は、モータ正回転中であれば上記エッジ数ｎ（＝４）に対応して「４」となり、モータ逆回転中であれば「−４」となり、モータ正逆回転反転中であれば「０」となる。そこで本実施形態では、差（Ｐi −Ｐi-1 ）の正常値Ｊを、ブラシレスモータ４７の回転状態に応じて「４」、「−４」、及び「０」の間で切り換えるようにしている。従って、その正常値Ｊに対する上記差（Ｐi −Ｐi-1 ）のずれ量「Ｊ−（Ｐi −Ｐi-1 ）」を、ブラシレスモータ４７の回転状態に関わらず適切に算出することができるようになる。
【０１１８】
（４）ずれ量ΔＰを補正値として設定し、その補正値分の補正を上記カウンタ値に加えるようにしている（図１２のステップＳ２１４の処理）ため、カウンタ値のずれを修正することができるようになる。ここで、カウンタ値に対して、そうしたずれ量補正を行う場合には、そのずれ補正の実行タイミング毎にずれ量ΔＰは「０」になる。そのため、位置センサＳ４、Ｓ５の故障によって上述したようなずれ量ΔＰの増大が生じたとしても、ずれ補正の実行タイミング毎にずれ量ΔＰはリセットされる。従って、上記ずれ量補正を行う場合には、ノイズの重畳によるずれ量ΔＰの変化速度と、位置センサＳ４，Ｓ５の故障によるずれ量ΔＰの変化速度との違いが小さくなり、位置センサＳ４，Ｓ５の故障判定に関する精度が低下してしまうおそれがある。この点、図１２に示したステップＳ２１１で算出されるずれ量ΔＰを積算し、その積算値の変化速度に基づいて位置センサＳ４，Ｓ５の故障判定を行うようにすれば、そうした不都合の発生を抑えることができる。
【０１１９】
すなわち、ノイズの重畳は偶発的に起きることが多く、そうした重畳が発生していなければ、算出されるずれ量ΔＰは「０」になる。そのため、ノイズの重畳によって生じたずれ量ΔＰの積算値についてその増大速度は、ずれ量補正を行わない場合のずれ量ΔＰと同様に、比較的遅くなる。一方、位置センサＳ４，Ｓ５の故障時には、算出されるずれ量ΔＰが常に「０」以外の値になるため、その故障時には、ずれ量ΔＰが算出されるたびにずれ量ΔＰの積算値は増大する。そのため、位置センサＳ４，Ｓ５の故障時におけるずれ量ΔＰの積算値についてその増大速度は、ずれ量補正を行わない場合のずれ量ΔＰと同様に、ノイズが重畳した場合の変化速度よりも速くなる。そこで、本実施形態では、そうしたずれ量ΔＰの積算である積算ずれ量ΔＰａを算出し、その積算ずれ量ΔＰａの変化速度ΔＰｓに基づいて位置センサＳ４、Ｓ５の故障判定を行うようにしている。従って、カウンタ値のずれ量ΔＰを補正する場合であっても、カウンタ値のずれの原因が位置センサＳ４または位置センサＳ５の故障によるものなのか否かを適切に判定することができるようになる。
【０１２０】
（５）エンジン１の吸気バルブ９についてそのバルブ特性を可変とする可変動弁機構１４を上記ブラシレスモータ４７で駆動するようにしている。このようにエンジン１の可変動弁機構１４をブラシレスモータ４７で駆動する場合、上記カウンタ値に基づいてブラシレスモータ４７の回転角を検出し、その回転角が目標とするバルブ特性に対応した回転角となるように同ブラシレスモータ４７は駆動される。ここで、位置センサＳ４，Ｓ５に故障が生じていると、上記カウンタ値は、ブラシレスモータ４７の実際の回転角に対応した値からずれていくため、そのカウンタ値に基づき検出されるブラシレスモータ４７の回転角は不正確になる。従って、当該回転角に基づいてブラシレスモータ４７を制御しても、バルブ特性を目標とする特性に変更することができず、機関運転に対して悪影響を与えてしまうおそれがある。この点、本実施形態では、その故障が機関運転に悪影響を与えるセンサであって、可変動弁機構１４を駆動するブラシレスモータ４７の回転角を検出するべく設けられた位置センサＳ４，Ｓ５について、その故障判定を適切に行うことができるようになる。そのため、例えば故障が生じた位置センサＳ４や位置センサＳ５を早期に修理することも可能になる。また、ノイズの重畳によるカウンタ値のずれを、位置センサの故障によるものと誤認してしまい、交換不要であるはずの位置センサを誤って交換してしまうといったことも抑えることができる。
【０１２１】
なお、上記各実施形態は以下のように変更して実施することもできる。
・位置カウンタＰのカウンタ値の異常発生を検出した後、その異常への対策として当該カウンタ値の補正を行うことは必須ではない。例えば、上記異常への対策として、カウンタ値の補正に代えて、警告ランプ等により運転者に警告したり、エンジン用電子制御装置５０に設けられた不揮発性メモリに上記異常発生の旨のフラグを記憶したりしてもよい。また、このようにカウンタ値の補正を行わない場合、すなわち図１２に示したステップＳ２１４の処理を省略する場合には、上記積算ずれ量ΔＰａの算出を省略し、同図１２に示したステップＳ２１１で算出されるずれ量ΔＰの変化速度を上記変化速度ΔＰｓと同様な態様で算出する。そしてその算出された変化速度に基づいて位置センサＳ４，Ｓ５の故障判定を行うようにしてもよい。
【０１２２】
・上記実施形態では、位置カウンタＰのカウンタ値についてそのずれ量の変化速度を求め、その変化速度に基づいて位置センサＳ４，Ｓ５の故障判定を行うようにした。この他、例えば予め設定された期間内でのずれ量の変化量を求め、その変化量が所定の判定値を超えている場合に、位置センサＳ４または位置センサＳ５のいずれかに故障が発生している旨判定するようにしてもよい。すなわち、ずれ量の変化速度と相関関係にあり、実質的にはそうした変化速度を求めていることになる値に基づき、位置センサの故障判定を行うことも可能である。
【０１２３】
・電気角センサ数の変更や同センサの検出対象である多極マグネットの極数の変更を通じて、各電気角センサからのパルス信号のエッジ間隔を変更することも可能である。
・位置センサ数の変更や同センサの検出対象である多極マグネットの極数の変更を通じて各位置センサからのパルス信号のエッジ間隔を変更することも可能である。
【０１２４】
・電気角センサＳ１〜Ｓ３からのパルス信号のエッジ間において位置センサＳ４，Ｓ５から出力されるパルス信号のエッジ数ｎを「４」に設定したが、その値についてはブラシレスモータ４７の回転角検出精度を確保し得る位置センサＳ４，Ｓ５からのパルス信号のエッジ間隔に対応する値であればよく、「２」以上の整数値に適宜変更可能である。このようにエッジ数ｎを変更する際には、位置カウンタの数や位置、及び、それら位置センサの検出対象である多極マグネットの極数が適宜変更されることとなる。
【０１２５】
・ブラシレスモータ４７と一体回転する多極マグネットの磁気に応じてパルス信号を出力する位置センサＳ４，Ｓ５を設ける代わりに、ブラシレスモータ４７の回転に伴いパルス信号を出力する他のセンサ、例えば光学式のセンサを設けるようにしてもよい。この場合、ブラシレスモータ４７と一体回転するスリット付円板の厚さ方向側方にそれぞれ発光素子と受光素子を備える光学式のセンサを周方向に複数設け、ブラシレスモータ４７の回転時に当該各センサからパルス信号を出力させるようにする。そして、この場合の各センサからのパルス信号の出力パターンについては、スリット付円板におけるスリットのパターン、及び、光学式のセンサの数や位置によって調整することが可能である。
【０１２６】
・上記実施形態では、可変動弁機構１４にて吸気バルブ９のバルブ特性を変更するようにしたが、排気バルブ１０のバルブ特性を変更する場合、あるいは吸気バルブ９及び排気バルブのバルブ特性を変更する場合にも同様に適用することができる。
【０１２７】
・上各実施形態で説明した可変動弁機構１４は一例であり、他の構成で吸気バルブ９や排気バルブ１０といった機関バルブのバルブ特性（例えば、開時期、閉時期、開弁期間、あるいは最大リフト量等）を可変とする可変動弁機構であっても、本発明は同様に適用することができる。
【０１２８】
・可変動弁機構１４を駆動するブラシレスモータ４７に本発明を適用したが、それ以外の各種機構を駆動するブラシレスモータに本発明を適用することもできる。
・差（Ｐi −Ｐi-1 ）の正常値Ｊに対するずれ量を、位置カウンタＰのカウンタ値におけるブラシレスモータ４７の実際の回転角に対応する値からのずれ量として求めたが、本発明はこれに限定されない。例えば、ブラシレスモータ４７の実際の回転角を検出するリニアセンサ等を別途設け、そのセンサによって検出される回転角に対する位置カウンタＰのカウンタ値等に基づき検出される回転角のずれ量を求める。そして、当該ずれ量に基づき位置カウンタＰのカウンタ値におけるブラシレスモータ４７の実際の回転角に対応する値からのずれ量を算出するようにしてもよい。こうした場合には、可変動弁機構１４や各種機構を駆動するモータとして、ブラシレスモータ４７以外のモータを用いることも可能である。
【図面の簡単な説明】
【０１２９】
【図１】本発明にかかるモータの制御装置を具体化した一実施形態にあって、これが適用されるエンジンのシリンダヘッド周りの構造を示す拡大断面図。
【図２】同実施形態において、可変動弁機構を駆動する駆動機構、及びその駆動機構を制御する制御装置を示す模式図。
【図３】（ａ）〜（ｈ）は、ブラシレスモータの回転角の変化に対する電気角センサＳ１〜Ｓ３のパルス信号の波形、位置センサＳ４，Ｓ５のパルス信号の波形、電気角カウンタＥのカウンタ値の推移、位置カウンタＰのカウンタ値の推移、及びストロークカウンタＳのカウンタ値の推移を示すタイミングチャート。
【図４】同実施形態において、電気角カウンタＥ、位置カウンタＰ、及びストロークカウンタＳのカウンタ値を変化させるカウント処理の手順を示すフローチャート。
【図５】（ａ）は電気角センサＳ１〜Ｓ３からの信号に応じて変化する電気角カウンタＥのカウンタ値の変化態様を示す表、（ｂ）は位置センサＳ４，Ｓ５からの信号に応じた位置カウンタＰのカウンタ値の加減算態様を示す表。
【図６】（Ａ）は、通電相の切り換え遅れについてその一例を示すタイミングチャート。（Ｂ）は、通電相の切り換え遅れに対処するべく実行される進角処理についてその一態様を示すタイミングチャート。
【図７】（ａ）〜（ｅ）は、ブラシレスモータの回転角の変化に対する位置センサＳ４，Ｓ５からのパルス信号の波形、電気角カウンタＥのカウンタ値の推移、及び位置カウンタＰのカウンタ値の推移について、同モータの正回転中及び逆回転中にノイズが重畳した場合の態様を示すタイミングチャート。
【図８】（ａ）〜（ｄ）は、時間経過に対する位置センサＳ４，Ｓ５からのパルス信号の波形、電気角カウンタＥのカウンタ値の推移、及び位置カウンタＰのカウンタ値の推移について、ブラシレスモータの正逆回転反転中にノイズが重畳した場合の態様を示すタイムチャート。
【図９】（ａ）は図７（ｄ）のタイミングａ，ｂ，ｃでの位置センサＳ４，Ｓ５からの信号に応じた位置カウンタＰのカウンタ値の加減算態様を示す表、（ｂ）は図７（ｅ）のタイミングｃ，ｂ，ａでの位置センサＳ４，Ｓ５からの信号に応じた位置カウンタＰのカウンタ値の加減算態様を示す表。
【図１０】電気角センサＳ１〜Ｓ３からのパルス信号における前回のエッジ発生時と今回のエッジ発生時との電気角カウンタＥの変化方向と、ブラシレスモータの回転状態との関係を示す表。
【図１１】位置カウンタＰのカウンタ値の異常検出手順、及び、その異常を検出したときに当該カウンタ値を正しい値に戻すための補正手順を示すフローチャート。
【図１２】位置カウンタＰのカウンタ値の異常検出手順、及び、その異常を検出したときに当該カウンタ値を正しい値に戻すための補正手順を示すフローチャート。
【図１３】（ａ）〜（ｅ）は、ブラシレスモータの回転角の変化に対する位置センサＳ４，Ｓ５からのパルス信号の波形、電気角カウンタＥのカウンタ値の推移、及び位置カウンタＰのカウンタ値の推移について、同モータの正回転中及び逆回転中に位置センサＳ４が断線した場合の態様を示すタイムチャート。
【図１４】位置センサの故障判定処理についてその手順を示すフローチャート。
【符号の説明】
【０１３０】
１…エンジン、２…シリンダヘッド、３…シリンダブロック、５…ピストン、６…燃焼室、７…吸気通路、８…排気通路、９…吸気バルブ、１０…排気バルブ、１１…吸気カムシャフト、１１ａ…吸気カム、１２…排気カムシャフト、１２ａ…排気カム、１４…可変動弁機構、１５…ロッカシャフト、１６…コントロールシャフト、１７…入力アーム、１８…出力アーム、１９…ローラ、２０…コイルスプリング、２１…ロッカアーム、２２…ラッシュアジャスタ、２３…ローラ、２４…バルブスプリング、３０…モータ用電子制御装置、３１…センサ用制御部、３２…電源部、３３…演算処理部、４７…ブラシレスモータ、４８…変換機構、５０…エンジン用電子制御装置、５１…アクセルセンサ、５２…スロットルセンサ、５３…エアフロメータ、５４…クランク角センサ、５５…イグニッションスイッチ、Ｓ１〜Ｓ３…電気角センサ、Ｓ４，Ｓ５…位置センサ。
【図１】
2007185046.tif 000003
【図２】
2007185046.tif 000004
【図３】
2007185046.tif 000005
【図４】
2007185046.tif 000006
【図５】
2007185046.tif 000007
【図６】
2007185046.tif 000008
【図７】
2007185046.tif 000009
【図８】
2007185046.tif 000010
【図９】
2007185046.tif 000011
【図１０】
2007185046.tif 000012
【図１１】
2007185046.tif 000013
【図１２】
2007185046.tif 000014
【図１３】
2007185046.tif 000015
【図１４】
2007185046.tif 000016