(57)【要約】【課題】記憶されたパラメータ値を装置起動時に使用する場合であっても、温度変化や製造ばらつきによるパラメータ値のずれを補償する。【解決手段】本モータ制御装置において、Φ算出部２６は、オープンループ制御部２２に使用されるモータの回路方程式に含まれるパラメータであるΦ値を、電流センサ１４の検出電流に基づき算出する。Φ値記憶部２８は、装置動作終了時点におけるΦ値および温度センサ６の検出温度を記憶する。初期Φ算出部２７は、装置起動時点において、記憶された温度から装置起動時における温度センサ６の検出温度への変化に応じて、記憶されたΦ値を補正し、初期値としてオープンループ制御部２２に与える。このことにより製造ばらつきだけでなく温度変化を補償したパラメータでオープンループ制御が行われるので、装置起動時点から直ちに高い精度でモータを制御することができる。【選択図】図２
2010233423.tif 000002
【特許請求の範囲】
【請求項１】
モータを駆動するモータ制御装置であって、
前記モータに供給すべき電流の量を示す指令電流値と前記モータのロータの角速度とに基づき、モータの回路方程式に従い、前記モータを駆動する指令電圧のレベルを求めるオープンループ制御手段と、
前記オープンループ制御手段で求められるレベルの電圧に応じて前記モータを駆動するモータ駆動手段と、
装置の温度を測定または推定する温度測定手段と、
前記モータに流れる電流を検出する電流検出手段と、
前記電流検出手段で検出された電流値に基づき、前記指令電圧のレベルを求めるときに使用されるモータの回路方程式に含まれるパラメータを求めるパラメータ算出手段と、
装置の動作終了までの間の所定時点において前記パラメータ算出手段により求められるパラメータと、当該時点において前記温度測定手段により測定または推定される温度とを記憶する記憶手段と、
装置起動時点において、前記記憶手段に記憶された温度から、装置起動時に前記温度測定手段により測定される温度への変化に応じて、前記記憶手段に記憶されたパラメータを補正することにより得られる初期パラメータを算出する初期パラメータ算出手段と
を備え、
前記オープンループ制御手段は、装置起動時点には前記初期パラメータ算出手段により算出された初期パラメータに基づき、前記指令電圧のレベルを求めることを特徴とする、モータ制御装置。
【請求項２】
前記温度測定手段は、
前記モータに含まれる電機子巻線の温度または当該温度を推定可能な位置の温度を測定する第１の温度測定手段と、
前記モータへの電流が流れる回路を構成する素子および配線の温度または当該温度を推定可能な位置の温度を測定する第２の温度測定手段とを含み、
前記パラメータ算出手段は、前記電流検出手段で検出された電流値に基づき、モータの回路方程式に含まれる電機子巻線抵抗を含む回路抵抗を求めることを特徴とする、請求項１に記載のモータ制御装置。
【請求項３】
モータを駆動するモータ制御装置であって、
前記モータに供給すべき電流の量を示す指令電流値と前記モータのロータの角速度とに基づき、モータの回路方程式に従い、前記モータを駆動する指令電圧のレベルを求めるオープンループ制御手段と、
前記オープンループ制御手段で求められるレベルの電圧に応じて前記モータを駆動するモータ駆動手段と、
前記モータに流れる電流を検出する電流検出手段と、
前記電流検出手段で検出された電流値に基づき、前記指令電圧のレベルを求めるときに使用されるモータの回路方程式に含まれるパラメータを求めるパラメータ算出手段と、
装置の動作終了までの間の所定時点において前記パラメータ算出手段により求められるパラメータに対して、装置起動時点からの温度変化を補償した初期パラメータを算出する初期パラメータ算出手段と
前記初期パラメータを記憶する記憶手段と
を備え、
前記オープンループ制御手段は、装置起動時には、前記記憶手段に記憶された初期パラメータに基づき、前記指令電圧のレベルを求めることを特徴とする、モータ制御装置。
【請求項４】
前記モータに流される電流によって生じる発熱エネルギーを算出し、当該発熱エネルギーに応じて生じるべき装置起動時から前記時点までの温度変化量を算出する温度変化量算出手段をさらに備え、
前記初期パラメータ算出手段は、前記パラメータ算出手段により前記時点において算出されるパラメータを前記温度変化量に応じて補正することにより前記初期パラメータを算出することを特徴とする、請求項３に記載のモータ制御装置。
【請求項５】
前記初期パラメータ算出手段は、装置の温度が常温である時点において前記パラメータ算出手段により求められるパラメータを、装置起動時点からの温度変化を補償した初期パラメータとして算出することを特徴とする、請求項３に記載のモータ制御装置。
【請求項６】
前記パラメータ算出手段は、前記電流検出手段で検出された電流値に基づき、モータの回路方程式に含まれる電機子巻線鎖交磁束数または電機子巻線抵抗を含む回路抵抗の少なくとも一方を求めることを特徴とする、請求項１または請求項３に記載のモータ制御装置。
【請求項７】
請求項１から請求項６までのいずれか１項に記載のモータ制御装置を備えた、電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オープンループ制御を行うモータ制御装置、および当該モータ制御装置を備えた電動パワーステアリング装置に関する。
【背景技術】
【０００２】
従来から、運転者がハンドル（ステアリングホイール）に加える操舵トルクに応じて電動モータを駆動することにより車両のステアリング機構に操舵補助力を与える電動パワーステアリング装置が用いられている。電動パワーステアリング装置の電動モータには従来からブラシモータが広く使用されているが、信頼性および耐久性の向上や慣性の低減などの観点から、近年ではブラシレスモータも使用されている。
【０００３】
一般にモータ制御装置は、モータで発生するトルクを制御するために、モータに流れる電流を検出し、モータに供給すべき電流と検出した電流との差に基づきＰＩ制御（比例積分制御）を行う。３相ブラシレスモータを駆動するモータ制御装置には、２相以上の電流を検出するために、２個または３個の電流センサが設けられる。
【０００４】
ここで電動パワーステアリング装置に含まれるモータ制御装置では、電流センサは１００Ａ以上の大電流を検出する必要があるため、サイズが大きく、電動パワーステアリング装置の制御装置の小型化を妨げている。このため、電動パワーステアリング装置などに含まれるモータ制御装置では、電流センサの削減が課題とされている。電流センサを削減できれば、モータ制御装置のコストや消費電力も低減できる。
【０００５】
この点、電流センサをすべて除去し、モータの回路方程式に従いオープンループ制御（フィードフォワード制御）を行う従来のモータ制御装置がある。しかしながら、この装置では、モータの回路方程式に含まれるパラメータが変動すると、モータを正しく駆動できなくなるという問題がある。
【０００６】
そこで、電流センサを典型的には１つ設け、この電流センサにより検出される電流値に基づき、上記パラメータを（制御中の適宜の時点で）求めるモータ制御装置がある（特許文献１を参照）。このように上記パラメータを求めることにより、モータ駆動電圧算出時のパラメータが設計時点の初期値からばらつきまたは変動しても、高い精度でモータを駆動することができる。
【０００７】
また、求められたパラメータは、例えば次の装置起動時に使用するため、典型的には不揮発性メモリに記憶される。このように算出された各種補正値を不揮発性メモリに記憶する構成は従来より広く知られており、例えば特許文献２には、調整されたトルクセンサの中点電位を不揮発性メモリに記憶させる構成が開示されている。また、特許文献３には、車両搭載アクチュエータの特性値を不揮発性メモリに記憶させる構成が開示されている。さらに、特許文献４には、直進走行時のオフセットトルクに基づいて算出されるモータ電流補正値をＥＥＰＲＯＭに記憶させる構成が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−２２０１５５号公報
【特許文献２】特開２００１−３０４９８３号公報
【特許文献３】特開２００６−２７１１７１号公報
【特許文献３】特開２００７−６９８５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
このようにモータの回路方程式に含まれるパラメータを制御時に求めて不揮発性メモリに記憶させ、装置起動時に記憶された値を使用する構成によれば、装置毎の製造ばらつきにより生じるパラメータの設計時点の初期値からのずれを解消することができる。
【００１０】
しかし、パラメータを不揮発性メモリに記憶させた時点の装置の温度と、装置起動時における装置の温度とは異なることが多い。そのため、この温度変化により生じるパラメータの設計時点の初期値からのずれは、上記構成によっても解消することができない。
【００１１】
そこで、本発明は、記憶されたパラメータ値を装置起動時に使用する場合であっても、温度変化や製造ばらつきによるパラメータ値のずれを補償し、高い精度でモータを駆動できるモータ制御装置、およびこれを備えた電動パワーステアリング装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
第１の発明は、モータを駆動するモータ制御装置であって、
前記モータに供給すべき電流の量を示す指令電流値と前記モータのロータの角速度とに基づき、モータの回路方程式に従い、前記モータを駆動する指令電圧のレベルを求めるオープンループ制御手段と、
前記オープンループ制御手段で求められるレベルの電圧に応じて前記モータを駆動するモータ駆動手段と、
装置の温度を測定または推定する温度測定手段と、
前記モータに流れる電流を検出する電流検出手段と、
前記電流検出手段で検出された電流値に基づき、前記指令電圧のレベルを求めるときに使用されるモータの回路方程式に含まれるパラメータを求めるパラメータ算出手段と、
装置の動作終了までの間の所定時点において前記パラメータ算出手段により求められるパラメータと、当該時点において前記温度測定手段により測定または推定される温度とを記憶する記憶手段と、
装置起動時点において、前記記憶手段に記憶された温度から、装置起動時に前記温度測定手段により測定される温度への変化に応じて、前記記憶手段に記憶されたパラメータを補正することにより得られる初期パラメータを算出する初期パラメータ算出手段と
を備え、
前記オープンループ制御手段は、装置起動時点には前記初期パラメータ算出手段により算出された初期パラメータに基づき、前記指令電圧のレベルを求めることを特徴とする。
【００１３】
第２の発明は、第１の発明において、
前記温度測定手段は、
前記モータに含まれる電機子巻線の温度または当該温度を推定可能な位置の温度を測定する第１の温度測定手段と、
前記モータへの電流が流れる回路を構成する素子および配線の温度または当該温度を推定可能な位置の温度を測定する第２の温度測定手段とを含み、
前記パラメータ算出手段は、前記電流検出手段で検出された電流値に基づき、モータの回路方程式に含まれる電機子巻線抵抗を含む回路抵抗を求めることを特徴とする。
【００１４】
第３の発明は、モータを駆動するモータ制御装置であって、
前記モータに供給すべき電流の量を示す指令電流値と前記モータのロータの角速度とに基づき、モータの回路方程式に従い、前記モータを駆動する指令電圧のレベルを求めるオープンループ制御手段と、
前記オープンループ制御手段で求められるレベルの電圧に応じて前記モータを駆動するモータ駆動手段と、
前記モータに流れる電流を検出する電流検出手段と、
前記電流検出手段で検出された電流値に基づき、前記指令電圧のレベルを求めるときに使用されるモータの回路方程式に含まれるパラメータを求めるパラメータ算出手段と、
装置の動作終了までの間の所定時点において前記パラメータ算出手段により求められるパラメータに対して、装置起動時点からの温度変化を補償した初期パラメータを算出する初期パラメータ算出手段と
前記初期パラメータを記憶する記憶手段と
を備え、
前記オープンループ制御手段は、装置起動時には、前記記憶手段に記憶された初期パラメータに基づき、前記指令電圧のレベルを求めることを特徴とする。
【００１５】
第４の発明は、第３の発明において、
前記モータに流される電流によって生じる発熱エネルギーを算出し、当該発熱エネルギーに応じて生じるべき装置起動時から前記時点までの温度変化量を算出する温度変化量算出手段をさらに備え、
前記初期パラメータ算出手段は、前記パラメータ算出手段により前記時点において算出されるパラメータを前記温度変化量に応じて補正することにより前記初期パラメータを算出することを特徴とする。
【００１６】
第５の発明は、第３の発明において、
前記初期パラメータ算出手段は、装置の温度が常温である時点において前記パラメータ算出手段により求められるパラメータを、装置起動時点からの温度変化を補償した初期パラメータとして算出することを特徴とする。
【００１７】
第６の発明は、第１または第３の発明において、
前記パラメータ算出手段は、前記電流検出手段で検出された電流値に基づき、モータの回路方程式に含まれる電機子巻線鎖交磁束数または電機子巻線抵抗を含む回路抵抗の少なくとも一方を求めることを特徴とする。
【００１８】
第７の発明は、第１〜第６のいずれかの発明に係るモータ制御装置を備えた電動パワーステアリング装置である。
【発明の効果】
【００１９】
上記第１の発明によれば、モータの回路方程式に従いオープンループ制御を行う場合に、モータの回路方程式に含まれるパラメータが製造ばらつきや温度変化などによって変動するときでも、高い精度でモータを駆動するとともに、温度測定手段により測定される装置の動作終了までの所定時点から装置起動時までの温度変化に基づき温度補償を行う簡易な構成で、装置起動時点から直ちに高い精度でモータを制御することができる。
【００２０】
上記第２の発明によれば、電機子巻線の温度を第１の温度測定手段により測定し、配線等の温度を第２の温度測定手段により測定することにより、例えば電機子巻線の温度と配線等の温度とが大きく異なる場合であっても、電機子巻線抵抗を含む回路抵抗の温度補償をより正確に行うことができ、装置起動時点からより高い精度でモータを制御することができる。
【００２１】
上記第３の発明によれば、上記第１の発明と同様、モータの回路方程式に従いオープンループ制御を行う場合に、モータの回路方程式に含まれるパラメータが製造ばらつきや温度変化などによって変動するときでも、高い精度でモータを駆動するとともに、装置の動作終了までの間の所定時点において求められるパラメータに対して、装置起動時点からの温度変化を補償した初期パラメータを算出し記憶する簡易な構成で、装置起動時点から直ちに高い精度でモータを制御することができる。
【００２２】
上記第４の発明によれば、モータに流される電流によって生じる発熱エネルギーに応じて生じるべき温度変化量を算出することにより、温度補償のための温度センサを省略することができる。
【００２３】
上記第５の発明によれば、装置起動時点では装置全体の温度が常温に復帰することから常温時のパラメータを温度補償されたパラメータとして記憶する構成により、例えば装置の動作終了時点など装置の動作終了までの所定時点で繰り返しパラメータを記憶する必要がない簡易な構成で、装置の起動時点から直ちに高い精度でモータを制御することができる。なお、ここでいう常温とは、例えば日本工業規格で規定された温度範囲（２０℃±１５℃）であってもよいし、その中で、さらに狭い温度範囲であってもよい。
【００２４】
上記第６の発明によれば、第１または第３の発明において、指令電圧のレベルを求めるときに使用する電機子巻線鎖交磁束数や電機子巻線抵抗を含む回路抵抗が製造ばらつきや温度変化などによって変動するときでも、高い精度でモータを駆動し、所望のモータ出力を得ることができる。
【００２５】
上記第７の発明によれば、指令電圧のレベルを求めるときに使用するパラメータが製造ばらつきや温度変化などによって変動するときでも、装置起動時点から直ちに高い精度でモータを駆動し、所望のモータ出力を得ることができるので、スムーズな操舵補助が可能となる。
【図面の簡単な説明】
【００２６】
【図１】本発明の各実施形態に係る電動パワーステアリング装置の構成を、それに関連する車両の構成と共に示す概略図である。
【図２】本発明の第１の実施形態に係るモータ制御装置の構成を示すブロック図である。
【図３】３相ブラシレスモータにおける３相交流座標とｄｑ座標を示す図である。
【図４】上記実施形態における初期Φ算出部の処理手順を示すフローチャートである。
【図５】本発明の第２の実施形態に係るモータ制御装置の構成を示すブロック図である。
【図６】本発明の第３の実施形態に係るモータ制御装置の構成を示すブロック図である。
【図７】上記実施形態における初期Ｒ算出部の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００２７】
＜１．  第１の実施形態＞
図１は、本発明の第１の実施形態（およびその他の各実施形態）に係る電動パワーステアリング装置の構成を、それに関連する車両の構成と共に示す概略図である。図１に示す電動パワーステアリング装置は、ブラシレスモータ１、減速機２、トルクセンサ３、車速センサ４、位置検出センサ５、および、電子制御ユニット（Electronic Control Unit ：以下、ＥＣＵという）１０を備えたコラムアシスト型の電動パワーステアリング装置である。
【００２８】
図１に示すように、ステアリングシャフト１０２の一端にはハンドル（ステアリングホイール）１０１が固着されており、ステアリングシャフト１０２の他端はラックピニオン機構１０３を介してラック軸１０４に連結されている。ラック軸１０４の両端は、タイロッドおよびナックルアームからなる連結部材１０５を介して車輪１０６に連結されている。運転者がハンドル１０１を回転させると、ステアリングシャフト１０２は回転し、これに伴いラック軸１０４は往復運動を行う。ラック軸１０４の往復運動に伴い、車輪１０６の向きが変わる。
【００２９】
電動パワーステアリング装置は、運転者の負荷を軽減するために、以下に示す操舵補助を行う。トルクセンサ３は、ハンドル１０１の操作によってステアリングシャフト１０２に加えられる操舵トルクＴを検出する。車速センサ４は、車速Ｓを検出する。位置検出センサ５は、ブラシレスモータ１のロータの回転位置Ｐを検出する。位置検出センサ５は、例えばレゾルバで構成される。
【００３０】
ＥＣＵ１０は、車載バッテリ１００から電力の供給を受け、操舵トルクＴ、車速Ｓおよび回転位置Ｐに基づきブラシレスモータ１を駆動する。ブラシレスモータ１は、ＥＣＵ１０によって駆動されると、操舵補助力を発生させる。減速機２は、ブラシレスモータ１とステアリングシャフト１０２との間に設けられる。ブラシレスモータ１で発生した操舵補助力は、減速機２を介して、ステアリングシャフト１０２を回転させるように作用する。
【００３１】
この結果、ステアリングシャフト１０２は、ハンドル１０１に加えられる操舵トルクと、ブラシレスモータ１で発生した操舵補助力の両方によって回転する。このように電動パワーステアリング装置は、ブラシレスモータ１で発生した操舵補助力を車両のステアリング機構に与えることにより操舵補助を行う。
【００３２】
このような本発明の第１の実施形態に係る電動パワーステアリング装置は、後述する第２または第３の各実施形態に係る電動パワーステアリング装置と同一の構成であるが、これらの実施形態では、それぞれブラシレスモータ１を駆動する制御装置（モータ制御装置）に特徴がある。そこで以下では、各実施形態に係る電動パワーステアリング装置に含まれるモータ制御装置について説明する。
【００３３】
図２は、本発明の第１の実施形態に係るモータ制御装置の構成を示すブロック図である。図２に示すモータ制御装置は、ＥＣＵ１０を用いて構成されており、ｕ相、ｖ相およびｗ相の３相巻線（図示せず）を有するブラシレスモータ１を駆動する。ＥＣＵ１０は、位相補償器１１、マイクロコンピュータ（以下、マイコンと略称する）２０、３相／ＰＷＭ（Pulse Width Modulation）変調器１２、モータ駆動回路１３、および、電流センサ１４を備えている。
【００３４】
ＥＣＵ１０には、トルクセンサ３から出力された操舵トルクＴ、車速センサ４から出力された車速Ｓ、位置検出センサ５から出力された回転位置Ｐ、および温度センサ６から出力されたモータ温度Ｔｐｍが入力される。なお、このモータ温度Ｔｐｍは、装置の動作終了時と起動時にのみ用いられる。位相補償器１１は、操舵トルクＴに対して位相補償を施す。マイコン２０は、ブラシレスモータ１の駆動に用いられる指令電圧のレベルを求める制御手段として機能する。マイコン２０の機能の詳細については、後述する。
【００３５】
３相／ＰＷＭ変調器１２とモータ駆動回路１３は、ハードウェア（回路）で構成されており、マイコン２０で求めたレベルの電圧を用いてブラシレスモータ１を駆動するモータ駆動手段として機能する。３相／ＰＷＭ変調器１２は、マイコン２０で求めた３相の電圧のレベルに応じたデューティー比を有する３種類のＰＷＭ信号（図２に示すＵ、Ｖ、Ｗ）を生成する。モータ駆動回路１３は、スイッチング素子として６個のＭＯＳ−ＦＥＴ（Metal Oxide Semiconductor Field Effect Transistor ）を含むＰＷＭ電圧形インバータ回路である。６個のＭＯＳ−ＦＥＴは、３種類のＰＷＭ信号とその否定信号によって制御される。ＰＷＭ信号を用いてＭＯＳ−ＦＥＴの導通状態を制御することにより、ブラシレスモータ１に対して３相の駆動電流（Ｕ相電流、Ｖ相電流およびＷ相電流）が供給される。このようにモータ駆動回路１３は、複数のスイッチング素子を有し、ブラシレスモータ１に電流を供給するスイッチング回路として機能する。
【００３６】
電流センサ１４は、ブラシレスモータ１に流れる電流を検出する電流検出手段として機能する。電流センサ１４は、例えば抵抗体やホール素子で構成され、モータ駆動回路１３と電源の間に１個だけ設けられる。図２に示す例では、電流センサ１４はモータ駆動回路１３と電源のマイナス側（接地）との間に設けられているが、電流センサ１４をモータ駆動回路１３と電源のプラス側との間に設けてもよい。
【００３７】
ブラシレスモータ１が回転している間、電流センサ１４で検出される電流値は、ＰＷＭ信号に応じて変化する。ＰＷＭ信号の１周期内では、電流センサ１４によって１相の駆動電流が検知されるときと、２相の駆動電流の和が検知されるときとがある。３相の駆動電流の和はゼロになるので、２相の駆動電流の和に基づき、残り１相の駆動電流を求めることができる。したがって、ブラシレスモータ１が回転している間、１個の電流センサ１４を用いて３相の駆動電流を検出することができる。電流センサ１４で検出された電流値ｉa は、マイコン２０に入力される。
【００３８】
マイコン２０は、ＥＣＵ１０に内蔵されたメモリ（図示せず）に格納されたプログラムを実行することにより、指令電流算出部２１、オープンループ制御部２２、ｄｑ軸／３相変換部２３、角度算出部２４、角速度算出部２５、Φ算出部２６、および初期Φ算出部２７として機能する。また、マイコン２０に内蔵される不揮発性メモリの一部は、Φ値記憶部２８として機能する。マイコン２０は、以下に示すように、ブラシレスモータ１に供給すべき電流の量を示す指令電流値とブラシレスモータ１のロータの角速度とに基づき、モータの回路方程式に従い、モータ駆動回路１３に与えるべき電圧（以下、指令電圧という）のレベルを求める。
【００３９】
角度算出部２４は、位置検出センサ５で検出した回転位置Ｐに基づき、ブラシレスモータ１のロータの回転角（以下、角度θという）を求める。角速度算出部２５は、角度θに基づき、ブラシレスモータ１のロータの角速度ωe を求める。なお、図３に示すようにブラシレスモータ１に対してｕ軸、ｖ軸およびｗ軸を設定し、ブラシレスモータ１のロータ６に対してｄ軸およびｑ軸を設定したとき、ｕ軸とｄ軸のなす角が角度θとなる。
【００４０】
指令電流算出部２１は、位相補償後の操舵トルクＴ（位相補償器１１の出力信号）と車速Ｓに基づき、ブラシレスモータ１に供給すべきｄ軸電流とｑ軸電流を求める（以下、前者をｄ軸指令電流ｉd*、後者をｑ軸指令電流ｉq*という）。より詳細には、指令電流算出部２１は、車速Ｓをパラメータとして、操舵トルクＴと指令電流との対応づけを記憶したテーブル（以下、アシストマップという）を内蔵しており、アシストマップを参照して指令電流を求める。アシストマップを用いることにより、ある大きさの操舵トルクが与えられたときに、その大きさに応じた適切な大きさの操舵補助力を発生させるためにブラシレスモータ１に供給すべきｄ軸指令電流ｉd*とｑ軸指令電流ｉq*を求めることができる。
【００４１】
なお、指令電流算出部２１で求めるｑ軸指令電流ｉq*は符号付きの電流値であり、その符号は操舵補助の方向を示す。例えば、符号がプラスのときには右方向へ曲がるための操舵補助が行われ、符号がマイナスのときには左方向へ曲がるための操舵補助が行われる。また、ｄ軸指令電流ｉd*は、典型的にはゼロに設定される。
【００４２】
オープンループ制御部２２は、ｄ軸指令電流ｉd* 、ｑ軸指令電流ｉq* および角速度ωe に基づき、ブラシレスモータ１に供給すべきｄ軸電圧とｑ軸電圧を求める（以下、前者をｄ軸指令電圧ｖd 、後者をｑ軸指令電圧ｖq という）。ｄ軸指令電圧ｖd とｑ軸指令電圧ｖq は、次式（１）と（２）に示すモータの回路方程式を用いて算出される。
ｖd＝（Ｒ＋ＰＬd）ｉd*−ωeＬqｉq*          …（１）
ｖq＝（Ｒ＋ＰＬq）ｉq*＋ωeＬdｉd*＋ωeΦ   …（２）
ただし、式（１）と（２）において、ｖd はｄ軸指令電圧、ｖq はｑ軸指令電圧、ｉd*はｄ軸指令電流、ｉq*はｑ軸指令電流、ωe はロータの角速度、Ｒは電機子巻線抵抗を含む回路抵抗、Ｌd はｄ軸の自己インダクタンス、Ｌq はｑ軸の自己インダクタンス、ΦはＵ、Ｖ、Ｗ相電機子巻線鎖交磁束数の最大値の√（３／２）倍、Ｐは微分演算子である。このうちＲ、Ｌd 、Ｌq およびΦは、既知のパラメータとして扱われる。なお、上記回路抵抗Ｒには、ブラシレスモータ１とＥＣＵ１０との間の配線抵抗やＥＣＵ１０内でのモータ駆動回路１３の抵抗および配線抵抗などが含まれ、以下の実施形態でも同様である。
【００４３】
ｄｑ軸／３相変換部２３は、オープンループ制御部２２で求めたｄ軸指令電圧ｖd とｑ軸指令電圧ｖq を３相交流座標軸上の指令電圧に変換する。より詳細には、ｄｑ軸／３相変換部２３は、ｄ軸指令電圧ｖd とｑ軸指令電圧ｖq に基づき、次式（３）〜（５）を用いてｕ相指令電圧Ｖu 、ｖ相指令電圧Ｖv およびｗ相指令電圧Ｖw を求める。
Ｖu＝√（２／３）×｛ｖd×ｃｏｓθ−ｖq×ｓｉｎθ｝   …（３）
Ｖv＝√（２／３）×｛ｖd×ｃｏｓ（θ−２π／３）
−ｖq×ｓｉｎ（θ−２π／３）｝    …（４）
Ｖw＝−Ｖu−Ｖv                                       …（５）
なお、式（３）と（４）に含まれる角度θは、角度算出部２４で求めたものである。
【００４４】
このようにマイコン２０は、ｄｑ座標軸上の指令電流ｉd* 、ｉq* を求める処理と、モータの回路方程式に従いｄｑ座標軸上の指令電圧ｖd 、ｖq を求める処理と、指令電圧ｖd 、ｖq を３相の指令電圧Ｖu 、Ｖv 、Ｖw に変換する処理とを行う。３相／ＰＷＭ変調器１２は、マイコン２０で求めた３相の指令電圧Ｖu 、Ｖv 、Ｖw に基づき、３種類のＰＷＭ信号を出力する。これにより、ブラシレスモータ１の３相巻線には、各相の指令電圧に応じた正弦波状の電流が流れ、ブラシレスモータ１のロータは回転する。これに伴い、ブラシレスモータ１の回転軸には、ブラシレスモータ１を流れる電流に応じたトルクが発生する。発生したトルクは、操舵補助に用いられる。
【００４５】
Φ算出部２６には、電流センサ１４で検出された電流値ｉa と、角度算出部２４で算出された角度θと、角速度算出部２５で算出された角速度ωe とが入力される。Φ算出部２６は、まず電流値ｉa に基づきブラシレスモータ１に流れるｕ相とｖ相の電流を求め（以下、前者をｕ相検出電流ｉu 、後者をｖ相検出電流ｉv という）、これらをｄｑ座標軸上の電流値に変換する。より詳細には、Φ算出部２６は、ｕ相検出電流ｉu とｖ相検出電流ｉv に基づき、次式（６）と（７）を用いてｄ軸検出電流ｉd とｑ軸検出電流ｉq を求める。
ｉd＝√２×｛ｉv×ｓｉｎθ−ｉu×ｓｉｎ（θ−２π／３）｝   …（６）
ｉq＝√２×｛ｉv×ｃｏｓθ−ｉu×ｃｏｓ（θ−２π／３）｝   …（７）
なお、式（６）と（７）に含まれる角度θは、角度算出部２４で求めたものである。
【００４６】
次に、Φ算出部２６は、ωe ≠０のときに、ｑ軸指令電圧ｖq 、ｄ軸検出電流ｉd 、ｑ軸検出電流ｉq および角速度ωe に基づき、次式（８ａ）を用いて式（２）に含まれる電機子巻線鎖交磁束数Φを求める。
Φ＝｛ｖq−（Ｒ＋ＰＬq）ｉq−ωeＬdｉd｝／ωe  …（８ａ）
なお、式（８ａ）は、式（２）のｄ軸指令電流ｉd*とｑ軸指令電流ｉq*にｄ軸検出電流ｉd とｑ軸検出電流ｉq を代入し、その式をΦについて解いたものである。
【００４７】
Φ算出部２６は、求めたΦ値をオープンループ制御部２２に対して出力する。オープンループ制御部２２は、式（２）を用いてｑ軸指令電圧ｖq を求めるときに、Φ算出部２６で算出されたΦ値を使用する。ただし、装置の起動時点からΦ算出部２６でΦ値が算出されるまでの間は、初期Φ算出部２７から与えられるΦ値を使用する。この初期Φ算出部２７の動作については詳しく後述する。このようにマイコン２０は、モータの回路方程式に含まれる電機子巻線鎖交磁束数Φを求め、ｑ軸指令電圧ｖq を求めるときにはそのΦ値を使用する。
【００４８】
Φ算出部２６は、演算を簡素化するために、式（８ａ）に代えて次式（８ｂ）や（８ｃ）を使用してもよい。
Φ＝（ｖq−Ｒｉq−ωeＬdｉd）／ωe  …（８ｂ）
Φ＝（ｖq−Ｒｉq）／ωe             …（８ｃ）
式（８ｂ）は式（８ａ）から微分項を省略したものであり、式（８ｃ）は式（８ｂ）からｉd を含む項を省略したものである。
【００４９】
Φ算出部２６は、ωe ≠０である限り、任意のタイミングでΦ値を求めてもよい。Φ算出部２６は、例えば、所定の時間間隔でΦ値を求めてもよく、ブラシレスモータ１の駆動開始後に１回だけΦ値を求めてもよく、温度などの状態が変化したときにΦ値を求めてもよい。また、ωe がゼロに近いときに求めたΦ値には誤差が発生しやすいので、Φ算出部２６は、ωe が所定の閾値以上であるときに限りΦ値を求めることとしてもよい。
【００５０】
以上に示すように、本実施形態に係るモータ制御装置は、指令電流値とロータの角速度とに基づき、モータの回路方程式に従いオープンループ制御により指令電圧を求めると共に、電流センサで検出した電流値に基づきモータの回路方程式に含まれるΦを求め、指令電圧を求めるときには装置起動時を除いてそのΦ値を使用する。
【００５１】
したがって、本実施形態に係るモータ制御装置によれば、モータの回路方程式に含まれるΦ値が製造ばらつきや温度変化によって変動するときでも、電流センサで検出した電流値に基づきΦ値を求めることにより、高い精度でブラシレスモータを駆動し、所望のモータ出力を得ることができる。
【００５２】
また、本実施形態に係るモータ制御装置には、電流センサは１個だけ設けられている。したがって、本実施形態に係るモータ制御装置によれば、電流センサを削減することにより、モータ制御装置の小型化、低コスト化および低消費電力化が可能となる。
【００５３】
ここで前述したように、Φ算出部２６は、ωe ＝０である場合など、常にΦ値を算出することができるわけではなく、装置起動直後にはΦ値を算出できない。この場合、（一律の）設計上のΦ値を不揮発性メモリに記憶しておき、装置起動直後からΦ算出部２６によるΦ値の算出が開始されるまでの間、この記憶されたΦ値を初期値として使用する構成も考えられるが、このようなΦ値は、装置毎の製造ばらつきが考慮されていないため、モータの制御誤差が生じる可能性がある。そこで、典型的には装置の動作が終了する時点でのΦ値を不揮発性メモリに記憶しておき、装置起動直後からΦ算出部２６によるΦ値の算出が開始されるまでの間は、この記憶されたΦ値を初期値として使用する構成がより好ましい。このΦ値は、装置毎の製造ばらつきが考慮されているからである。
【００５４】
しかし、このΦ値は温度変化によっても変動するので、Φ値が記憶される装置の動作が終了する時点の温度と、装置起動直後の温度とに差がある場合、装置毎の製造ばらつきは考慮されるとしても、温度変化によるΦ値のずれによりモータの制御誤差が生じる可能性がある。
【００５５】
そこで、初期Φ算出部２７は、Φ値記憶部２８にΦ値を記憶する時点におけるモータ温度ＴｐｍをΦ値と併せて記憶させ、装置起動直後のモータ温度Ｔｐｍとの差を考慮して、Φ値記憶部２８に記憶されたΦ値を補正し、（初期Φ値として）オープンループ制御部２２に与える。そうすれば、装置毎の製造ばらつきはもちろん、温度変化による影響も考慮することができるため、高い精度でモータを制御することができる。以下、このような初期Φ算出部２７の動作について、図４を参照して説明する。
【００５６】
図４は、初期Φ算出部２７の処理手順を示すフローチャートである。本電動パワーステアリング装置が起動されると、初期Φ算出部２７は以下の一連の処理を開始する。ここで、ステップＳ１０〜Ｓ１８の処理は、Φ値記憶部２８に記憶されたΦ値を補正するための処理であり、Φ値記憶部２８に記憶されるΦ値はステップＳ２０〜Ｓ２６の処理によりΦ値記憶部２８に書き込まれる。したがって、まずステップＳ２０〜Ｓ２６の処理について先に説明する。
【００５７】
まず、ステップＳ２０において装置の動作が終了直前（例えばイグニッションキーがオフされる等）と判定されると（ステップＳ２０：Ｙｅｓ）、初期Φ算出部２７は、その動作終了直前の時点でのモータ温度Ｔｐｍを温度センサ６から取得する（ステップＳ２２）。次に初期Φ算出部２７は、その同一の時点でのΦ値をオープンループ制御部２２から取得する（ステップＳ２４）。なお、このΦ値はΦ算出部２６から取得してもよい。
【００５８】
続いて、初期Φ算出部２７は、ステップＳ２２において取得されたモータ温度Ｔｐｍと、ステップＳ２４において取得されたΦ値とを併せてΦ値記憶部２８に書き込む（ステップＳ２６）。その後、装置の動作は終了し、次に動作が開始されるとステップＳ１０における処理から初期Φ算出部２７の動作が開始される。なお、Φ値記憶部２８はＥＥＰＲＯＭなどの不揮発性メモリを含むので、装置の動作が停止している時もモータ温度ＴｐｍおよびΦ値の記憶を維持している。
【００５９】
以上のように装置の動作が終了した後、新たに装置が起動されると初期Φ算出部２７は、ステップＳ２６において書き込まれた（前回の動作終了時点の）Φ値とモータ温度ＴｐｍとをΦ値記憶部２８から読み出す（ステップＳ１０）。また、初期Φ算出部２７は、装置起動時点でのモータ温度Ｔｐｍを温度センサ６から取得する（ステップＳ１２）。
【００６０】
次に、初期Φ算出部２７は、ステップＳ１０において読み出された（前回の動作終了時点の）モータ温度Ｔｐｍと、ステップＳ１２において取得された（今回の装置起動時点の）モータ温度Ｔｐｍとの差（すなわち温度変化）を算出する（ステップＳ１４）。
【００６１】
続いて、初期Φ算出部２７は、ステップＳ１４において取得されたモータ温度Ｔｐｍの差に応じて、ステップＳ１０において読み出された（前回の動作終了時点の）Φ値から変化した装置起動時点での新たなΦ値を初期値として算出する（ステップＳ１６）。
【００６２】
具体的には、初期Φ算出部２７は、モータ温度ＴｐｍとΦ値との関係が線形であることを利用し、モータ温度Ｔｐｍが単位量（例えば摂氏０．１度）だけ変化する毎に変化するΦ値の量を予め記憶しておく。初期Φ算出部２７は、この量に基づき、前回の動作終了時点から今回の装置起動時点までのモータ温度Ｔｐｍの変化に応じて、前回の動作終了時点のΦ値が装置起動時点においてどれだけ変化するかを計算することにより、装置起動時点でのΦ値を算出する。
【００６３】
また、Φ値をより正確に補正するため、モータ温度Ｔｐｍと理想的な（設計上の初期値としての）Φ値との関係をテーブル（マップ）や算出式、近似式などで予め記憶しておき、前回の動作終了時点におけるΦ値と前回の動作終了時点のモータ温度Ｔｐｍにおける理想的なΦ値との差に基づき、上記テーブルなどを参照して得られる今回の装置起動時点のモータ温度Ｔｐｍに対応する理想的なΦ値から、今回の装置起動時点のΦ値を算出してもよい。
【００６４】
次に、初期Φ算出部２７は、ステップＳ１６において算出されたΦ値を装置起動時点のΦ値としてオープンループ制御部２２に設定する（ステップＳ１８）。すなわち、オープンループ制御部２２は、装置起動時点においては、Φ算出部２６からのΦ値を使用することなく、初期Φ算出部２７により算出される初期値としてのΦ値を使用する。
【００６５】
もちろん、装置起動時点でブラシレスモータ１が回転していない、すなわち角速度ωe ＝０である場合には、前述したようにΦ算出部２６はΦ値を求めることができないが、Φ値記憶部２８に記憶されるΦ値をそのままオープンループ制御部２２に設定するのでは温度変化によるΦ値の変化が補償されない。
【００６６】
そこで、本実施形態のように、初期Φ算出部２７によってモータ温度Ｔｐｍの変化に応じた補正が行われたΦ値をオープンループ制御部２２に設定すれば、装置毎の製造ばらつきはもちろん、温度変化による影響も考慮することができるため、高い精度でモータを制御することができる。
【００６７】
したがって、本実施形態に係るモータ制御装置によれば、モータの回路方程式に含まれるΦ値が製造ばらつきや温度変化によって変動するときでも、電流センサで検出した電流値に基づきΦ値を求めることにより、高い精度でブラシレスモータを駆動し、所望のモータ出力を得ることができるとともに、動作終了時に記憶される上記Φ値を装置起動時点において温度変化に応じて補正することにより、装置起動時点から直ちに高い精度でモータを制御することができる。
【００６８】
＜２．  第２の実施形態＞
図５は、本発明の第２の実施形態に係るモータ制御装置の構成を示すブロック図である。図５に示すモータ制御装置は、第１の実施形態に係るモータ制御装置において、マイコン２０に含まれるΦ算出部２６、初期Φ算出部２７、およびΦ値記憶部２８を、Ｒ算出部３６、初期Ｒ算出部３７、およびＲ値記憶部３８に置換し、さらにＥＣＵ１０を格納するケースに取り付けられた周囲温度Ｔｐａを測定する温度センサ７を新たに設けたものである。以下、この実施形態の各構成要素のうち、先に述べた実施形態と同一の要素については、同一の参照符号を付して説明を省略する。
【００６９】
Ｒ算出部３６には、Φ算出部２６と同様に、電流センサ１４で検出された電流値ｉa と、角度算出部２４で算出された角度θと、角速度算出部２５で算出された角速度ωe とが入力される。Ｒ算出部３６は、まず電流値ｉa に基づきｕ相検出電流ｉu とｖ相検出電流ｉv を求め、これらを式（６）と（７）を用いてｄｑ座標軸上の電流値に変換する。
【００７０】
次に、Ｒ算出部３６は、ｉq ≠０のときに、ｑ軸指令電圧ｖq 、ｄ軸検出電流ｉd 、ｑ軸検出電流ｉq および角速度ωe に基づき、次式（９ａ）を用いて式（１）と（２）に含まれる電機子巻線抵抗を含む回路抵抗Ｒを求める。
Ｒ＝（ｖq−ＰＬqｉq−ωeＬdｉd−ωeΦ）／ｉq   …（９ａ）
なお、式（９ａ）は、式（２）のｄ軸指令電流ｉd*とｑ軸指令電流ｉq*にｄ軸検出電流ｉd とｑ軸検出電流ｉq を代入し、その式をＲについて解いたものである。
【００７１】
Ｒ算出部３６は、求めたＲ値をオープンループ制御部２２に対して出力する。オープンループ制御部２２は、式（１）と（２）を用いてｄ軸指令電圧ｖd とｑ軸指令電圧ｖq を求めるときに、Ｒ算出部３６で算出されたＲ値を使用する。このようにマイコン２０は、モータの回路方程式に含まれる電機子巻線抵抗を含む回路抵抗Ｒを求め、ｄ軸指令電圧ｖd とｑ軸指令電圧ｖq を求めるときにはそのＲ値を使用する。
【００７２】
Ｒ算出部３６は、演算を簡素化するために、式（９ａ）に代えて次式（９ｂ）や（９ｃ）を使用してもよい。
Ｒ＝（ｖq−ωeＬdｉd−ωeΦ）／ｉq  …（９ｂ）
Ｒ＝（ｖq−ωeΦ）／ｉq             …（９ｃ）
式（９ｂ）は式（９ａ）から微分項を省略したものであり、式（９ｃ）は式（９ｂ）からｉd を含む項を省略したものである。
【００７３】
Ｒ算出部３６は、ｉq ≠０である限り、任意のタイミングでＲ値を求めてもよい。Ｒ算出部３６は、例えば、所定の時間間隔でＲ値を求めてもよく、ブラシレスモータ１の駆動開始後に１回だけＲ値を求めてもよく、温度などの状態が変化したときにＲ値を求めてもよい。また、ｉq がゼロに近いときに求めたＲ値には誤差が発生しやすいので、Ｒ算出部３６は、ｉq が所定の閾値以上であるときに限りＲ値を求めることとしてもよい。
【００７４】
以上に示すように、本実施形態に係るモータ制御装置は、指令電流値とロータの角速度とに基づき、モータの回路方程式に従いオープンループ制御により指令電圧を求めると共に、電流センサで検出した電流値に基づきモータの回路方程式に含まれるＲを求め、指令電圧を求めるときにはそのＲ値を使用する。
【００７５】
ここで前述したように、Ｒ算出部３６は、ｉq がゼロのときなど、常にＲ値を算出することができるわけではなく、装置起動直後にはＲ値を算出できない。そして、このＲ値もΦ値と同様に温度変化によっても変動する。
【００７６】
そこで、初期Ｒ算出部３７は、初期Φ算出部２７とほぼ同様に、Ｒ値記憶部３８にＲ値を記憶する時点におけるモータ温度Ｔｐｍと、同時点における周囲温度ＴｐａとをＲ値と併せて記憶し、装置起動直後の温度との差を考慮して、Ｒ値記憶部３８に記憶されたＲ値を補正し、（初期Ｒ値として）オープンループ制御部２２に与える。そうすれば、装置毎の製造ばらつきはもちろん、温度変化による影響も考慮することができるため、高い精度でモータを制御することができる。
【００７７】
このようなＲ値を補正する初期Ｒ算出部３７の動作について、Φ値を補正する図４に示した初期Φ算出部２７の動作とほぼ同様であるが、図４におけるステップＳ１２，Ｓ２２において、モータ温度Ｔｐｍのほか、さらに周囲温度Ｔｐａを温度センサ７から取得し、ステップＳ１０，Ｓ２６において、モータ温度Ｔｐｍと周囲温度Ｔｐａを併せてＲ値記憶部３８から読み出しまたはＲ値記憶部３８に書き込む点と、ステップＳ１４において、周囲温度Ｔｐａの差も併せて算出し、ステップＳ１６において、モータ温度Ｔｐｍの差のほか、周囲温度Ｔｐａの差も併せて考慮することにより回路抵抗Ｒを算出する点とが異なる。以下、これらの相違点のうち、ステップＳ１６における初期Φ算出部２７の動作に相当する初期Ｒ算出部３７の動作について詳しく説明する。
【００７８】
このステップＳ１６において、初期Ｒ算出部３７は、ステップＳ１４において取得された（装置終了時点と装置起動時とにおける）モータ温度Ｔｐｍの差、および周囲温度Ｔｐａの差に応じて、ステップＳ１０において読み出された（前回の動作終了時点の）Ｒ値から変化した装置起動時点での新たなＲ値を初期値として算出する。
【００７９】
具体的には、回路抵抗Ｒは、ブラシレスモータ１の電機子巻線抵抗Ｒ１と、ＥＣＵ１０内でのモータ駆動回路１３の抵抗やＥＣＵ１０からブラシレスモータ１までの間の配線抵抗などを含む配線等抵抗Ｒ２との和であることに着目し、モータ温度Ｔｐｍと電機子巻線抵抗Ｒ１との関係、および周囲温度Ｔｐａと配線等抵抗Ｒ２との関係がそれぞれ線形であることを利用する。
【００８０】
例えば、初期Ｒ算出部３７は、モータ温度Ｔｐｍと理想的な（設計上の初期値としての）Ｒ１値との関係、および周囲温度Ｔｐａと理想的な（設計上の初期値としての）Ｒ２値との関係をそれぞれテーブル（マップ）や算出式、近似式などで予め記憶しておく。
【００８１】
ここで、Ｒ算出部３６により算出され前回の動作終了時点においてＲ値記憶部３８に書き込まれたＲ値は、装置毎の製造ばらつきを反映しているので、理想的な値とは異なるが、Ｒ１値とＲ２値との割合はほとんど変わらないものとして、初期Ｒ算出部３７は、前回の動作終了時点におけるＲ値から、上記割合に基づき（推定される）動作終了時点におけるＲ１値およびＲ２値を算出する。
【００８２】
そして、初期Ｒ算出部３７は、前回の動作終了時点における（推定される）Ｒ１値と前回の動作終了時点のモータ温度Ｔｐｍにおける理想的なＲ１値とのずれ（典型的にはずれ率）に基づき、上記テーブルなどを参照して得られる今回の装置起動時点のモータ温度Ｔｐｍに対応する理想的なＲ１値から、今回の装置起動時点のＲ１値を算出する。また同様に、初期Ｒ算出部３７は、前回の動作終了時点における（推定される）Ｒ２値と前回の動作終了時点の周囲温度Ｔｐａにおける理想的なＲ２値とのずれ（ずれ率）に基づき、上記テーブルなどを参照して得られる今回の装置起動時点の周囲温度Ｔｐａに対応する理想的なＲ２値から、今回の装置起動時点のＲ２値を算出する。このように算出された電機子巻線抵抗Ｒ１と配線等抵抗Ｒ２との和から初期値としてのＲ値を求めることができる。
【００８３】
したがって、本実施形態に係るモータ制御装置によれば、第１の実施形態に係るモータ制御装置の場合と同様に、モータの回路方程式に含まれるＲ値が製造ばらつきや温度変化によって変動するときでも、電流センサで検出した電流値に基づきＲ値を求めることにより、高い精度でブラシレスモータを駆動し、所望のモータ出力を得ることができるとともに、動作終了時に記憶される上記Ｒ値を装置起動時点において温度センサ６、７によりそれぞれ測定される温度変化に応じて電機子巻線抵抗Ｒ１と配線等抵抗Ｒ２との２つに分けて補正することにより、特に電機子巻線抵抗に対応する部分の温度と配線等抵抗に対応する部分の温度とが大きく異なる場合には、より正確に温度補償ができるのでより高い精度でモータを制御することができる。
【００８４】
＜３．  第３の実施形態＞
図６は、本発明の第３の実施形態に係るモータ制御装置の構成を示すブロック図である。図６に示すモータ制御装置は、図５に示す第２の実施形態に係るモータ制御装置において、マイコン２０に含まれる初期Ｒ算出部３７およびＲ値記憶部３８を、初期Ｒ算出部４７、および初期Ｒ記憶部４８に置換するとともに、新たに温度変化算出部４９を設け、さらに温度センサ６，７を省略したものである。以下、この実施形態の各構成要素のうち、先に述べた実施形態と同一の要素については、同一の参照符号を付して説明を省略する。
【００８５】
温度変化算出部４９は、電流センサ１４で検出された電流値ｉa と、オープンループ制御部２２から受け取った（Ｒ算出部３６により算出された）Ｒ値とに基づき、装置起動当初から現時点（ここでは装置終了時点）までの温度変化量ΔＴを算出する。この温度変化量ΔＴのうちの単位時間あたりの温度変化量ΔＴ’は、端的には、電源からモータ駆動回路１３両端までの、シャント抵抗やリレー、電解コンデンサなどの電子部品を含む電流経路における配線から生じた発熱エネルギーをＡとし、これらの配線から自然対流や輻射、物質間熱伝導などにより失われた放熱エネルギーをＢとし、温度上昇係数をＫｔとするとき、次式（１０）のように表すことができる。
ΔＴ’＝（Ａ−Ｂ）×Ｋｔ    …（１０）
【００８６】
また、発熱エネルギーＡは、時間をｔとしたとき、次式（１１）のように表すことができる。
Ａ＝ｉa 2×Ｒ×ｔ    …（１１）
【００８７】
なお、放熱エネルギーＢは、自然対流放熱や輻射による放熱、物質間熱伝導による放熱などにより決まり、周知の算出式や実験により求めることができる。
【００８８】
温度変化算出部４９は、以上のような温度変化量ΔＴ’の算出を任意の単位時間毎に行う。
【００８９】
初期Ｒ算出部４７は、温度センサを使用することなく、温度変化算出部４９により算出された上記配線等の温度変化量ΔＴに基づき、温度上昇前の（装置起動時点の）Ｒ値を算出し、このＲ値を初期Ｒ記憶部４８に記憶させ、このＲ値を装置起動直後にオープンループ制御部２２に与える。そうすれば、装置毎の製造ばらつきはもちろん、温度変化による影響も考慮することができるため、高い精度でモータを制御することができる。以下、このような初期Ｒ算出部４７の動作について、図７を参照して説明する。
【００９０】
図７は、初期Ｒ算出部４７の処理手順を示すフローチャートである。本電動パワーステアリング装置が起動されると、初期Ｒ算出部４７は以下の一連の処理を開始する。
【００９１】
まず、初期Ｒ算出部４７は、初期Ｒ記憶部４８に記憶されたＲ値を読み出す（ステップＳ３０）。次に、初期Ｒ算出部４７は、読み出されたＲ値をオープンループ制御部２２に設定する（ステップＳ３２）。なお、このＲ値は、後述するステップにおいて補正された（温度変化を補償された）値となっている。
【００９２】
続いて、ステップＳ３４において装置の動作が終了直前ではないと判定されると（ステップＳ３４：Ｎｏ）、直前と判定されるまで待機状態が繰り返される。なお前述したように、この間も、温度変化算出部４９は装置起動当初からの温度変化量ΔＴを算出し続ける。そうしてステップＳ３４において装置の動作が終了直前と判定されると（ステップＳ３４：Ｙｅｓ）、初期Ｒ算出部４７は、その時点での温度変化量ΔＴを温度変化算出部４９から取得する（ステップＳ３６）。
【００９３】
次に、初期Ｒ算出部４７は、装置の動作が終了直前である現時点でのＲ値をオープンループ制御部２２から取得する（ステップＳ３８）。なお、このＲ値はＲ算出部３６から取得してもよい。
【００９４】
続いて、初期Ｒ算出部４７は、ステップＳ３６において取得された温度変化量ΔＴに応じて、ステップＳ３８において取得した（装置の動作終了直前である）現時点のＲ値を補正することにより、今回の装置起動時のＲ値（の推定値）を初期値として算出する（ステップＳ４０）。
【００９５】
具体的には、配線等の温度変化量ΔＴとＲ値との関係が線形であることを利用し、初期Ｒ算出部４７は、配線等の温度が単位量（例えば摂氏０．１度）だけ変化する毎に変化するＲ値の量を予め記憶しておき、この量に基づき、今回の装置起動時点から動作終了時点までの温度変化に応じて今回の動作終了時点のＲ値に変化したと推定される、装置起動時点でのＲ値を算出する。
【００９６】
次に、初期Ｒ算出部４７は、ステップＳ４０において算出された初期値としてのＲ値を初期Ｒ記憶部４８に書き込む（ステップＳ４２）。その後、装置の動作は終了し、次に動作が開始されるとステップＳ１０における処理から初期Ｒ算出部２７の動作が開始される。なお、初期Ｒ記憶部４８はＥＥＰＲＯＭなどの不揮発性メモリを含むので、前述したＲ値記憶部３８と同様、装置の動作が停止している時もＲ値の記憶を維持している。
【００９７】
以上のように、本実施形態に係るモータ制御装置によれば、モータの回路方程式に含まれるＲ値が製造ばらつきや温度変化によって変動するときでも、温度変化算出部４９により算出した温度変化に基づき、装置起動時点のＲ値を求めることにより、高い精度でブラシレスモータを駆動し、所望のモータ出力を得ることができるとともに、温度変化算出部４９によって温度センサを使用することなく温度変化が算出され、初期Ｒ算出部４７によってＲ値が温度補償され記憶されているので、温度補償のための温度センサを省略することができ、かつ上記Ｒ値を使用する場合に装置起動時点から直ちに高い精度でモータを制御することができる。
【００９８】
＜４．  各実施形態の変形例＞
＜４．１  主たる変形例＞
上記各実施形態では、装置の動作終了時点でφ値またはＲ値を記憶し、装置の起動時点で、記憶された値を（補正しまたはそのまま）使用するが、装置の動作終了時点でφ値またはＲ値を記憶するのではなく、製造時などの所定の時点で予め記憶されたφ値またはＲ値を装置の起動時点で使用してもよい。
【００９９】
すなわち、装置の起動時点で使用されるべきφ値またはＲ値は、典型的には装置の製造時点において、（温度管理された環境下で）装置の温度を常温（なおここでいう常温とは、例えば日本工業規格で規定された温度範囲（２０℃±１５℃）であってもよいし、その中で、さらに狭い温度範囲であってもよい）に設定しておき、その状態で装置を動作させることによりφ値またはＲ値を算出し、算出された値をＥＥＰＲＯＭなどの不揮発性メモリに記憶する。そして、装置の動作が停止すれば時間の経過とともに放熱が進む結果、自己発熱による温度上昇前の通常の温度、すなわち常温に装置全体の温度が復帰することになる。したがって、装置の起動時点でこの不揮発性メモリに記憶された（常温時の）φ値またはＲ値を使用すれば、製造ばらつきによる値の変動が補償され、また装置の動作終了時点で繰り返しφ値またはＲ値を記憶する必要がない簡易な構成で、装置の起動時点から直ちに高い精度でモータを制御することができる。
【０１００】
なお、この主たる変形例の構成は、上記各実施形態の構成と併用することも可能である。すなわち、上記各実施形態では、装置の動作終了時点でφ値またはＲ値を初めて記憶するため、製造時から装置が未動作であるため不揮発性メモリに未だ値が記憶されていない場合、上記主たる変形例の構成により得られるφ値またはＲ値を初期値として不揮発性メモリに記憶させてもよい。
【０１０１】
また、この主たる変形例の構成では、装置の温度が常温の時点で算出されるφ値またはＲ値を記憶すればよいので、記憶する時点は製造時に限定されず、例えば試運転時やメンテナンス時など、さらには装置の通常動作中において、装置に備えられる温度センサにより測定される温度に基づき、装置が常温となった時点において算出されるφ値またはＲ値を不揮発性メモリに記憶させてもよい。
【０１０２】
さらに、装置の温度センサを省略し（または使用せずに）、温度管理された環境下で装置の温度が常温に保たれている時点、例えば製造時におけるオペレータからの指示を受け付けた時点において、前述のように算出されるφ値またはＲ値を不揮発性メモリに記憶させてもよい。
【０１０３】
＜４．２  その他の変形例＞
上記第１の実施形態では、温度センサ６はブラシレスモータ１に取り付けられる構成であるが、電機子巻線の温度を推定できる位置、例えば電機子巻線の周囲温度を測定できるブラシレスモータ１の近傍や、第２の実施形態における温度センサ７のようにＥＣＵ１０を格納するケースなどに設けられていてもよい。これらの位置の温度は、電機子巻線の温度と一定の相関関係があるため、これらの位置の温度から電機子巻線の温度を推定することができる。なお、このような温度の推定には周知のシミュレーションや実験などの結果により得られる近似式や対応テーブルなどが使用される。
【０１０４】
上記第２の実施形態では、温度センサ７は、ＥＣＵ１０を格納するケースなどに取り付けられる構成であるが、配線等抵抗Ｒ２を有する配線等の温度を（その相関関係から）推定できる位置に取り付けられていればよく、例えばＥＣＵ１０内でのモータ駆動回路１３の基板に直接取り付けられていてもよいし、マイコン２０に内蔵されていてもよい。また、ＥＣＵ１０とは異なる車載ユニットであって温度センサを搭載するユニットから、測定された温度を車内ＬＡＮなどを介した通信により取得してもよい。
【０１０５】
上記第３の実施形態では、温度変化算出部４９は、電流センサ１４で検出された電流値ｉa に基づき温度変化量ΔＴを算出するが、上記電流値ｉa に代えて、その推定値や、ｄ軸指令電流ｉd* およびｑ軸指令電流ｉq* などの指令電流値に基づき温度変化量ΔＴを算出してもよい。
【０１０６】
上記第３の実施形態では、第２の実施形態におけるモータ制御装置の構成を一部変更することによりＲ値を算出するが、これと同様に第１の実施形態におけるモータ制御装置の構成を一部変更することによりΦ値を算出してもよい。なお、この構成では、電機子巻線の抵抗値に基づきその自己発熱により生じる温度変化量を算出し、この温度変化量に応じて（装置終了時点の）Φ値を補正し記憶する。
【０１０７】
上記第３の実施形態では、装置の動作終了直前の時点において装置起動時点でのＲ値を推定し記憶するが、装置の製造ばらつきを反映したＲ値を算出することができる適宜の時点において装置起動時点でのＲ値を推定し記憶してもよい。例えば、（電流値が大きく）精度よくＲ値を算出することができる時点において、装置起動時点からその時点までの温度変化量と、その時点におけるＲ値とに基づき、同様に装置起動時点でのＲ値を算出（推定）し記憶する構成でもよい。また同様にして装置起動時点でのφ値を算出し記憶してもよい。
【０１０８】
上記各実施形態では、Φ値やＲ値などのパラメータと、モータ温度Ｔｐｍや周囲温度Ｔｐａなどの値とを併せて装置の動作終了時に不揮発性メモリに記憶する構成であるが、これらが記憶される時点は、装置動作終了時に限定されるわけではなく、同一時点におけるパラメータと温度とを記憶可能であれば、装置動作中の適宜の時点でよい。したがって、例えば故障などにより装置が突然終了する場合に備えて、適宜の時間間隔を空けて装置の動作中に不揮発性メモリに記憶することを繰り返す構成でもよい。もっとも、上記値を不揮発性メモリに記憶する動作はある程度の処理時間が必要となるので、装置の動作終了時点に行うことが好ましい。
【０１０９】
上記各実施形態では、Φ算出部２６またはＲ算出部３６のいずれかが備えられるが、これらが同時に備えられてもよい。ここで上記第１の実施形態では、Φ算出部２６は、角速度ωe が所定の閾値以上であるときに限りΦ値を求めることとしてもよいとし、上記第２または第３の実施形態では、Ｒ算出部３６は、ｑ軸検出電流ｉq が所定の閾値以上であるときに限りＲ値を求めることとしてもよいとしたが、いずれの実施形態においてもΦ値とＲ値とを同時に求めることはできず、また異なる時点で求めた両値の関係から連立方程式を解くことにより求める方法も検出電流が大きく変化しない等の問題があることから実際的ではない。そこで、Φ算出部２６およびＲ算出部３６が同時に備えられる場合には、両値のうちの一方の値の変化による影響が小さい場合にはその一方の値の変化によって生じる算出値に対する影響を無視することができるので、その場合に他方の値を算出する動作を行う。そうすれば、両値とも正確に算出することが可能となる。
【０１１０】
また上記第２および第３の実施形態では、Ｒ算出部３６は、上式（２）のｄ軸指令電流ｉd*とｑ軸指令電流ｉq*にｄ軸検出電流ｉd とｑ軸検出電流ｉq を代入し、その式をＲについて解くことを前提にしているが、上式（１）のｄ軸指令電流ｉd*とｑ軸指令電流ｉq*にｄ軸検出電流ｉd とｑ軸検出電流ｉq を代入し、その式をＲについて解くことも考えられる。そうすれば、Φ値の影響を全く受けることなく正確にＲ値を算出することができる。
【０１１１】
なお、本発明は、上述したコラムアシスト型の電動パワーステアリング装置だけでなく、ピニオンアシスト型やラックアシスト型の電動パワーステアリング装置にも適用できる。また、本発明は、電動パワーステアリング装置以外のモータ制御装置にも適用できる。
【符号の説明】
【０１１２】
１３…モータ駆動回路、２０…マイコン
【図１】
2010233423.tif 000003
【図２】
2010233423.tif 000004
【図３】
2010233423.tif 000005
【図４】
2010233423.tif 000006
【図５】
2010233423.tif 000007
【図６】
2010233423.tif 000008
【図７】
2010233423.tif 000009