(57)【要約】【課題】３相モータの相電流の検出・推定における誤差を補正できる３相モータの電流検出装置を提供する。【解決手段】１つの相についての電流を他の２つの相の電流検出値に基づいて推定している状態から、シャント抵抗の端子電圧に基づいて検出する状態に切り替わると、切り替わり後の時点θ２における電流検出値Ｉｕと指令電流値Ｉucomとの差分Ａｕを算出する。また、前回の時点θ１における指令電流値Ｉucom-1と前記差分Ａｕとを用いて、前回での実電流の推定値Ｉue-1を算出する。そして、前記推定実電流値Ｉue-1と、前回における推定電流値Ｉu-1との差の１／３を電流検出誤差として算出し、該電流検出誤差の加重平均値に基づいて、電流検出値を補正する。【選択図】図８
2010193539.tif 000002
【特許請求の範囲】
【請求項１】
直流電源の出力を３相交流に変換するインバータ装置によって制御される３相モータの相電流を検出する電流検出装置であって、
前記インバータ装置と前記直流電源とを接続する直流回路に設けられる電流検出器と、
前記電流検出器の出力から３相モータの３相のうちの２相の電流値をそれぞれに検出し、該２相の検出電流値から残る１相の電流値を推定する電流検出・推定手段と、
前記電流検出・推定手段による電流値の検出・推定が同一相について切り替わった際に、切り替わり前後における検出値及び推定値、更に、当該相の指令電流値とから、電流検出誤差を算出する誤差算出手段と、
前記電流検出誤差に基づいて、前記電流検出・推定手段による電流の検出値を補正する補正手段と、
を含んで構成されたことを特徴とする３相モータの電流検出装置。
【請求項２】
前記誤差算出手段が、
切り替わり前又は後における電流値の検出値と、この検出値を検出したときの前記指令電流値との第１差分を算出する第１差分算出手段と、
切り替わり後又は前における電流値の推定を行った時の前記指令電流値を、前記第１差分に基づいて補正して推定実電流値を求める推定実電流値算出手段と、
前記推定実電流値と前記切り替わり後又は前における電流の推定値との第２差分を算出する第２差分算出手段と、
を含んで構成され、
前記第２差分に基づいて前記電流検出誤差を算出することを特徴とする請求項１記載の３相モータの電流検出装置。
【請求項３】
前記誤差算出手段が、前記電流検出誤差を平滑化処理し、該平滑化処理後の電流検出誤差に基づいて前記補正手段が補正を行う構成とすると共に、前記誤差算出手段が、前記平滑化処理における平滑化度合いを、前記電流検出器の温度及び／又は前記電流検出誤差の算出周期に応じて変化させることを特徴とする請求項１又は２記載の３相モータの電流検出装置。
【請求項４】
前記温度の変化が大きいほど、及び／又は、前記電流検出誤差の算出周期が長いほど、前記平滑化度合いを小さくして、前記電流検出誤差の最新値の反映割合を大きくすることを特徴とする請求項３記載の３相モータの電流検出装置。
【請求項５】
前記誤差算出手段が、各相における電流を全て零とした状態での前記電流検出器の出力に基づいて前記電流検出誤差を算出し、該算出結果を初期値として前記平滑化処理を行うことを特徴とする請求項３又は４記載の３相モータの電流検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、直流電源の出力を３相交流に変換するインバータ装置によって制御される３相モータの相電流を検出する電流検出装置に関する。
【背景技術】
【０００２】
特許文献１には、直流電源とインバータ装置を接続する直流回路に電流検出器を設け、該電流検出器によって、３相交流電流を検出することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７‐１６６６９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、電流検出のためのシャント抵抗を各相のスイッチング素子に対して直列に１つだけ設けるようにすると、シャント抵抗の両端電圧に基づいて直接的に検出できる電流値は、３相に流れる電流のうち絶対値の大きな２つの電流に限定されるため、残る１相の電流については、他の２相における電流の検出結果から推定されることになる。
【０００５】
しかし、シャント抵抗の両端電圧に基づく電流検出に誤差が生じると、電流検出値がオフセットする方向とは逆方向に電流推定値がオフセットすることになるため、電流値を推定していた状態から検出に切り替わった際、及び、電流値を検出していた状態から推定に切り替わった際に、電流検出値と電流推定値との間でステップ的に変化し、３相モータの制御精度が大きく低下してしまうという問題があった。
【０００６】
本発明は上記問題点に鑑みなされたものであり、３相モータの相電流の検出・推定における誤差を補正できる３相モータの電流検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
そのため、本願発明では、電流値の検出・推定が同一相について切り替わった際に、切り替わり前後における検出値及び推定値、更に、当該相の指令電流値とから、電流検出誤差を算出し、前記電流検出誤差に基づいて、前記電流の検出値を補正するようにした。
【発明の効果】
【０００８】
上記発明によると、モータの相電流の検出誤差が補正される結果、推定値が真値に近づき、電流値の検出・推定が切り替わる際に、電流値が大きく変化することを抑制でき、各相の電流に基づくモータ駆動制御の精度が向上する。
【図面の簡単な説明】
【０００９】
【図１】本発明に係る３相モータの電流検出装置が適用される車両用内燃機関（エンジン）の実施形態を示す全体構成図である。
【図２】実施形態の内燃機関に備えられる可変バルブリフト機構を示す斜視図である。
【図３】実施形態の内燃機関に備えられる可変バルブリフト機構の部分拡大図である。
【図４】実施形態の内燃機関に備えられる可変バルブタイミング機構を示す断面図である。
【図５】実施形態の内燃機関に備えられる可変バルブリフト機構及び可変バルブタイミング機構による吸気バルブの開特性（バルブリフト量ＶＬ、バルブ作動ＯＡ、中心位相ＳＰ）の変化を示すグラフである。
【図６】実施形態における内燃機関の制御システムの詳細を示すブロック図である。
【図７】実施形態における３相ブラシレスモータ及びモータ駆動回路を示す回路図である。
【図８】実施形態における電流検出誤差の推定処理を示すフローチャートである。
【図９】実施形態における電流検出誤差の推定処理で用いる各種パラメータを示すタイムチャートである。
【図１０】実施形態における電流の推定・検出の切り替わりタイミングと、推定電流値と検出電流値との間に偏差が発生した状態を示すタイムチャートである。
【図１１】実施形態における３相電流の電流検出誤差を推定し、推定結果に基づいて補正を行う機能を示すブロック図である。
【図１２】実施形態における電流検出誤差の加重平均値と、該加重平均値に応じて電流検出値を補正した結果を示すタイムチャートである。
【図１３】実施形態における電流検出誤差の加重平均演算における重み係数の可変処理を示すフローチャートである。
【図１４】実施形態における電流検出誤差の加重平均演算における初期値の設定処理を示すフローチャートである。
【図１５】実施形態における電流検出誤差の加重平均演算における初期値の設定処理を示すフローチャートである。
【図１６】実施形態における電流検出誤差の加重平均演算における初期値の設定処理を示すフローチャートである。
【図１７】実施形態における電流検出誤差の温度別の学習処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に本発明の実施の形態を説明する。
図１は、３相モータを備え、本発明に係る電流検出装置が適用される自動車用の内燃機関（エンジン）のシステム構成を示す図である。
【００１１】
内燃機関１０１は、例えば直列４気筒ガソリン機関であり、各気筒に空気を導入するための吸気管１０２には、内燃機関１０１の吸入空気流量ＱＡを検出する吸入空気量センサ１０３が設けられている。
【００１２】
前記吸入空気量センサ１０３としては、例えば、熱線式流量計などが用いられる。
各気筒の燃焼室１０４の吸気口を開閉する吸気バルブ１０５が設けられ、該吸気バルブ１０５上流側の吸気管１０２には、気筒毎に燃料噴射弁１０６が配置される。
【００１３】
前記燃料噴射弁１０６には、前記燃料噴射弁１０６の開弁時間に比例する燃料が噴射されるように圧力が調整された燃料が供給される。
前記燃料噴射弁１０６から噴射された燃料は、ピストン１０８が下降する吸気行程において吸気バルブ１０５を介して燃焼室１０４内に空気と共に吸引され、その後、ピストン１０８が上昇に転じることで燃焼室１０４内の混合気は圧縮される。
【００１４】
そして、ピストン１０８の上死点付近で点火プラグ１０７による火花点火が行われて、燃焼室１０４内の燃料が着火燃焼し、該燃焼による圧力がピストン１０８をクランク軸１０９に向けて押し下げることで、前記クランク軸１０９を回転駆動する。
【００１５】
また、前記燃焼室１０４の排気口を開閉する排気バルブ１１０が設けられ、前記燃焼圧力によって押し下げられたピストン１０８が上昇するときに、前記排気バルブ１１０を開くことで、排ガスが排気管１１１に排出される。
【００１６】
前記排気管１１１には、触媒コンバータ１１２が介装されており、排ガス中の有害成分は、前記触媒コンバータ１１２によって無害成分に転換され、排出される。
前記吸気バルブ１０５及び排気バルブ１１０は、クランク軸１０９を介して回転駆動されるカム軸の回転によって開動作する。
【００１７】
前記排気バルブ１１０は、一定のバルブリフト量・バルブ作動角・バルブタイミング（一定の開弁特性）で開動作するが、前記吸気バルブ１０５のバルブリフト量・バルブ作動角・バルブタイミング（開弁特性）は、可変バルブリフト機構（ＶＥＬ）１１３及び可変バルブタイミング機構（ＶＴＣ）１１４によって変更可能となっている。
【００１８】
前記可変バルブリフト機構１１３は、吸気バルブ１０５のバルブ作動角をバルブリフト量と共に連続的に変化させる機構であり、前記可変バルブタイミング機構１１４は、クランク軸１０９に対する後述の吸気カム軸１１５の回転位相を変化させることで、吸気バルブ１０５のバルブ作動角の中心位相を進角・遅角変化させる機構である。
【００１９】
また、前記点火プラグ１０７それぞれには、点火プラグ１０７に対して点火エネルギを供給する点火モジュール１１６が直付けされている。
前記点火モジュール１１６は、点火コイルと該点火コイルへの通電を制御するパワートランジスタとを含んで構成される。
【００２０】
前記燃料噴射弁１０６，可変バルブリフト機構１１３，可変バルブタイミング機構１１４及び点火モジュール１１６は、ＶＥＬコントローラ２１３やＥＣＭ２１４などのユニットを含んで構成される制御装置２０１によって制御される。
【００２１】
図２は、吸気バルブ１０５のバルブ作動角をバルブリフト量と共に連続的に可変とする可変バルブリフト機構１１３（機関バルブの開弁特性を可変とする可変動弁機構）の構造を示す斜視図である。
【００２２】
前記吸気バルブ１０５の上方に、前記クランク軸１０９によって回転駆動される吸気カム軸１１５が気筒列方向に沿って回転可能に支持されている。
前記吸気カム軸１１５には、吸気バルブ１０５のバルブリフタ１０５ａに当接して吸気バルブ１０５を開駆動する揺動カム４が相対回転可能に外嵌されている。
【００２３】
前記吸気カム軸１１５と揺動カム４との間には、吸気バルブ１０５のバルブ作動角をバルブリフト量と共に連続的に変更するための可変バルブリフト機構１１３が設けられている。
【００２４】
また、前記吸気カム軸１１５の一端部には、クランク軸１０９に対する前記吸気カム軸１１５の回転位相を変化させることにより、吸気バルブ１０５のバルブ作動角の中心位相を連続的に変更する可変バルブタイミング機構１１４が配設されている。
【００２５】
前記可変バルブリフト機構１１３は、図２及び図３に示すように、吸気カム軸１１５に偏心して固定的に設けられる円形の駆動カム１１と、この駆動カム１１に相対回転可能に外嵌するリング状リンク１２と、吸気カム軸１１５と略平行に気筒列方向へ延びる制御軸１３と、この制御軸１３に偏心して固定的に設けられた円形の制御カム１４と、この制御カム１４に相対回転可能に外嵌すると共に、一端がリング状リンク１２の先端に連結されたロッカアーム１５と、このロッカアーム１５の他端と揺動カム４とに連結されたロッド状リンク１６と、を有している。
【００２６】
前記制御軸１３は、モータ１７によりギア列（減速機）１８を介して所定の制御範囲内で回転駆動される。
尚、モータ１７として、３相ブラシレスモータ（以下、ＢＬＭともいう）が用いられる。
【００２７】
上記の構成により、クランク軸１０９に連動して吸気カム軸１１５が回転すると、駆動カム１１を介してリング状リンク１２が略並進移動すると共に、ロッカアーム１５が制御カム１４の軸心周りに揺動し、ロッド状リンク１６を介して揺動カム４が揺動して吸気バルブ１０５が開駆動される。
【００２８】
また、前記モータ１７を駆動制御して制御軸１３の角度を変化させることにより、ロッカアーム１５の揺動中心となる制御カム１４の軸心位置が変化して揺動カム４の姿勢が変化する。
【００２９】
これにより、図５の矢印３０１に示すように、吸気バルブ１０５のバルブ作動角の中心位相ＳＰが略一定のままで、吸気バルブ１０５のバルブ作動角ＯＡがバルブリフト量ＶＬと共に連続的に変化する。
【００３０】
尚、バルブ作動角がバルブリフト量と共に連続的に変化すると同時に、バルブ作動角の中心位相が変化するように、前記可変バルブリフト機構１１３を構成することも可能である。
図４は、吸気バルブ１０５のバルブ作動角の中心位相を可変とする前記可変バルブタイミング機構１１４の構造を示す。
【００３１】
前記可変バルブタイミング機構１１４は、クランク軸１０９によりタイミングチェーンを介して回転駆動されるカムスプロケット５１（タイミングスプロケット）と、前記吸気カム軸１１５の端部に固定されてカムスプロケット５１内に回転自在に収容された回転部材５３と、該回転部材５３をカムスプロケット５１に対して相対的に回転させる油圧回路５４と、カムスプロケット５１と回転部材５３との相対回転位置を所定位置で選択的にロックするロック機構６０とを備えている。
【００３２】
前記カムスプロケット５１は、外周にタイミングチェーン（又はタイミングベルト）が噛合する歯部を有する回転部（図示省略）と、該回転部の前方に配置されて前記回転部材５３を回転自在に収容するハウジング５６と、該ハウジング５６の前後開口を閉塞するフロントカバー，リアカバー（図示省略）とから構成される。
【００３３】
前記ハウジング５６は、前後両端が開口形成された円筒状を呈し、内周面には、横断面台形状を呈し、それぞれハウジング５６の軸方向に沿って設けられる４つの隔壁部６３が９０°間隔で突設されている。
【００３４】
前記回転部材５３は、吸気カムシャフト３の前端部に固定されており、円環状の基部７７の外周面に９０°間隔で４つのベーン７８ａ，７８ｂ，７８ｃ，７８ｄが設けられている。
【００３５】
前記第１〜第４ベーン７８ａ〜７８ｄは、それぞれ断面が略逆台形状を呈し、各隔壁部６３間の凹部に配置され、前記凹部を回転方向の前後に隔成し、ベーン７８ａ〜７８ｄの両側と各隔壁部６３の両側面との間に、進角側油圧室８２と遅角側油圧室８３を構成する。
【００３６】
前記ロック機構６０は、ロックピン８４が、回転部材５３の初期位置において係合孔（図示省略）に係入するようになっている。
前記油圧回路５４は、進角側油圧室８２に対して油圧を給排する第１油圧通路９１と、遅角側油圧室８３に対して油圧を給排する第２油圧通路９２との２系統の油圧通路を有し、この両油圧通路９１，９２には、供給通路９３とドレン通路９４ａ，９４ｂとがそれぞれ通路切り換え用の電磁切換弁９５を介して接続されている。
【００３７】
前記供給通路９３には、オイルパン９６内の油を圧送する機関駆動のオイルポンプ９７が設けられている一方、ドレン通路９４ａ，９４ｂの下流端がオイルパン９６に連通している。
【００３８】
前記第１油圧通路９１は、回転部材５３の基部７７内に略放射状に形成されて各進角側油圧室８２に連通する４本の分岐路９１ｄに接続され、第２油圧通路９２は、各遅角側油圧室８３に開口する４つの油孔９２ｄに接続される。
【００３９】
前記電磁切換弁９５は、内部のスプール弁体が各油圧通路９１，９２と供給通路９３及びドレン通路９４ａ，９４ｂとを相対的に切り換え制御するようになっている。
可変バルブタイミング機構１１４においては、電磁アクチュエータ９９にデューティ比（オン時間割合）０％のオフ制御信号を出力すると、オイルポンプ４７から圧送された作動油は、第２油圧通路９２を通って遅角側油圧室８３に供給されると共に、進角側油圧室８２内の作動油が、第１油圧通路９１を通って第１ドレン通路９４ａからオイルパン９６内に排出されるようにしてある。
【００４０】
従って、電磁アクチュエータ９９にデューティ比０％のオフ制御信号を出力すると、遅角側油圧室８３の内圧が高くなる一方で、進角側油圧室８２の内圧が低くなり、回転部材５３は、ベーン７８ａ〜７８ｂを介して最大遅角側に回転し、この結果、吸気バルブ１０５の開期間（バルブ作動角の中心位相）がピストン位置に対して相対的に遅角変化する。
【００４１】
即ち、電磁アクチュエータ９９への通電を遮断すると、吸気バルブ１０５のバルブ作動角の中心位相は遅角変化し、最終的には、最遅角位置で停止する。
また、電磁アクチュエータ９９にデューティ比１００％のオン制御信号を出力すると、作動油は、第１油圧通路９１を通って進角側油圧室８２内に供給されると共に、遅角側油圧室８３内の作動油が第２油圧通路９２及び第２ドレン通路９４ｂを通ってオイルパン９６に排出され、遅角側油圧室８３が低圧になる。
【００４２】
このため、電磁アクチュエータ９９にデューティ比１００％のオン制御信号を出力すると、回転部材５３は、ベーン７８ａ〜７８ｄを介して進角側へ最大に回転し、これによって、吸気バルブ１０５の開期間（バルブ作動角の中心位相）がピストン位置に対して相対的に進角変化する。
【００４３】
このように、前記可変バルブタイミング機構１１４は、図５の矢印３０２に示すように、吸気バルブ１０５のバルブ作動角ＯＡを変えずに、吸気バルブ１０５のバルブ作動角の中心位相ＳＰを進・遅角変化させる機構であり、前記制御信号のデューティ比を変更することで、最遅角位置から最進角位置までの間の任意の位置にバルブ作動角の中心位相を変化させることができる。
【００４４】
尚、前記可変バルブリフト機構１１３、可変バルブタイミング機構１１４は、上記の図２〜４に示した機構のものに限定されない。
例えば、可変バルブタイミング機構１１４としては、上記のベーン式の他、歯車を用いてクランク軸１０９に対して前記吸気カム軸１１５を相対回転させる機構などを用いることができ、更に、油圧アクチュエータの他、モータや電磁ブレーキをアクチュエータとして用いる機構を採用できる。
【００４５】
前記制御装置２０１を構成するＶＥＬコントローラ２１３はマイクロコンピュータを含んで構成され、図２に示すように、前記制御軸１３の角度に応じたレベルの信号を出力する角度センサ２０２（ポテンショメータ）からの信号が入力されると共に、前記制御装置２０１を構成するＥＣＭ２１４から送信される前記制御軸１３の目標角度の信号が入力される。
【００４６】
前記ＥＣＭ２１４は、マイクロコンピュータを含んで構成され、機関運転条件（機関負荷・機関回転速度など）に応じて目標バルブ作動角（目標バルブリフト量）に対応する制御軸１３の目標角度を演算して、前記ＶＥＬコントローラ２１３に送信する。
【００４７】
前記ＶＥＬコントローラ２１３では、前記角度センサ２０２からの信号に基づき前記制御軸１３の角度を検出し、該角度の検出値とＥＣＭ２１４から送られた前記目標角度とに基づいて、前記モータ１７（Ｕ相，Ｖ相及びＷ相）の通電を制御することで、制御軸１３の実際の角度を目標角度に近づけるフィードバック制御を行う。
【００４８】
尚、モータ１７の構成，モータ１７を駆動する駆動回路（インバータ装置）の詳細は、後で詳細に説明する。
また、前記ＥＣＭ２１４は、機関運転条件（機関負荷・機関回転速度など）に基づいて吸気バルブ１０５のバルブ作動角の中心位相の目標進角量を演算し、クランク角センサ２０３及びカムセンサ２０４の出力信号に基づいて検出される実際の進角量が前記目標進角量に近づくように、前記実際の進角量と目標進角量との偏差に基づいて、電磁アクチュエータ９９に出力する制御信号のデューティ比（操作量）を演算するフィードバック制御を行う。
【００４９】
前記クランク角センサ２０３は、図１に示すように、クランク軸１０９に軸支したシグナルプレート２０３ａの周縁に等間隔で形成された突起部２０３ｂを、ピックアップ２０３ｃで検出することで、単位クランク角毎のポジション信号ＰＯＳを出力すると共に、前記シグナルプレート２０３ａに１８０deg間隔で２箇所に形成した突起部２０３ｄをピックアップ２０３ｅで検出することで、各気筒の所定クランク角位置（所定ピストン位置）毎のリファレンス信号ＲＥＦを出力する。
【００５０】
前記リファレンス信号ＲＥＦの出力間隔は、本実施形態における４気筒機関における点火間隔に相当し、前記リファレンス信号ＲＥＦは、各気筒の同じピストン位置（例えばＢＴＤＣ７５deg）毎に出力されることになる。
【００５１】
前記ＥＣＭ２１４では、クランク角センサ２０３の出力信号（ポジション信号ＰＯＳ又はリファレンス信号ＲＥＦ）に基づいて内燃機関１０１の回転速度ＮＥを算出する。
一方、前記カムセンサ２０４は、前記リファレンス信号ＲＥＦの発生周期の間において、気筒ナンバーを示す数のカム信号ＣＡＭを出力し、可変バルブタイミング機構１１４によってクランク軸１０９に対する吸気カム軸１１５の位相が変化すると、前記リファレンス信号ＲＥＦの出力位置に対するカム信号ＣＡＭの出力位置が変化する。
【００５２】
従って、例えば、前記リファレンス信号ＲＥＦが発生してからカム信号ＣＡＭが発生するまでの角度を計測することで、可変バルブタイミング機構１１４による位相変更量を検出することができる。
【００５３】
尚、前記カム信号ＣＡＭの発生位置は、可変バルブタイミング機構１１４によって吸気カム軸１１５の位相を変化させても、リファレンス信号ＲＥＦの出力位置を跨いで変化することがないように設定されている。
【００５４】
前記ＥＣＭ２１４には、上記吸入空気量センサ１０３，クランク角センサ２０３及びカムセンサ２０４の出力信号が入力される他、内燃機関１０１の運転・停止のメインスイッチであるイグニッションスイッチ（ＩＧＮスイッチ）２０５の信号、アクセルセンサ２０６からのアクセルペダル２０７の開度信号ＡＣＣ、水温センサ２０８からの冷却水温度信号ＴＷ、空燃比センサ２０９からの空燃比信号ＡＦなどが入力される。
【００５５】
前記空燃比センサ２０９は、排気管１１１に設けられ、内燃機関１０１の燃焼室１０４内の空燃比と密接な関係にある排気中の酸素濃度に感応して出力が変化するセンサ（酸素濃度センサ）である。
【００５６】
図６は、前記制御装置２０１の詳細構成を示す図であり、前記制御装置２０１は、内燃機関１０１の点火や燃料噴射を制御するＥＣＭ２１４と、前記可変バルブリフト機構１１３のモータ１７を駆動する駆動回路２１２と、前記駆動回路２１２を制御するＶＥＬコントローラ２１３と、を備えている。
【００５７】
前記ＥＣＭ２１４には、前述のように、水温センサ２０８やクランク角センサ２０３などの内燃機関１０１の運転状態を検出する各種センサ・スイッチからの信号が入力されると共に、アクセルセンサ２０６などの車両の運転状態を検出するセンサ・スイッチからの信号が入力され、これらの信号に基づいて、前記点火モジュール１１６や燃料噴射弁１０６や可変バルブタイミング機構（ＶＴＣ）１１４に対して制御信号を出力する。
【００５８】
また、前記ＥＣＭ２１４は、前記各種センサ・スイッチからの信号に基づいて、前記可変バルブリフト機構１１３の制御軸１３の目標角度（目標バルブ作動角、目標バルブリフト量）を演算して、前記ＶＥＬコントローラ２１３に出力する。
【００５９】
前記ＶＥＬコントローラ２１３には、前記角度センサ２０２からの検出信号（出力電圧ＶＡＳ）が入力され、これらに基づいて制御軸１３の実際の角度を検出し、実際の角度が前記目標角度に近づくように、モータ１７の駆動回路（インバータ装置）２１２に含まれるスイッチング素子のＰＷＭ制御信号を出力する。
【００６０】
図７は、前記駆動回路（インバータ装置）２１２及びモータ１７の詳細を示す。
前記モータ１７は３相ブラシレスモータ（ＢＬＭ）であり、Ｕ相、Ｖ相及びＷ相の３相巻線２１５Ｕ，２１５Ｖ，２１５Ｗが、図示省略した円筒状の固定子に設けられ、該固定子の中央部に形成された空間に永久磁石回転子が配置される。
【００６１】
一方、駆動回路（インバータ装置）２１２は、例えばＩＧＢＴからなる６個のスイッチング素子２１７ａ〜２１７ｆを３相ブリッジ接続し、かつ、各スイッチング素子２１７ａ〜２１７ｆに逆並列にダイオード２１８ａ〜２１８ｆをそれぞれ接続して構成され、かつ、直流電源回路２１９（バッテリ）を有してなり、前記スイッチング素子２１７ａ〜２１７ｆのオン・オフの組み合わせによって、３相巻線２１５Ｕ，２１５Ｖ，２１５Ｗへの通電を制御する３相交流インバータである。
【００６２】
前記スイッチング素子２１７ａ〜２１７ｆの制御端子（ゲート端子）は、前記ＶＥＬコントローラ２１３に接続されている。
また、前記駆動回路（インバータ装置）２１２と前記直流電源回路２１９とを接続する直流回路には、シャント抵抗Ｒが直列に接続されており、該シャント抵抗Ｒを含んでなる電流検出回路（電流検出器）２２０は、前記シャント抵抗Ｒの両端電圧に基づいてモータ電流を検出して、その結果を前記ＶＥＬコントローラ２１３に出力する。
【００６３】
尚、前記シャント抵抗Ｒには、各相の電流の合成電流が流れることになる。
電流検出・推定手段としての機能を有する前記ＶＥＬコントローラ２１３では、スイッチング素子２１７ａ〜２１７ｆのオン・オフの組み合わせから、Ｕ相電流，Ｖ相電流，Ｗ相電流の検出タイミング（検出期間）を判断し、換言すれば、電流検出タイミングでのスイッチング素子２１７ａ〜２１７ｆのオン・オフの組み合わせから、前記電流検出回路（電流検出器）２２０がどの相の電流を検出したかを判断する。
【００６４】
即ち、スイッチング素子２１７ｂがオンで、スイッチング素子２１７ｄ及びスイッチング素子２１７ｆがオフである場合には、Ｕ相の電流が電流検出回路２２０で検出され、スイッチング素子２１７ｄがオンで、スイッチング素子２１７ｂ及びスイッチング素子２１７ｆがオフである場合には、Ｖ相の電流が電流検出回路２２０で検出され、スイッチング素子２１７ｆがオンで、スイッチング素子２１７ｂ及びスイッチング素子２１７ｄがオフである場合には、Ｗ相の電流が電流検出回路２２０で検出されることになる。
【００６５】
但し、前記シャント抵抗Ｒの両端電圧に基づいて検出できる電流は、３相に流れる電流のうち絶対値の大きな２つの電流に限定される。
即ち、ある相の巻線を電流が流れてから残る２つの相の巻線に電流が流れる場合には、上流側の１つの相の電流（正の電流）を検出することになり、また、２つの相の巻線に流れた電流が合流して残る１つの相の巻線に流れる場合には、下流側の１つの相の電流（負の電流）を検出することになり、いずれの場合も、絶対値の大きな電流を検出することになる。
【００６６】
尚、前記１つのシャント抵抗Ｒを用いた相電流の検出においては、例えば特開２００５−１９２３３５号公報に開示されるように、スイッチング素子のオン／オフの切り替えタイミングから所定時間経過後に行わせるようにすることができる。
【００６７】
ここで、シャント抵抗Ｒの両端電圧から検出できない相の電流（絶対値が最小である相電流）については、各相の電流の総和が零になるという特性（Ｉu＋Ｉv＋Ｉw＝０）に基づき、シャント抵抗Ｒの両端電圧から検出された２相の電流値から演算で求めて推定することができる。
【００６８】
前記２相分の電流値（瞬時電流値）の電流検出回路２２０による検出は、ＰＷＭ信号の１キャリア周期中に少なくとも２回行われるようにし、例えば１キャリア周期中にＵ相電流Ｉu及びＷ相電流Ｉwが検出された場合には、これらの電流値Ｉu，Ｉwに基づいて、Ｖ相電流Ｉｖを、Ｉｖ＝−（Ｉu＋Ｉw）として算出させる。
【００６９】
上記のようにして、３相の電流値Ｉu，Ｉv，Ｉwを検出又は推定によって求めると、これらの電流値Ｉu，Ｉv，Ｉw、制御軸１３の実際の角度を目標角度にするための指令トルク、モータ１７のロータ角速度などに基づいて、モータ駆動のための出力電圧指令値Ｖu、Ｖv、Ｖwを演算し、更に、出力電圧指令値Ｖu、Ｖv、Ｖwから出力電圧ベクトルＶｘを演算により求める。
【００７０】
そして、前記出力電圧ベクトルＶｘにより各相の上側スイッチング素子２１７ａ，２１７ｃ，２１７ｅのオン時間タイマ値を求め、基準信号（キャリア信号）と前記オン時間タイマ値とを比較し、前記スイッチング素子２１７ａ〜２１７ｆのオン・オフ制御のためのＰＷＭ信号を求める。
【００７１】
ここで、前記ＶＥＬコントローラ２１３は、電流検出回路２２０による電流検出の誤差を推定し、推定した電流検出誤差に基づいて電流検出回路２２０による検出値を補正する機能（誤差算出手段及び補正手段としての機能）を有しており、係る補正機能を、図８のフローチャートに従って説明する。
【００７２】
尚、図８のフローチャートに示すルーチンは、Ｕ相の電流を他の２相（Ｖ相，Ｗ相）の電流検出値に基づいて推定している状態から、電流検出回路２２０によってＵ相の電流を検出する状態に切り替わった場合に適合する処理を示すが、Ｕ相以外の２相（Ｖ相，Ｗ相）について、電流を推定する状態から検出する状態に切り替わった場合にも同様な処理が行われ、更に、３相それぞれについて電流の検出状態から電流の推定状態に切り替わった場合にも同様な処理が行われるものとする。
【００７３】
図８のフローチャートに示すルーチンにおいて、まず、ステップＳ１００１では、Ｕ相について、他の２相（Ｖ相，Ｗ相）の電流検出値に基づき電流値を推定する状態から、電流検出回路２２０によってＵ相電流を検出する状態に切り替わったか否かを判別する。
【００７４】
図９に示す例では、相電流の検出・推定タイミングの前回（電気角θ１）においては、Ｕ相の電流についてはＶ相及びＷ相の電流検出値から推定していたのに対し、今回（電気角θ２）は、Ｕ相の電流を電流検出回路２２０で検出する状態に切り替わっており、電気角θ２の時点で、検出・推定の切り替わりを判定することになる。
【００７５】
Ｕ相の電流値の検出・推定の切り替わりを判定すると、ステップＳ１００２へ進み、Ｕ相の指令電流の前回からの変化量の絶対値が所定値以内であるか否かを判定することで、指令電流が略一定である定常状態であるか否かを判断する。
【００７６】
即ち、電流検出の誤差を判断するときに、指令電流（電圧）の変化が大きいと、誤差の判定精度が低下するため、指令電流（電圧）の変化が小さいことを、検出誤差の判定の実行条件とする。
【００７７】
従って、前記所定値は、誤差の判定精度を維持できるか否かを判別するための閾値であり、具体的には、電流検出の分解能以下である軸電流指令値の変化量を、前記所定値とすることができる。
【００７８】
また、後述するように、求めた検出誤差を加重平均（平滑化処理）して検出値の補正に用いる場合には、指令電流を、検出誤差の加重平均と同じ重み付けで加重平均した場合に、加重平均後の指令電流の変化が電流検出の分解能以下となる場合に、誤差の判定を許容させることができ、係る要求を満たす値を前記所定値とすることができる。
【００７９】
指令電流の変化が小さい場合には、ステップＳ１００３へ進み、現時点（電気角θ２）でのＵ相の指令電流値Ｉucomを算出する。尚、前記電気角θ２は、Ｕ相とｄ軸（Ｎ極）との相対角度となる。
【００８０】
前記指令電流値Ｉucomは、現時点（電気角θ２）でのＵ相電圧指令値Ｖuの基となるｑ軸電流指令値Ｉqrefと、電気角θ２に基づき、下式に従って算出される。
Ｉucom＝−sin（θ２）＊Ｉqref…（式１）
次のステップＳ１００４では、電気角θ２において電流検出回路２２０によって検出されたＵ相の電流値Ｉｕと、同じく電気角θ２におけるＵ相の指令電流値Ｉucomとの差分（誤差）Ａｕを、指令電流値Ｉucomに対する検出電流の追従遅れ分として算出する。
【００８１】
Ａｕ＝Ｉｕcom−Ｉｕ…（式２）
次のステップＳ１００５では、Ｕ相電流Ｉｕを推定していた前回（電気角θ１）におけるＵ相の指令電流値Ｉucom-1を算出する。
【００８２】
前記指令電流値Ｉucom-1は、前回（電気角θ１）でのＵ相電圧指令値Ｖuの基となったｑ軸電流指令値Ｉqref-1と電気角θ１に基づき、下式に従って算出される。
Ｉucom-1＝−sin（θ１）＊Ｉqref-1…（式３）
次のステップＳ１００６では、式３に基づき求めた前回において目標としたＵ相の指令電流値Ｉucom-1と、式２に基づき求めた目標とする電流Ｉｕcomに対する検出電流値の追従遅れ分Ａｕとを用いて、前回（電気角θ１）での実電流の推定値（推定実電流値）Ｉue-1を算出する。
【００８３】
Ｉue-1＝Ｉucom-1−Ａｕ…（式４）
即ち、前回（電気角θ１）においても、目標電流Ｉｕcomに対する実電流の追従遅れ分がＡｕだけあったものとして、前回（電気角θ１）におけるＵ相の実電流値を推定する。
【００８４】
例えば、図９に示す例のように、現時点（電気角θ２）で指令電流値ＩucomよりもＵ相の検出電流値Ｉｕが高い場合には、前記追従遅れ分Ａｕがマイナスの値として算出される結果、式４に基づき、前回（電気角θ１）におけるＵ相の実電流値は、前回の目標電流値Ｉucom-1よりもＡｕだけ高い値として算出されることになる。
【００８５】
上記推定実電流値Ｉue-1は、前回（電気角θ１）における実電流値として見込まれる値であるから、該推定実電流値Ｉue-1と、前回（電気角θ１）において他の２相の電流検出値から推定したＵ相の電流値Ｉu-1との差は、他の相（Ｖ相及びＷ相）の電流検出値の検出誤差に因るものである。
【００８６】
そこで、次のステップＳ１００７では、下式に従って、電流検出誤差を下式に従って算出する。
電流検出誤差＝（Ｉue-1−Ｉu-1）／３…（式５）
例えば、電流検出回路２２０による電流検出値に対して＋0.1[Ａ]のオフセット誤差が生じていたとすると、Ｕ相の電流値Ｉｕを、Ｖ相の電流検出値Ｉｖ及びＷ相の電流検出値Ｉｗに基づき、Ｉｕ＋Ｉｖ＋Ｉｗ＝０（Ｉｕ＝−Ｉｖ−Ｉｗ）なる相関に基づいて推定したとすると、前記推定値Ｉu-1は、Ｖ相の電流検出値Ｉｖの検出誤差と、Ｗ相の電流検出値Ｉｗの検出誤差との双方に影響され、−0.1[Ａ]＊２のオフセット誤差を生じることになり、前記推定値Ｉu-1には、−0.1[Ａ]＊２のオフセット誤差が含まれていることになる。
【００８７】
更に、Ｕ相の電流値を電流検出回路２２０で検出された場合にも、前記Ｖ相及びＷ相についての電流検出と同様に＋0.1[Ａ]のオフセット誤差が生じ、前記Ｉue-1にも検出誤差が含まれていることになる。
【００８８】
従って、推定実電流値Ｉue-1を電流検出回路２２０による検出値と見なし、正しい検出値及び推定値に対するオフセット誤差の加算状態として前記「Ｉue-1−Ｉu-1」を書き直すと、「検出値＋1.0−(推定値−1.0＊２)」となり、検出値＝推定値＝真値とすれば、前記「Ｉue-1−Ｉu-1」は、「オフセット誤差＊３」を算出することになる。
【００８９】
従って、（Ｉue-1−Ｉu-1）／３は、電流検出回路２２０による電流検出値のオフセット誤差を示すことになる。
そして、前記電流検出回路２２０による電流検出値を前記電流検出誤差（オフセット誤差）だけ補正することで、電流検出回路２２０のオフセット誤差の影響を排除して、電流として真値を検出させることができ、前記電流検出誤差（オフセット誤差）で補正された電流検出値に基づく電流推定値も真値に近い値を示すことになる。
【００９０】
従って、同一相について、相電流を検出していた状態から推定処理に切り替わる際、及び、相電流を推定していた状態から検出処理に切り替わる際に、検出値と推定値との間に大きな差が生じることが抑制される。
【００９１】
これにより、３相それぞれの電流に基づくモータ１７の制御精度が向上し、モータ１７によって駆動される制御軸１３の角度を目標角度に応答良くかつ高精度に収束させることができる。
【００９２】
図１０は、電流検出回路２２０による電流検出値にオフセット誤差が含まれ、その結果、推定値において検出値とは逆方向の誤差が生じた場合のモータ電流の変化を示す。
この図１０に示すように、例えば、電流検出回路２２０の検出値に＋0.1Ａのオフセット誤差が発生しているとすると、推定値は、−0.2Ａの誤差を含むことになり、推定値から検出値又は検出値から推定値に切り替わる際に、0.3Ａだけステップ的な変化を示すことになり、これによってモータ制御精度が大きく低下することになってしまう。
【００９３】
これに対して、上記のようにして電流検出誤差を補正すれば、電流の推定値と検出値とが相互に近づくことになり、推定値から検出値又は検出値から推定値に切り替わる際に、電流の認識値がステップ的に変化することが抑制される。
【００９４】
そして、本実施形態におけるモータ１７は、可変バルブリフト機構（ＶＥＬ）１１３のアクチュエータであるから、可変バルブリフト機構（ＶＥＬ）１１３によって吸気バルブ１０５のバルブ作動角・バルブリフト量を変更することで、内燃機関１０１の吸入空気量を制御する場合には、吸入空気量制御の応答性・精度が改善される。
【００９５】
図１１のブロック図は、ＶＥＬコントローラ２１３における電流検出誤差の推定及び電流検出誤差に基づく検出電流値の補正処理の機能を示す。
図１１において、Ｕ，Ｖ，Ｗ相電流演算部５０１では、電流検出回路２２０及び各相の指令電圧に基づいてＵ，Ｖ，Ｗの各相の電流を検出又は推定する。
【００９６】
電流検出誤差推定部５０２では、前記各相の電流の検出値・推定値、電気角、ｑ軸電流値Ｉqに基づいて、前記式１〜式５に示したようにして、電流検出回路２２０の電流検出誤差（オフセット誤差）を推定する。
【００９７】
前記電流検出誤差推定部５０２で推定された電流検出誤差は、電流検出誤差補正部５０３に出力され、電流検出誤差補正部５０３では、電流検出回路２２０により検出された相電流を、前記電流検出誤差に基づいて補正し、更に、補正された相電流検出値に基づいて改めて電流値の推定を行う。
【００９８】
前述のように、図８のフローチャートは、Ｕ相の電流値が、他の２相の電流検出値に基づいて推定される状態から電流検出回路２２０によって検出される状態に切り替わったときに適合する処理を示すが、Ｖ相の電流値が、他の２相の電流検出値に基づいて推定される状態から電流検出回路２２０によって検出される状態に切り替わったとき、更に、Ｗ相の電流値が、他の２相の電流検出値に基づいて推定される状態から電流検出回路２２０によって検出される状態に切り替わったときに、同様の処理を行わせて、電流検出誤差（電流検出回路２２０のオフセット誤差）を求めることができる。
【００９９】
ここで、Ｖ相の電流値が推定値から検出値に切り替わったときの処理においては、ステップＳ１００３及びステップＳ１００５における指令電流値の演算式を、下式に置き換える。
【０１００】
Ｉｖｃｏｍ＝−sin（θ−２／３π）＊Ｉｑｒｅｆ
また、Ｗ相の電流値が推定値から検出値に切り替わったときの処理においては、ステップＳ１００３及びステップＳ１００５における指令電流値の演算式を、下式に置き換える。
【０１０１】
Ｉｖｃｏｍ＝−sin（θ＋２／３π）＊Ｉｑｒｅｆ
更に、電流値が検出値から推定値に切り替わった相についても、前記電流検出誤差（オフセット誤差）を求める場合には、前回が検出値であるから、ステップＳ１００３及びステップＳ１００４において、前回の電流検出時における指令電流値を求め、該指令電流値と、前回の検出値との差を演算させる。
【０１０２】
更に、今回が推定値であるから、ステップＳ１００５で今回（現時点）での指令電流値を演算させ、ステップＳ１００６では、今回の推定値を、前回での検出値と指令電流値との差分だけ補正させることで、推定実電流値を求める。
【０１０３】
尚、前記電流検出誤差（オフセット誤差）の算出は、推定値から検出値、又は、検出値から推定値に切り替わった相についてのみ行わせ、逆の検出値から推定値、推定値から検出値に切り替わった相についての演算を省略することができる。
【０１０４】
更に、時系列的に順次算出されることになる前記電流検出誤差（オフセット誤差）を平滑化処理して、電流検出値の補正に用いるようにすることができ、これによって、前記電流検出誤差（オフセット誤差）の推定ばらつきによって補正結果が変動することを抑制でき、補正精度を向上させることができる。
【０１０５】
前記平滑化処理としては、加重平均演算や、電流検出誤差（オフセット誤差）の前回値と今回値との偏差が閾値を越える場合に、前回値に対する偏差が閾値となる値に今回値を制限するリミッタ処理や、ローパスフィルタ処理などがある。
【０１０６】
図１２のタイムチャートは、前記平滑化処理を行った場合の電流検出誤差（オフセット誤差）の変化を示すタイムチャートであり、前回に算出された電流検出誤差（オフセット誤差）Ｂと、今回算出した電流検出誤差（オフセット誤差）Ａとを、重み係数Ｘ，Ｙを用いて、加重平均値＝（Ａ＊Ｘ）＋（Ｂ＊Ｙ）なる加重平均演算した場合を示す。
【０１０７】
図１２（Ａ）は、電流検出回路２２０の電流検出誤差（オフセット誤差）を補正しない場合の各相電流（検出値及び推定値）の変化を示し、各相について、電流の認識値が検出値から推定値に切り換る際、及び、推定値から検出値に切り換る際に、前記電流検出誤差（オフセット誤差）によってステップ的に大きな変化が生じることを示している。
【０１０８】
また、この図１２に示す例では、電流検出回路２２０は＋0.1Ａのオフセット誤差を有しているが、電流検出誤差（オフセット誤差）を加重平均するため、図１２（Ｃ）に示すように、加重平均演算された電流検出誤差（オフセット誤差）は、前記＋0.1Ａに向けて徐々に変化し、最終的には＋0.1Ａ付近に収束する。
【０１０９】
そして、図１２（Ｂ）に示すように、前記電流検出誤差（オフセット誤差）の加重平均値を用いて電流検出回路２２０を補正すると、各相の電流の検出値が真値に近づく結果、該検出値を用いて推定される電流値も真値に近づき、検出値と推定値との間の差が徐々に縮小することになる結果、検出から推定、推定から検出に切り換る際の電流認識値のステップ的な変化が抑制され、モータ制御を安定的かつ高精度に行わせることができる。
【０１１０】
前記平滑化処理における平滑化度合い（なまし度合い、最新値の反映割合）は、予め記憶された固定値とすることができる他、シャント抵抗Ｒを含む電流検出回路２２０の温度及び／又は前記電流検出誤差の算出周期（推定演算の実行周期）に応じて変化させることができる。
【０１１１】
即ち、前回の電流検出誤差の算出時（推定時）からの温度変化が大きい場合や、前回の電流検出誤差の算出から今回の電流検出誤差の算出までの時間間隔が長い場合には、電流検出回路２２０の検出誤差が大きく変化している可能性がある。
【０１１２】
そして、係る状況下で、平滑化処理における最新値（今回値）の反映割合が小さいと、平滑化処理後の電流検出誤差と実際の誤差との偏差が大きくなり、実際の誤差に対応する補正を行えるようになるまでの遅れ（補正処理の応答遅れ）が過大になってしまう。
【０１１３】
逆に、前回の電流検出誤差の算出からの温度変化が小さい場合や、前回の電流検出誤差の算出から今回の電流検出誤差の算出までの時間間隔が短い場合には、電流検出回路２２０の検出誤差の変化は小さく、平滑化処理における最新値の反映割合が大きいと、ノイズなどの影響を受けやすくなって、補正制御が不安定になってしまう。
【０１１４】
そこで、前回の電流検出誤差の算出からの温度変化が大きい場合や、前回の電流検出誤差の算出から今回の電流検出誤差の算出までの時間間隔が長い場合には、平滑化処理における最新値（今回値）の反映割合を、温度変化が小さい場合や時間間隔が短い場合に比べて大きくする。
【０１１５】
これにより、補正処理の応答遅れを充分に小さくし、かつ、ノイズなどの影響を排除して電流検出誤差を高精度に推定できる。
従って、前記温度変化や誤差の推定周期と、平滑化処理における最新値（今回値）の反映割合との相関は、補正処理の応答遅れを抑制しつつ、ノイズなどの影響を排除できるように適宜設定される。
【０１１６】
ここで、最新値（今回値）の反映割合を大きくする処理は、加重平均演算であれば、最新値（今回値）に対する重み付けを大きくする処理であり、前記変化量のリミッタ処理であれば、変化の最大量を定める前記閾値をより大きな値に変更する処理であり、ローパスフィルタ処理であれば、通過周波数をより高い周波数に切り替える処理となる。
【０１１７】
前記シャント抵抗Ｒを含む電流検出回路２２０の温度は、温度センサによって検出させることができ、また、内燃機関１０１の近傍に前記シャント抵抗Ｒを含む電流検出回路２２０が設けられる場合には、内燃機関１０１の温度を代表する冷却水温度や潤滑油温度などを、シャント抵抗Ｒを含む電流検出回路２２０の温度に相関する温度として、最新値の反映割合（平滑化度合い）の変更判断に用いることができる。
【０１１８】
図１３のフローチャートは、電流検出誤差を加重平均演算する場合に、温度や電流検出誤差の更新周期に応じて最新値（今回値）の反映割合を変更させる処理を示す。
まず、ステップＳ２００１では、前回電流検出誤差を推定した時点から今回電流検出誤差を推定した時点までの間における温度変化（内燃機関１０１の油温や水温の変化、シャント抵抗Ｒの温度変化）が閾値以上であるか否かを判別する。
【０１１９】
前記閾値は、最新値の反映割合をより大きな値に変更すべきか否かの判断基準であり、補正応答性の確保とノイズ影響の排除とを両立させるべく、予め適合される値である。
温度変化が閾値以上であると判断されると、ステップＳ２００３へ進んで、最新値の反映割合がより大きくなるように、加重平均演算の重み係数（加重平均係数、重み付け）を変更する。
【０１２０】
具体的には、前回に算出された電流検出誤差（オフセット誤差）Ｂと、今回算出した電流検出誤差（オフセット誤差）Ａとを、重み係数Ｘ，Ｙを用いて、加重平均値＝（Ａ＊Ｘ）＋（Ｂ＊Ｙ）なる加重平均演算を行う場合、温度変化が閾値以上である場合には、閾値未満である場合に比べて、前記重み係数Ｘをより大きく変更し、重み係数Ｙをより小さく変更する。
【０１２１】
また、温度変化が閾値未満である場合には、ステップＳ２００２へ進み、前回電流検出誤差を推定した時点から今回電流検出誤差を推定した時点までの間における経過時間（電流検出誤差の推定周期）が所定時間以上であるか否かを判断する。
【０１２２】
前記所定時間も、最新値の反映割合をより大きな値に変更すべきか否かの判断基準であり、補正応答性の確保とノイズ影響の排除とを両立させるべく、予め適合される値である。
【０１２３】
前記経過時間が所定時間以上であると判断されると、ステップＳ２００３へ進んで、前記経過時間が所定時間未満である場合に比べて、最新値の反映割合がより大きくなるように、前述のように加重平均演算の重み係数Ｘ，Ｙを変更する。
【０１２４】
一方、前記経過時間が所定時間未満であれば、ステップＳ２００４へ進み、ステップＳ２００３とは逆に、温度変化が閾値以上である場合や、前記経過時間が所定時間以上である場合に比べて、前回値の反映割合がより大きくなるように、加重平均演算の重み係数Ｘ，Ｙを変更する。
【０１２５】
上記のようにして加重平均演算に用いる重み係数Ｘ，Ｙを決定すると、ステップＳ２００５へ進み、決定された重み係数Ｘ，Ｙを用いて、電流検出誤差の前回値と今回値（最新値）とを加重平均する。
【０１２６】
尚、加重平均演算においては、前回における加重平均値と今回推定した電流検出誤差とを加重平均させることができる。
また、図１３のフローチャートでは、温度変化の大小、経過時間の長短に基づいて、最新値の反映割合（平滑化度合い）を２段階に切り替えるようにしたが、温度変化・経過時間を３段階以上に区別することで、最新値の反映割合（平滑化度合い）を３段階以上に切り替えることができる。
【０１２７】
ところで、電流検出誤差の加重平均演算に用いる前回値（初期値）のデータが記憶されていない場合には、加重平均演算が行えずに、電流検出誤差の加重平均値に基づく補正を直ちに開始させることができず、また、加重平均値の収束が遅れることになってしまう。
【０１２８】
そこで、電流検出誤差の加重平均演算に用いる初期値のデータ設定を、図１４のフローチャートに示すようにして行わせる。
図１４のフローチャートにおいて、ステップＳ３００１では、前記ＶＥＬコントローラ２１３及び可変バルブリフト機構（ＶＥＬ）１１３を含む可変動弁システム（３相モータを備える機器）に初めて通電され、電流検出誤差の加重平均演算に用いる前回値（初期値）のデータが記憶されていない状態であるか否かを判断する。
【０１２９】
尚、前記可変動弁システムに初めて通電された状態とは、例えば、前記可変動弁システムを備えた自動車の組み立て工場で、組み立て完了後にイグニッションスイッチを初めてオンして、可変動弁システムに初めて電源投入された場合である。
【０１３０】
ステップＳ３００１で、初回通電時であると判断された場合には、ステップＳ３００２へ進み、モータ電流を０Ａに制御した状態での前記電流検出回路２２０の検出値を、電流検出誤差として求める処理を行う。
【０１３１】
ステップＳ３００３では、ステップＳ３００２で求めた電流検出誤差を前回値として不揮発性メモリに記憶させる処理を行う。
そして、電流検出誤差の加重平均演算を開始する場合に、前記初めての通電時に求め記憶されている前回値（初期値）と、初めて推定した電流検出誤差とで加重平均演算を行わせる。
【０１３２】
尚、加重平均演算が開始された後は、加重平均演算後に、最新値を前回値として記憶させる処理を繰り返し、内燃機関１０１の停止中も前回値の記憶が保持されるようにしておくことで、加重平均演算に用いる前回値が存在しない状態を回避できる。
【０１３３】
また、電流検出誤差の加重平均演算に用いる初期値のデータ設定を、図１５のフローチャートに示すようにして行わせることができる。
ステップＳ４００１では、イグニッションスイッチのオン時（電源投入時）における電流検出誤差の設定が済んでいるか否かを判断する。
【０１３４】
そして、電流検出誤差の設定が済んでいない場合には、ステップＳ４００２へ進み、前記ステップＳ３００２と同様に、モータ電流を０Ａに制御した状態での前記電流検出回路２２０の検出値を、電流検出誤差として求める処理を行う。
【０１３５】
ステップＳ４００３では、ステップＳ４００２で求めた電流検出誤差を前回値として記憶させる処理を行う。
イグニッションスイッチのオンされた初回に、ステップＳ４００３で電流検出誤差の初期値（前回値）を求めて記憶させると、その後は、ステップＳ４００１で設定済みと判断されて、ステップＳ４００２、ステップＳ４００３の処理には進まない。
【０１３６】
即ち、イグニッションスイッチのオンされる毎（電源投入毎）に、モータ電流を０Ａに制御して電流検出誤差を求め、その後は、この値を初期値として電流検出誤差の加重平均演算を行わせる。
【０１３７】
更に、電流検出誤差の加重平均演算に用いる初期値として、温度条件別に学習した電流検出誤差を設定させることができ、係る温度に応じた初期値の設定処理を、図１６のフローチャートに従って説明する。
【０１３８】
図１６のフローチャートにおいて、ステップＳ５００１では、イグニッションスイッチのオン後の初回実行時であるか否かを判断し、初回であれば、ステップＳ５００２へ進む。
【０１３９】
ステップＳ５００２では、電流検出回路２２０の温度（又は電流検出回路２２０の温度に相関する温度）を計測し、次のステップＳ５００３では、計測した温度に対応して記憶されている電流検出誤差を読み出す。
【０１４０】
そして、ステップＳ５００４では、ステップＳ５００３で読み出した電流検出誤差を、加重平均演算に用いる初期値（前回値）として記憶させる。
尚、温度毎の電流検出誤差の学習が全く行われていない場合や、今回検出した温度に対応する電流検出誤差の学習データがない場合には、予め記憶された固定の基準値を初期値（前回値）として設定させることができ、更に、前記固定の基準値を温度条件毎の値として予め記憶させておくこともできる。
【０１４１】
上記のように、そのときの温度条件に対応して学習されている電流検出誤差を初期値として設定すれば、初期値として実際の誤差特性に近似する値を設定させることができ、当初から検出値を実施値に近い値に補正させることができる。
【０１４２】
次に、温度別の電流検出誤差の学習を、図１７のフローチャートに従って説明する。
ステップＳ６００１では、電流検出回路２２０の温度が、電流検出誤差の学習値を記憶させるテーブルにおいて温度領域を仕切る格子点を跨いだか否か、換言すれば、学習を行う温度領域が切り替わったか否かを判別する。
【０１４３】
そして、格子点を跨いだ場合（前回の該当領域と今回の該当領域とが異なる場合）には、ステップＳ６００２へ進んで、電流検出誤差の推定回数の計数値をクリアすることで、新たに該当するようになった温度領域での推定回数が計数されるようにする。
【０１４４】
一方、ステップＳ６００１で格子点を跨いでいない（該当領域が切り替わっていない）と判断された場合には、ステップＳ６００３へ進む。
ステップＳ６００３では、現時点の温度が該当している温度領域での新たな学習（電流検出誤差の更新）が終了しているか否を判断する。
【０１４５】
前記温度領域別の学習においては、電流検出誤差の推定を予め設定された所定回数だけ行わせ、その結果としての加重平均値を当該領域での学習値として更新記憶させるようになっており、推定回数が前記所定回数を超えるようになっている場合には、その温度領域の電流検出誤差の更新が終了していると判断し、本ルーチンを終了させる。
【０１４６】
尚、前記所定回数は、電流検出誤差の加重平均値（平滑化処理後の値）が収束するのに充分な回数として、予め適合されている。
ステップＳ６００３で電流検出誤差の更新が終了していないと判断された場合には、ステップＳ６００４へ進んで、電流検出誤差が新たに推定される毎に推定回数の計数値をカウントアップさせる。
【０１４７】
次のステップＳ６００５では、前記推定回数の計数値が前記所定回数に到達しているか否かを判断し、所定回数に到達している場合には、ステップＳ６００６に進む。
ステップＳ６００６では、所定回数に達した時点での電流検出誤差の加重平均値をそのときの温度領域での学習値として更新記憶させる。
【０１４８】
前記温度領域別の学習させた電流検出誤差は、加重平均演算の初期値として用いられる他、電流の検出・推定値の補正にも用いる。
即ち、電流の検出値を補正する場合には、そのときの電流検出回路２２０の温度が含まれる温度領域に記憶されている電流検出誤差を検索して用いる。
【０１４９】
ここで、温度領域別の電流検出誤差を記憶する学習テーブルの各領域に対して、予め温度条件から推定される電流検出誤差の基準値を記憶させておき、該基準値を初期値として更新させるようにすることができる。
【０１５０】
また、未学習領域の電流検出誤差を、他の学習済み領域での電流検出誤差から補間演算などによって推定させ、該推定値を当該領域の学習値として記憶させることができる。
尚、上記実施形態では、３相モータを、可変バルブリフト機構（ＶＥＬ）１１３のアクチュエータとして用いられるモータとしたが、可変バルブリフト機構（ＶＥＬ）１１３用のモータに限定されるものではなく、例えば、内燃機関１０１又は内燃機関１０１の補機類に備えられるオイルポンプやウォーターポンプなどの各種ポンプに用いられる３相モータなどを対象とすることができる。
【０１５１】
ここで、上記実施形態から把握し得る請求項以外の技術的思想について、以下に効果と共に記載する。
（イ）請求項２記載の３相モータの電流検出装置において、
前記誤差算出手段が、前記第２差分の１／３を前記電流検出誤差として算出することを特徴とする３相モータの電流検出装置。
【０１５２】
上記発明によると、２相の電流検出値から残る１相の電流値を推定する場合、推定値には、推定値は、２相それぞれの検出誤差に影響され、更に、前記１相の電流を検出した場合にも検出誤差が含まれるから、前記第２差分の１／３が検出誤差を示すことになる。
（ロ）請求項１〜５のいずれか１つに記載の３相モータの電流検出装置において、
前記誤差算出手段が、前記指令電流値の変化量が所定値以下であることを条件に、前記電流検出誤差を算出することを特徴とする３相モータの電流検出装置。
【０１５３】
上記発明によると、電流検出の誤差を判断するときに、指令電流（電圧）の変化が大きいと、誤差の判定精度が低下するため、指令電流（電圧）の変化が小さいことを、検出誤差の判定の実行条件とする。
（ハ）請求項１〜５のいずれか１つに記載の３相モータの電流検出装置において、
前記誤差算出手段が、前記電流検出器の温度毎に前記電流検出誤差を算出して記憶し、前記補正手段がそのときの前記電流検出器の温度に対応して記憶されている前記電流検出誤差に基づいて補正を行うことを特徴とする３相モータの電流検出装置。
【０１５４】
上記発明によると、そのときの温度条件に対応して記憶されている電流検出誤差に基づいて補正すれば、温度条件が異なっても当初から検出値を実施値に近い値に補正させることができる。
（ニ）請求項５記載の３相モータの電流検出装置において、
前記３相モータを備える機器に初めて電源投入されたときに、前記初期値を求めて記憶させておくことを特徴とする３相モータの電流検出装置。
【０１５５】
上記発明によると、電流検出誤差の平滑化処理を開始する場合に、前記初めての通電時に求め記憶されている初期値と、初めて推定した電流検出誤差とで、平滑化処理を行わせることができる。
（ホ）請求項５記載の３相モータの電流検出装置において、
前記３相モータを備える機器に電源投入される毎に、前記初期値を求めて記憶することを特徴とする３相モータの電流検出装置。
【０１５６】
上記発明によると、電源投入毎に、各相の電流を０Ａに制御して電流検出誤差を求め、その後は、この値を初期値として電流検出誤差の平滑化処理を行わせることができる。
【符号の説明】
【０１５７】
１３…制御軸、１７…モータ、１８…ギア列、１０１…内燃機関、１０５…吸気バルブ、１１３…可変バルブリフト機構、２０２…角度センサ、２１２…駆動回路、２１３…ＶＥＬコントローラ、２１７ａ〜２１７ｆ…スイッチング素子、２１９…直流電源回路、２２０…電流検出回路、Ｒ…シャント抵抗
【図１】
2010193539.tif 000003
【図２】
2010193539.tif 000004
【図３】
2010193539.tif 000005
【図４】
2010193539.tif 000006
【図５】
2010193539.tif 000007
【図６】
2010193539.tif 000008
【図７】
2010193539.tif 000009
【図８】
2010193539.tif 000010
【図９】
2010193539.tif 000011
【図１０】
2010193539.tif 000012
【図１１】
2010193539.tif 000013
【図１２】
2010193539.tif 000014
【図１３】
2010193539.tif 000015
【図１４】
2010193539.tif 000016
【図１５】
2010193539.tif 000017
【図１６】
2010193539.tif 000018
【図１７】
2010193539.tif 000019