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