(57)【特許請求の範囲】
【請求項１】
ブラシレスモータを駆動するためのモータ制御装置であって、
前記ブラシレスモータに流れる各相電流を検出する電流検出手段と、
前記ブラシレスモータに印加すべき各相電圧を示す指令値を求め、当該指令値を相電圧指令値として出力する制御演算手段と、
前記電流検出手段により検出された各相電流の検出値と当該検出値の検出時点に前記ブラシレスモータに印加された各相電圧の指令値とに基づき各相の抵抗値を算出する相抵抗算出手段と、
前記相抵抗算出手段により算出される各相の抵抗値に基づき、相間の抵抗差が補償されるように各相の相電圧指令値を補正する補正手段と、
前記補正手段による補正後の相電圧指令値に基づき前記ブラシレスモータを駆動する駆動手段とを備え、
前記補正手段は、各相の相電圧指令値を、当該相の相電圧指令値のうち当該相の抵抗への印加電圧に相当する部分が前記相抵抗算出手段により算出される当該相の抵抗値に比例するように補正することを特徴とする、モータ制御装置。
【請求項２】
前記相抵抗算出手段は、前記ブラシレスモータに流れる電流の大きさが所定値よりも小さいときに各相の抵抗値を算出することを特徴とする、請求項１に記載のモータ制御装置。
【請求項３】
前記電流検出手段により各相電流が検出される時点における前記補正後の相電圧指令値を記憶する記憶手段を更に備え、
前記相抵抗算出手段は、前記電流検出手段により検出された各相電流の検出値と前記記憶手段に記憶された相電圧指令値とに基づき各相の抵抗値を算出することを特徴とする、請求項１に記載のモータ制御装置。
【請求項４】
前記電流検出手段は、
前記ブラシレスモータに流れる電流を検出する単一の電流センサと、
前記電流センサにより検出される電流の検出値に基づき各相電流の検出値を順次に求める相電流算出手段とを含み、
前記制御演算手段は、
前記ブラシレスモータに供給すべき電流を示す指令値と前記ブラシレスモータのロータの角速度とに基づき、ブラシレスモータの回路方程式に従い前記相電圧指令値を求めるオープンループ制御手段と、
前記電流センサにより検出される電流の検出値に基づき、前記回路方程式に従い前記相電圧指令値を求めるときに使用するパラメータの値を求めるパラメータ算出手段とを含み、
前記記憶手段は、前記相電流算出手段によりいずれかの相電流の検出値が得られる毎に前記補正後の相電圧指令値を記憶することを特徴とする、請求項３に記載のモータ制御装置。
【請求項５】
車両のステアリング機構にブラシレスモータによって操舵補助力を与える電動パワーステアリング装置であって、
請求項１から４のいずれか１項に記載のモータ制御装置を備え、
前記モータ制御装置は、前記ステアリング機構に操舵補助力を与えるブラシレスモータを駆動することを特徴とする、電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブラシレスモータを駆動するためのモータ制御装置、および、そのようなモータ制御装置を備えた電動パワーステアリング装置に関する。
【背景技術】
【０００２】
従来から、運転者がハンドル（ステアリングホイール）に加える操舵トルクに応じて電動モータを駆動することにより車両のステアリング機構に操舵補助力を与える電動パワーステアリング装置が用いられている。電動パワーステアリング装置の電動モータには従来からブラシモータが広く使用されているが、信頼性および耐久性の向上や慣性の低減などの観点から、近年ではブラシレスモータも使用されている。
【０００３】
一般にモータ制御装置は、モータで発生するトルクを制御するために、モータに流れる電流を検出し、モータに供給すべき電流と検出した電流との差に基づきＰＩ制御（比例積分制御）を行う。３相ブラシレスモータを駆動するモータ制御装置には、２相以上の電流を検出するために、２個または３個の電流センサが設けられる。
【０００４】
なお、本願発明に関連して、特許文献１には、トルクリップルを抑制すべく、モータについての推定電流あるいは検出電流が所定値以下であるときにモータ電流検出手段の出力信号のオフセット補正を行う電動パワーステアリング装置が開示されている。また、特許文献２には、電動パワーステアリング装置のゼロ点補正（オフセット補正）を高精度に行うべく、電動パワーステアリング装置の作動中において、目標電流が所定値以下のときにモータ駆動部を停止して電流センサのゼロ点補正を行うゼロ点補正方法が開示されている。
【特許文献１】特開２００７−０６９８３６号公報
【特許文献２】特開２００４−１３０９０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
電動パワーステアリング装置に含まれるモータ制御装置では、電流センサは１００Ａ以上の大電流を検出する必要がある。この電流センサは、サイズが大きく、電動パワーステアリング装置の制御装置の小型化を妨げている。このため、電動パワーステアリング装置などに含まれるモータ制御装置では、電流センサの削減が課題とされている。電流センサを削減できれば、モータ制御装置のコストや消費電力も低減できる。
【０００６】
電流センサを削減する方法としては、電流センサを１個に削減し、従来と同様のフィードバック制御を行う方法や、電流センサをすべて除去し、モータの回路方程式に従いオープンループ制御を行う方法などが考えられる。
【０００７】
これらのうち前者の方法には、モータのロータの回転位置によっては、１個の電流センサではフィードバック制御に必要な複数相の電流を検出できないことがあり、モータの制御が不連続になるという問題がある。これに対し、後者の方法では、このような問題は生じない。しかし、後者の方法には、下記の要因によって相間で抵抗値に差が生じるとモータの出力トルクにリップル（「トルクリップル」と呼ばれる）が発生するという問題がある。
ｉ）フェイルセーフ用に２相にリレーを配置することでリレーの接点抵抗分の抵抗差が相間で発生する。
ii）モータ制御装置とモータを接続するためのコネクタの接触抵抗が相間で異なる。
【０００８】
特に電動パワーステアリング装置では、操舵フィーリング向上の観点からモータの出力トルクの滑らかさが重要視されるので、このようなトルクリップルの発生を抑制することが求められている。
【０００９】
それ故に、本発明の目的は、相間での抵抗差に起因するトルクリップルの発生が抑制されるようにブラシレスモータを駆動することができるモータ制御装置を提供することである。また、本発明の他の目的は、そのようなモータ制御装置を備えた電動パワーステアリング装置を提供することである。
【課題を解決するための手段】
【００１０】
第１の発明は、ブラシレスモータを駆動するためのモータ制御装置であって、
前記ブラシレスモータに流れる各相電流を検出する電流検出手段と、
前記ブラシレスモータに印加すべき各相電圧を示す指令値を求め、当該指令値を相電圧指令値として出力する制御演算手段と、
前記電流検出手段により検出された各相電流の検出値と当該検出値の検出時点に前記ブラシレスモータに印加された各相電圧の指令値とに基づき各相の抵抗値を算出する相抵抗算出手段と、
前記相抵抗算出手段により算出される各相の抵抗値に基づき、相間の抵抗差が補償されるように各相の相電圧指令値を補正する補正手段と、
前記補正手段による補正後の相電圧指令値に基づき前記ブラシレスモータを駆動する駆動手段とを備え、
前記補正手段は、各相の相電圧指令値を、当該相の相電圧指令値のうち当該相の抵抗への印加電圧に相当する部分が前記相抵抗算出手段により算出される当該相の抵抗値に比例するように補正することを特徴とする。
【００１１】
第２の発明は、第１の発明において、
前記相抵抗算出手段は、前記ブラシレスモータに流れる電流の大きさが所定値よりも小さいときに各相の抵抗値を算出することを特徴とする。
【００１２】
第３の発明は、第１の発明において、
前記電流検出手段により各相電流が検出される時点における前記補正後の相電圧指令値を記憶する記憶手段を更に備え、
前記相抵抗算出手段は、前記電流検出手段により検出された各相電流の検出値と前記記憶手段に記憶された相電圧指令値とに基づき各相の抵抗値を算出することを特徴とする。
【００１３】
第４の発明は、第３の発明において、
前記電流検出手段は、
前記ブラシレスモータに流れる電流を検出する単一の電流センサと、
前記電流センサにより検出される電流の検出値に基づき各相電流の検出値を順次に求める相電流算出手段とを含み、
前記制御演算手段は、
前記ブラシレスモータに供給すべき電流を示す指令値と前記ブラシレスモータのロータの角速度とに基づき、ブラシレスモータの回路方程式に従い前記相電圧指令値を求めるオープンループ制御手段と、
前記電流センサにより検出される電流の検出値に基づき、前記回路方程式に従い前記相電圧指令値を求めるときに使用するパラメータの値を求めるパラメータ算出手段とを含み、
前記記憶手段は、前記相電流算出手段によりいずれかの相電流の検出値が得られる毎に前記相電圧指令値を記憶することを特徴とする。
【００１４】
第５の発明は、車両のステアリング機構にブラシレスモータによって操舵補助力を与える電動パワーステアリング装置であって、
第１から第４の発明のいずれかの発明に係るモータ制御装置を備え、
前記モータ制御装置は、前記ステアリング機構に操舵補助力を与えるブラシレスモータを駆動することを特徴とする。
【発明の効果】
【００１５】
上記第１の発明によれば、電流検出手段により得られる各相電流の検出値と制御演算手段により得られる各相電圧の指令値とに基づき各相の抵抗値が算出され、算出された各相の抵抗値に基づき、相間の抵抗差が補償されるように、ブラシレスモータに印加すべき各相電圧の指令値が補正される。すなわち、ブラシレスモータに印加すべき各相電圧の指令値は、当該相電圧の指令値のうち当該相の抵抗への印加電圧に相当する部分が前記相抵抗算出手段により算出される当該相の抵抗値に比例するように補正される。これにより、相間抵抗差が補償され、相間抵抗差に起因するトルクリップルが低減される。
【００１６】
上記第２の発明によれば、ブラシレスモータに流れる電流の大きさが所定値よりも小さいときに各相の抵抗値が算出され、当該算出時点では、電流による発熱に起因する抵抗値の増大が小さく相間抵抗差が相対的に大きいので、各相の抵抗につき精度の高い算出値が得られる。これにより、各相電圧の指令値の補正による相間抵抗差の補償がより正確に行われるので、トルクリップルを十分に低減することができる。
【００１７】
上記第３の発明によれば、各相電流の検出時点にブラシレスモータに印加された各相電圧の指令値が記憶手段に記憶され、各相電流の検出値と記憶手段に記憶された各相電圧の指令値とに基づき各相の抵抗値が算出される。したがって、電流センサの個数が１個だけであるために全ての相の電流を同時に検出できず、当該電流センサにより得られる電流検出値に基づき順次に各相の電流検出値が得られる場合であっても、各相の抵抗値を算出し、当該各相の抵抗値に応じて各相電圧の指令値を補正することでトルクリップルを低減することができる。
【００１８】
上記第４の発明によれば、単一の電流センサで検出された電流の検出値に基づき、各相電圧の指令値を求めるときに使用するパラメータの値が求められ、かつ、単一の電流センサを含む電流検出手段により順次に得られた各相電流の検出値と記憶手段に記憶された各相電圧の指令値とに基づき算出される各相の抵抗値に応じて、各相電圧の指令値が補正される。これにより、複数個の電流センサを使用する場合に比べてコストや消費電流を抑えつつ、上記パラメータの値が製造ばらつきや温度変化等によって変動するときでも高い精度でブラシレスモータを駆動し、トルクリップルの抑制されたモータ出力を得ることができる。
【００１９】
上記第５の発明によれば、操舵補助力を与えるブラシレスモータに印加すべき電圧を示す各相電圧の指令値が補正されることにより、相間抵抗差に起因するトルクリップルの発生が抑制されるので、操舵フィーリングの良好な電動パワーステアリング装置を提供することができる。
【発明を実施するための最良の形態】
【００２０】
＜１．電動パワーステアリング装置＞
図１は、本発明の実施形態に係る電動パワーステアリング装置の構成を、それに関連する車両の構成と共に示す概略図である。図１に示す電動パワーステアリング装置は、ブラシレスモータ１、減速機２、トルクセンサ３、車速センサ４、位置検出センサ５、および、電子制御ユニット（Electronic Control Unit ：以下、「ＥＣＵ」という）１０を備えたコラムアシスト型の電動パワーステアリング装置である。
【００２１】
図１に示すように、ステアリングシャフト１０２の一端にはハンドル（ステアリングホイール）１０１が固着されており、ステアリングシャフト１０２の他端はラックピニオン機構１０３を介してラック軸１０４に連結されている。ラック軸１０４の両端は、タイロッドおよびナックルアームからなる連結部材１０５を介して車輪１０６に連結されている。運転者がハンドル１０１を回転させると、ステアリングシャフト１０２は回転し、これに伴いラック軸１０４は往復運動を行う。ラック軸１０４の往復運動に伴い、車輪１０６の向きが変わる。
【００２２】
電動パワーステアリング装置は、運転者の負荷を軽減するために、以下に示す操舵補助を行う。トルクセンサ３は、ハンドル１０１の操作によってステアリングシャフト１０２に加えられる操舵トルクＴを検出する。車速センサ４は、車速Ｓを検出する。位置検出センサ５は、ブラシレスモータ１のロータの回転位置Ｐを検出する。位置検出センサ５は、例えばレゾルバで構成される。
【００２３】
ＥＣＵ１０は、車載バッテリ１００から電力の供給を受け、操舵トルクＴ、車速Ｓおよび回転位置Ｐに基づきブラシレスモータ１を駆動する。ブラシレスモータ１は、ＥＣＵ１０によって駆動されると、操舵補助力を発生させる。減速機２は、ブラシレスモータ１とステアリングシャフト１０２との間に設けられる。ブラシレスモータ１で発生した操舵補助力は、減速機２を介して、ステアリングシャフト１０２を回転させるように作用する。
【００２４】
この結果、ステアリングシャフト１０２は、ハンドル１０１に加えられる操舵トルクと、ブラシレスモータ１で発生した操舵補助力の両方によって回転する。このように電動パワーステアリング装置は、ブラシレスモータ１で発生した操舵補助力を車両のステアリング機構に与えることにより操舵補助を行う。
【００２５】
本発明の実施形態に係る電動パワーステアリング装置は、ブラシレスモータ１を駆動する制御装置（モータ制御装置）に特徴がある。そこで以下では、各実施形態に係る電動パワーステアリング装置に含まれるモータ制御装置について説明する。
【００２６】
＜２．第１の実施形態＞
図２は、本発明の第１の実施形態に係るモータ制御装置の構成を示すブロック図である。図２に示すモータ制御装置は、ＥＣＵ１０を用いて構成されており、ｕ相、ｖ相およびｗ相の３相巻線（図示せず）を有するブラシレスモータ１を駆動する。ＥＣＵ１０は、位相補償器１１、マイクロコンピュータ（以下、マイコンと略称する）２０、３相／ＰＷＭ（Pulse Width Modulation）変調器１２、モータ駆動回路１３、および、電流センサ１４を備えている。
【００２７】
ＥＣＵ１０には、トルクセンサ３から出力された操舵トルクＴ、車速センサ４から出力された車速Ｓ、および、位置検出センサ５から出力された回転位置Ｐが入力される。位相補償器１１は、操舵トルクＴに対して位相補償を施す。マイコン２０は、ブラシレスモータ１の駆動に用いられる電圧指令値を求める制御手段として機能する。マイコン２０の機能の詳細については、後述する。
【００２８】
３相／ＰＷＭ変調器１２とモータ駆動回路１３は、ハードウェア（回路）で構成されており、マイコン２０で求めた電圧指令値の電圧を用いてブラシレスモータ１を駆動するモータ駆動手段として機能する。３相／ＰＷＭ変調器１２は、マイコン２０で求めた３相の電圧指令値に応じたデューティー比を有する３種類のＰＷＭ信号（図２に示すＵ、Ｖ、Ｗ）を生成する。モータ駆動回路１３は、スイッチング素子として６個のＭＯＳ−ＦＥＴ（Metal Oxide Semiconductor Field Effect Transistor ）を含むＰＷＭ電圧形インバータ回路である。６個のＭＯＳ−ＦＥＴは、３種類のＰＷＭ信号とその否定信号によって制御される。ＰＷＭ信号を用いてＭＯＳ−ＦＥＴの導通状態を制御することにより、ブラシレスモータ１に対して３相の駆動電流（ｕ相電流、ｖ相電流およびｗ相電流）が供給される。
【００２９】
電流センサ１４は、ブラシレスモータ１に流れる電流を検出する。本実施形態では、この電流センサ１４と後述の相電流算出部４１とにより、ブラシレスモータ１のｕ相、ｖ相、ｗ相の電流Ｉｕ，Ｉｖ，Ｉｗを検出する電流検出手段が構成される。電流センサ１４は、例えば抵抗体やホール素子で構成され、モータ駆動回路１３と電源の間に１個だけ設けられる。図２に示す例では、電流センサ１４はモータ駆動回路１３と電源のマイナス側（接地）との間に設けられているが、電流センサ１４をモータ駆動回路１３と電源のプラス側との間に設けてもよい。
【００３０】
ブラシレスモータ１が回転している間、電流センサ１４で検出される電流値は、ＰＷＭ信号に応じて変化する。ＰＷＭ信号の１周期内では、電流センサ１４によって１相の駆動電流が検知されるときと、２相の駆動電流の和が検知されるときとがある。３相の駆動電流の和はゼロになるので、２相の駆動電流の和に基づき、残り１相の駆動電流を求めることができる。したがって、ブラシレスモータ１が回転している間、１個の電流センサ１４を用いて３相の駆動電流を検出することができる。電流センサ１４で検出された電流値Ｉａは、マイコン２０に入力される。
【００３１】
マイコン２０は、ＥＣＵ１０に内蔵されたメモリ（図示せず）に格納されたプログラムを実行することにより、指令電流算出部２１、オープンループ制御部２２、ｄｑ軸／３相変換部２３、角度算出部２４、角速度算出部２５、Φ算出部２６、相電流算出部４１、記憶部４２、相抵抗算出部４３、および補正部４４として機能する。なお、指令電流算出部２１とオープンループ制御部２２とｄｑ軸／３相変換部２３と角速度算出部２５とΦ算出部２６は、ブラシレスモータ１を駆動するために使用される相電圧指令値を求める制御演算手段を構成する。
【００３２】
マイコン２０は、以下に示すように、ブラシレスモータ１に供給すべき電流を示す電流指令値とブラシレスモータ１のロータの角速度とに基づき、モータの回路方程式に従い、モータ駆動回路１３に与えるべき電圧を示す電圧指令値を求める。
【００３３】
角度算出部２４は、位置検出センサ５で検出した回転位置Ｐに基づき、ブラシレスモータ１のロータの回転角（以下、「角度θ」という）を求める。角速度算出部２５は、角度θに基づき、ブラシレスモータ１のロータの角速度ω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 に基づき、次式（３）〜（５）を用いてｕ相電圧指令値Ｖｕ、ｖ相電圧指令値Ｖｖおよびｗ相電圧指令値Ｖｗを求める。
Ｖｕ＝√（２／３）×｛ｖd×ｃｏｓθ−ｖq×ｓｉｎθ｝   …（３）
Ｖｖ＝√（２／３）×｛ｖd×ｃｏｓ（θ−２π／３）
−ｖq×ｓｉｎ（θ−２π／３）｝    …（４）
Ｖｗ＝−Ｖｕ−Ｖｖ                                       …（５）
上記の式（３）と（４）に含まれる角度θは、角度算出部２４で求めた電気角である。なお、ｕ相電圧指令値Ｖｕ、ｖ相電圧指令値Ｖｖおよびｗ相電圧指令値Ｖｗを総称して「相電圧指令値Ｖｕ，Ｖｖ，Ｖｗ」ともいう。また、後述の補正部４４による補正後のｕ相電圧指令値、ｖ相電圧指令値およびｗ相電圧指令値を総称して「補正後の相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃ」という。
【００３８】
既述のように、ブラシレスモータ１が回転している間、１個の電流センサ１４を用いて３相の駆動電流を検出することができる。そこで本実施形態では、相電流算出部４１が、電流センサ１４で検出された電流値Ｉａからブラシレスモータ１に流れるｕ相、ｖ相、ｗ相電流の値（以下、それぞれ「ｕ相電流検出値Ｉｕ」、「ｖ相電流検出値Ｉｖ」、「ｗ相電流検出値Ｉｗ」いい、総称して各相電流検出値Ｉｕ，Ｉｖ，Ｉｗともいう）を算出する。また、記憶部４２は、各相電流検出値Ｉｘ（ｘ＝ｕ，ｖ，ｗ）の検出時点すなわち各相電流検出値Ｉｘの算出に使用された電流値Ｉａの検出時点における補正後の相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃを記憶する。以下では、ｘ相電流検出値Ｉｘの検出時点における補正後の相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃを、それぞれ、記号“Ｖｕｘ”，“Ｖｖｘ”，“Ｖｗｘ”で示すものとする（ｘ＝ｕ，ｖ，ｗ）。
【００３９】
相抵抗算出部４３は、上記のような相電流算出部４１および電流センサ１４からなる電流検出手段によって検出された各相電流検出値Ｉｘと、その検出時点における補正後の相電圧指令値Ｖｕｘ，Ｖｖｘ，Ｖｗｘ（ｘ＝ｕ，ｖ，ｗ）とに基づき、ｕ相抵抗Ｒｕ、ｖ相抵抗Ｒｖ、ｗ相抵抗Ｒｗ（図４参照）の値を求める。ここで、ｕ相抵抗、ｖ相抵抗、ｗ相抵抗は、それぞれｕ相、ｖ相、ｗ相についての電機子巻線抵抗を含む回路抵抗を意味するものとし、それぞれ記号“Ｒｕ”，“Ｒｖ”，“Ｒｗ”で示すものとする。また、記号“Ｒｕ”，“Ｒｖ”，“Ｒｗ”は、ｕ相抵抗、ｖ相抵抗、ｗ相抵抗の値をもそれぞれ示すものとする。なお以下では、ｕ相抵抗、ｖ相抵抗、ｗ相抵抗をまとめて「相抵抗」ともいう。これらの相抵抗に相当する回路抵抗には、ブラシレスモータ１とＥＣＵ１０との間の配線抵抗やＥＣＵ１０内でのモータ駆動回路１３の抵抗および配線抵抗等が含まれる。この点は他の実施形態でも同様である。相抵抗算出部４３における相抵抗Ｒｕ，Ｒｖ，Ｒｗの算出方法の詳細は後述する。
【００４０】
補正部４４には、相抵抗算出部４３で算出された相抵抗Ｒｕ，Ｒｖ，Ｒｗの値と、Φ算出部２６で算出された電機子巻線鎖交磁束数Φと、角速度算出部２５で算出された角速度ωe とが入力され、当該補正部４４は、次式（７）〜（９）に従って相電圧指令値Ｖｕ，Ｖｖ，Ｖｗを補正する。
Ｖｕｃ＝（Ｖｕ−ｅu）・Ｒｕ／Ｒｒ＋ｅu    …（７）
Ｖｖｃ＝（Ｖｖ−ｅv）・Ｒｖ／Ｒｒ＋ｅv    …（８）
Ｖｗｃ＝（Ｖｗ−ｅw）・Ｒｗ／Ｒｒ＋ｅw    …（９）
上記式（７）〜（９）において、Ｒｒは、各相に共通に設定される基準とすべき抵抗値（以下「基準抵抗値」という）であり、この基準抵抗値Ｒｒとして、例えば各相抵抗値の平均値を使用することができ、また、所定時点における特定相の抵抗値を使用してもよい。さらに、この基準抵抗値Ｒｒは、必ずしも固定値でなくてもよい。なお、相抵抗Ｒｕ，Ｒｖ，Ｒｗの値が未算出のときには、基準抵抗Ｒｒの値を予め決めておき、Ｒｕ＝Ｒｖ＝Ｒｗ＝Ｒｒとして補正後の相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃを算出してもよい。
【００４１】
上記式（７）〜（９）において、ｅu ， ｅv ，ｅw は、それぞれ、ブラシレスモータ１におけるｕ相、ｖ相、ｗ相の逆起電力（誘起電圧）である。ところで、ブラシレスモータ１の逆起電力のｑ軸成分はωeΦであり、ｄ軸成分は０である。そこで補正部４４は、これら逆起電力のｄ軸成分およびｑ軸成分を次式（１０）〜（１２）により３相交流座標軸上の逆起電力に変換し、その変換により得られる各相の逆起電力ｅu ， ｅv ，ｅw を用いて上記式（７）〜（９）に従って補正後の相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃを算出する。
ｅu＝√（２／３）×｛０×ｃｏｓθ−ωeΦ×ｓｉｎθ｝   …（１０）
ｅv＝√（２／３）×｛０×ｃｏｓ（θ−２π／３）
−ωeΦ×ｓｉｎ（θ−２π／３）｝   …（１１）
ｅw＝−ｅu−ｅv                                        …（１２）
なお式（１０）と（１１）に含まれる角度θは、角度算出部２４で求めた電気角である。
【００４２】
このようにマイコン２０は、ｄｑ座標軸上の電流指令値ｉd* ，ｉq* を求める処理と、モータの回路方程式に従いｄｑ座標軸上の電圧指令値ｖd ，ｖq を求める処理と、ｄ軸およびｑ軸電圧指令値ｖd ，ｖq を相電圧指令値Ｖｕ，Ｖｖ，Ｖｗに変換する処理と、相電圧指令値Ｖｕ，Ｖｖ，Ｖｗを補正する処理とを行う。３相／ＰＷＭ変調器１２は、マイコン２０で求めた補正後の相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃに基づき、３種類のＰＷＭ信号を出力する。これにより、ブラシレスモータ１の３相巻線には、各相の補正後の電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃに応じた正弦波状の電流が流れ、ブラシレスモータ１のロータは回転する。これに伴い、ブラシレスモータ１の回転軸には、ブラシレスモータ１を流れる電流に応じたトルクが発生する。発生したトルクは操舵補助に用いられる。
【００４３】
Φ算出部２６には、電流センサ１４で検出された電流値Ｉａと、角度算出部２４で算出された電気角θと、角速度算出部２５で算出された角速度ωe とが入力される。Φ算出部２６は、まず電流値Ｉａに基づきブラシレスモータ１に流れるｕ相とｖ相の電流の値、すなわちｕ相電流検出値Ｉｕ、ｖ相電流検出値Ｉｖを求め、これらを次式（１３）と（１４）を用いてｄｑ座標軸上の電流値に変換することにより、ｄ軸電流検出値ｉd とｑ軸電流検出値ｉq を求める。
ｉd＝√２×｛Ｉｖ×ｓｉｎθ−Ｉｕ×ｓｉｎ（θ−２π／３）｝   …（１３）
ｉq＝√２×｛Ｉｖ×ｃｏｓθ−Ｉｕ×ｃｏｓ（θ−２π／３）｝   …（１４）
【００４４】
次に、Φ算出部２６は、ωe ≠０のときに、ｑ軸電圧指令値ｖq 、ｄ軸電流検出値ｉd 、ｑ軸電流検出値ｉq および角速度ωe に基づき、次式（１５）を用いて式（２）に含まれる電機子巻線鎖交磁束数Φを求める。
Φ＝｛ｖq−（Ｒ＋ＰＬq）ｉq−ωeＬdｉd｝／ωe  …（１５）
なお、式（１５）は、式（２）のｄ軸電流指令値ｉd*とｑ軸電流指令値ｉq*にｄ軸電流検出値ｉd とｑ軸電流検出値ｉq を代入し、その式をΦについて解いたものである。
【００４５】
Φ算出部２６は、求めたΦ値をオープンループ制御部２２に対して出力する。オープンループ制御部２２は、式（２）を用いてｑ軸電圧指令値ｖq を求めるときに、Φ算出部２６で算出されたΦ値を使用する。このようにマイコン２０は、モータの回路方程式に含まれる電機子巻線鎖交磁束数Φを求め、ｑ軸電圧指令値ｖq を求めるときにはそのΦ値を使用する。
【００４６】
Φ算出部２６は、ωe ≠０である限り、任意のタイミングでΦ値を求めてもよい。Φ算出部２６は、例えば、所定の時間間隔でΦ値を求めてもよく、ブラシレスモータ１の駆動開始後に１回だけΦ値を求めてもよく、温度などの状態が変化したときにΦ値を求めてもよい。また、ωe がゼロに近いときに求めたΦ値には誤差が発生しやすいので、Φ算出部２６は、ωe が所定の閾値以上であるときに限りΦ値を求めることとしてもよい。
【００４７】
以上に示すように、本実施形態に係るモータ制御装置は、電流指令値とロータの角速度とに基づき、モータの回路方程式に従いオープンループ制御により電圧指令値を求めると共に、電流センサで検出した電流値に基づきモータの回路方程式に含まれるΦを求め、電圧指令値を求めるときにはそのΦ値を使用する。したがって、本実施形態に係るモータ制御装置によれば、モータの回路方程式に含まれるΦ値が製造ばらつきや温度変化によって変動するときでも、電流センサで検出した電流値に基づきΦ値を求めることにより、高い精度でブラシレスモータを駆動し、所望のモータ出力を得ることができる。
【００４８】
また、本実施形態に係るモータ制御装置には、電流センサは１個だけ設けられている。したがって、本実施形態に係るモータ制御装置によれば、電流センサを削減することにより、モータ制御装置の小型化、低コスト化および低消費電力化が可能となる。さらに、本実施形態に係るモータ制御装置はオープンループ制御を行うので、１個の電流センサを用いてフィードバック制御を行うモータ制御装置とは異なり、モータの制御が不連続にならない。したがって、本実施形態に係るモータ制御装置によれば、音や振動を抑制することができる。
【００４９】
なお本実施形態では、オープンループ制御部２２においてｄ軸電圧指令値ｖd およびｑ軸電圧指令値ｖq を求めるために使用されるＲやΦ等は、既知のパラメータとして扱われるが、ΦについてはΦ算出部２６により算出された値が使用される。すなわち、Φについては既知のパラメータとして扱いつつもパラメータ算出手段としてのΦ算出部２６により適宜補正される。しかし、本発明はこのような構成に限定されるものではなく、Φ算出部２６に代えて又はΦ算出部２６と共にパラメータ算出手段としてのＲ算出部を設け、ｄ軸電圧指令値ｖd およびｑ軸電圧指令値ｖq を求める際に、当該Ｒ算出部により算出されたＲを使用してもよい（この点は、以下に述べる他の実施形態においても同様）。なお、Ｒ算出部が設けられている場合、当該Ｒ算出部は、例えば、ｉq ≠０のときに、ｑ軸電圧指令値ｖq 、ｄ軸電流検出値ｉd 、ｑ軸電流検出値ｉq および角速度ωe に基づき、次式を用いて上記式（１）と（２）に含まれる電気子巻線抵抗Ｒを求める。
Ｒ＝（ｖq−ＰＬqｉq−ωeＬdｉd−ωeΦ）／ｉq
【００５０】
次に、相抵抗算出部４３における相抵抗Ｒｕ，Ｒｖ，Ｒｗの算出方法について説明する。本実施形態では、ｘ相の電流の時間的変化が緩やかなときに当該ｘ相の電流を検出するものとし、当該ｘ相のインダクタンスによって生じる電圧降下を無視できるものとする（ｘ＝ｕ，ｖ，ｗ）。この場合、ｘ相電流検出値Ｉｘの検出時点でのブラシレスモータ１におけるｕ相、ｖ相、ｗ相の逆起電力（誘起電圧）を“Ｅｕｘ”，“Ｅｖｘ”，“Ｅｗｘ”でそれぞれ示すものとし、ｘ相電流検出値Ｉｘの検出時点でのｕ相、ｖ相、ｗ相の電流値を“Ｉｕｘ”，“Ｉｖｘ”，“Ｉｗｘ”でそれぞれ示すものとすると（ｘ＝ｕ，ｖ，ｗ）、下記の式が成立する。
Ｖｕｕ＝Ｉｕｕ・Ｒｕ＋Ｅｕｕ  …（１６ａ）
Ｖｖｕ＝Ｉｖｕ・Ｒｖ＋Ｅｖｕ  …（１６ｂ）
Ｖｗｕ＝Ｉｗｕ・Ｒｗ＋Ｅｗｕ  …（１６ｃ）
Ｖｕｖ＝Ｉｕｖ・Ｒｕ＋Ｅｕｖ  …（１７ａ）
Ｖｖｖ＝Ｉｖｖ・Ｒｖ＋Ｅｖｖ  …（１７ｂ）
Ｖｗｖ＝Ｉｗｖ・Ｒｗ＋Ｅｗｖ  …（１７ｃ）
Ｖｕｗ＝Ｉｕｗ・Ｒｕ＋Ｅｕｗ  …（１８ａ）
Ｖｖｗ＝Ｉｖｗ・Ｒｖ＋Ｅｖｗ  …（１８ｂ）
Ｖｗｗ＝Ｉｗｗ・Ｒｗ＋Ｅｗｗ  …（１８ｃ）
Ｉｕｕ＋Ｉｖｕ＋Ｉｗｕ＝０    …（１９ａ）
Ｉｕｖ＋Ｉｖｖ＋Ｉｗｖ＝０    …（１９ｂ）
Ｉｕｗ＋Ｉｖｗ＋Ｉｗｗ＝０    …（１９ｃ）
Ｅｕｕ＋Ｅｖｕ＋Ｅｗｕ＝０    …（２０ａ）
Ｅｕｖ＋Ｅｖｖ＋Ｅｗｖ＝０    …（２０ｂ）
Ｅｕｗ＋Ｅｖｗ＋Ｅｗｗ＝０    …（２０ｃ）
Ｖｕｕ＋Ｖｖｕ＋Ｖｗｕ＝０    …（２１ａ）
Ｖｕｖ＋Ｖｖｖ＋Ｖｗｖ＝０    …（２１ｂ）
Ｖｕｗ＋Ｖｖｗ＋Ｖｗｗ＝０    …（２１ｃ）
【００５１】
上記１８個の式（１６ａ）〜（２１ｃ）において、相電圧指令値Ｖｕｘ，Ｖｖｘ，Ｖｗｘ（ｘ＝ｕ，ｖ，ｗ）および相電流検出値Ｉｕｕ，Ｉｖｖ，Ｉｗｗは既知であり、未知数は相抵抗Ｒｕ，Ｒｖ，Ｒｗ、相電流値Ｉｖｕ，Ｉｗｕ，Ｉｕｖ，Ｉｗｖ，Ｉｕｗ，Ｉｖｗおよび誘起電圧Ｅｕｘ，Ｅｖｘ，Ｅｗｘ（ｘ＝ｕ，ｖ，ｗ）の１８個であるので、上記式（６ａ）〜（２１ｃ）から相抵抗Ｒｕ，Ｒｖ，Ｒｗを求めることができる。具体的には下記のようにして相抵抗Ｒｕ，Ｒｖ，Ｒｗを求める。
【００５２】
ｕ相電流が検出されると、相電流算出部４１がｕ相電流検出値Ｉｕを出力すると共に、記憶部４２がその検出時点でのｕ相、ｖ相、ｗ相の補正後の電圧指令値Ｖｕｃ，Ｖｖｃ，ＶｗｃをそれぞれＶｕｕ，Ｖｖｕ，Ｖｗｕとして記憶する。相抵抗算出部４３は、Ｉｕ≠０のときに、このｕ相電流検出値Ｉｕとその検出時点の相電圧指令値Ｖｕｕ，Ｖｖｕ，Ｖｗｕとを用いて次式により与えられるＵa，Ｕｂを算出する。
Ｕａ＝（Ｖｕｕ−Ｖｖｕ）／Ｉｕ    …（２２ａ）
Ｕｂ＝（Ｖｕｕ−Ｖｗｕ）／Ｉｕ    …（２２ｂ）
【００５３】
ｖ相電流が検出されると、相電流算出部４１がｖ相電流検出値Ｉｖを出力すると共に、記憶部４２がその検出時点での補正後のｕ相、ｖ相、ｗ相の電圧指令値Ｖｕｃ，Ｖｖｃ，ＶｗｃをそれぞれＶｕｖ，Ｖｖｖ，Ｖｗｖとして記憶する。相抵抗算出部４３は、Ｉｖ≠０のときに、このｖ相電流検出値Ｉｖとその検出時点の相電圧指令値Ｖｕｖ，Ｖｖｖ，Ｖｗｖとを用いて、次式により与えられるＶa，Ｖｂを算出する。
Ｖａ＝（Ｖｖｖ−Ｖｗｖ）／Ｉｖ    …（２３ａ）
Ｖｂ＝（Ｖｖｖ−Ｖｕｖ）／Ｉｖ    …（２３ｂ）
【００５４】
ｗ相電流が検出されると、相電流算出部４１がｗ相電流検出値Ｉｗを出力すると共に、記憶部４２がその検出時点でのｕ相、ｖ相、ｗ相の補正後の電圧指令値Ｖｕｃ，Ｖｖｃ，ＶｗｃをそれぞれＶｕｗ，Ｖｖｗ，Ｖｗｗとして記憶する。相抵抗算出部４３は、Ｉｗ≠０のときに、このｗ相電流検出値Ｉｗとその検出時点の相電圧指令値Ｖｕｗ，Ｖｖｗ，Ｖｗｗとを用いて、次式により与えられるＷa，Ｗｂを算出する。
Ｗａ＝（Ｖｗｗ−Ｖｕｗ）／Ｉｗ    …（２４ａ）
Ｗｂ＝（Ｖｗｗ−Ｖｖｗ）／Ｉｗ    …（２４ｂ）
【００５５】
次に、算出されたＵａ，Ｕｂ，Ｖａ，Ｖｂ，Ｗａ，Ｗｂを用いて、次式により与えられるｒa，ｒb，ｒc，ｒdを算出する。
ｒa＝Ｕａ・Ｖａ・Ｗａ−Ｕｂ・Ｖｂ・Ｗｂ    …（２５ａ）
ｒb＝Ｗａ・Ｕａ−Ｗａ・Ｖｂ＋Ｕｂ・Ｖｂ    …（２５ｂ）
ｒc＝Ｕａ・Ｖａ−Ｕａ・Ｗｂ＋Ｖｂ・Ｗｂ    …（２５ｃ）
ｒd＝Ｖａ・Ｗａ−Ｖａ・Ｕｂ＋Ｗｂ・Ｕｂ    …（２５ｄ）
【００５６】
次に、算出されたｒa，ｒb，ｒc，ｒdを用いて、次式により相抵抗Ｒｕ，Ｒｖ，Ｒｗを算出する。
Ｒｕ＝ｒa・ｒb／（ｒb・ｒc＋ｒc・ｒd＋ｒd・ｒb）    …（２６ａ）
Ｒｖ＝ｒa・ｒc／（ｒb・ｒc＋ｒc・ｒd＋ｒd・ｒb）    …（２６ｂ）
Ｒｗ＝ｒa・ｒd／（ｒb・ｒc＋ｒc・ｒd＋ｒd・ｒb）    …（２６ｃ）
【００５７】
既述の式（７）〜（９）による相電圧指令値Ｖｕ，Ｖｖ，Ｖｗの補正に必要な相抵抗Ｒｕ，Ｒｖ，Ｒｗの値は、ｕ相、ｖ相およびｗ相の電流検出値Ｉｕ，Ｉｖ，Ｉｗが検出されると上記のように算出することができるが、ブラシレスモータ１に流れる電流が増大すると、発熱によって相抵抗Ｒｕ，Ｒｖ，Ｒｗの算出精度が低下する。以下、この点につき説明する。
【００５８】
いま、ｕ相抵抗Ｒｕに対するｖ相抵抗Ｒｖの差を１ｍΩとし、ｕ相抵抗Ｒｕに対するｗ相抵抗Ｒｗの差を２ｍΩとする。この場合、Ｒｕ＝１０ｍΩであれば、Ｒｖ＝１１ｍΩ、Ｒｗ＝１２ｍΩとなる。したがって、抵抗比Ｒｖ／Ｒｕ，Ｒｗ／Ｒｕは、
Ｒｖ／Ｒｕ＝１１／１０＝１．１
Ｒｗ／Ｒｕ＝１２／１０＝１．２
であるので、抵抗差を相対値で示すと、ｕ相抵抗Ｒｕに対するｖ相抵抗Ｒｖの差は１０％であり、ｕ相抵抗Ｒｕに対するｗ相抵抗Ｒｗの差は２０％である。
【００５９】
一般に、相間の抵抗差はモータに流れる電流による発熱には影響されない。このため、電流による発熱によってｕ相抵抗Ｒｕが例えばＲｕ＝２０ｍΩになったとすると、Ｒｖ＝２１ｍΩ、Ｒｗ＝２２ｍΩとなる。このときの抵抗比Ｒｖ／Ｒｕ，Ｒｗ／Ｒｕは、
Ｒｖ／Ｒｕ＝２１／２０＝１．０５
Ｒｗ／Ｒｕ＝２２／２０＝１．１
であるので、抵抗差を相対値で示すと、ｕ相抵抗Ｒｕに対するｖ相抵抗Ｒｖの差は５％となり、ｕ相抵抗Ｒｕに対するｗ相抵抗Ｒｗの差は１０％となる。
【００６０】
このように、電流による発熱によって抵抗値が大きくなると、相間の抵抗差は相対的に小さくなる。したがって、相間の抵抗差の観点から見ると、電流による発熱は相抵抗の算出精度を低下させることになる。よって、電流による発熱が小さいときに相抵抗を算出するのが好ましい。そこで本実施形態では、ｕ相、ｖ相およびｗ相電流の指令値または検出値が、予め決められた閾値よりも小さいときに上記のようにして相抵抗Ｒｕ，Ｒｖ，Ｒｗを算出する。以下、このような本実施形態における相抵抗算出部４３の動作を説明する。
【００６１】
図５は、本実施形態における相抵抗算出部４３の動作例を説明するためのフローチャートである。この動作例では、相抵抗算出部４３は下記の手順により相抵抗Ｒｕ，Ｒｖ，Ｒｗを算出する。既述のように相電流算出部４１は、電流センサ１４により得られる電流検出値Ｉａからｕ相、ｖ相、ｗ相電流検出値のいずれかが算出される毎にその電流検出値Ｉｘを相抵抗算出部４３に与え（ｘはｕ，ｖ，ｗのいずれか）、相抵抗算出部４３は、この相電流検出値Ｉｘを順次受け取る（ステップＳ１０）。相抵抗算出部４３は、受け取った相電流検出値Ｉｘがゼロの場合にはステップＳ１０へ戻り、次に算出される相電流検出値Ｉｙを受け取る（ｙはｕ，ｖ，ｗのいずれか）。このようにしてステップＳ１０，Ｓ１２を繰り返すことにより、ゼロでないｕ相、ｖ相およびｗ相電流検出値Ｉｕ，Ｉｖ，Ｉｗを受け取ると、相抵抗算出部４３は、それらの相電流検出値の絶対値｜Ｉｕ｜，｜Ｉｖ｜，｜Ｉｗ｜が全て、予め決められた閾値Ｉｔｈよりも小さいか否かを判定し、その結果、｜Ｉｕ｜，｜Ｉｖ｜，｜Ｉｗ｜のいずれかが閾値Ｉｔｈ以上であればステップＳ１０へ戻り、｜Ｉｕ｜，｜Ｉｖ｜，｜Ｉｗ｜のすべてが閾値Ｉｔｈよりも小さければステップＳ１６へ進む。ここで、閾値Ｉｔｈは、既述のように電流による発熱によって相抵抗の算出精度の低下を防止するために導入されたものであり、発熱による相抵抗の増大が比較的小さい範囲で相抵抗が算出されるように設定される。その具体的な値は、ブラシレスモータおよびそれを駆動するモータ制御装置によって異なり、実際には、個々のブラシレスモータおよびモータ制御装置についての実験や計算機シミュレーション等を用いて決定される。
【００６２】
ステップＳ１６へ進んだときには、いずれもゼロではなく且つ絶対値が閾値Ｉｔｈよりも小さい各相電流検出値Ｉｘ（ｘ＝ｕ，ｖ，ｗ）が得られている。相抵抗算出部４３は、この各相電流検出値Ｉｘの検出時点での（補正後の）各相電圧指令値Ｖｕｘ，Ｖｖｘ，Ｖｗｘを記憶部４２から取り出し、この各相電圧指令値Ｖｕｘ，Ｖｖｘ，Ｖｗｘ（ｘ＝ｕ，ｖ，ｗ）と上記各相電流検出値Ｉｘとを用い、既述の式（２２ａ）〜（２６ｃ）に基づいて相抵抗Ｒｕ，Ｒｖ，Ｒｗを算出する。
【００６３】
上記のようにして得られた相抵抗Ｒｕ，Ｒｖ，Ｒｗの算出値は、相抵抗算出部４３から補正部４４に与えられる（ステップＳ２０）。補正部４４は、これらの相抵抗Ｒｕ，Ｒｖ，Ｒｗの算出値を用いて既述の式（７）〜（９）に基づき相電圧指令値Ｖｕ，Ｖｖ，Ｖｗを補正する。
【００６４】
このようにして相抵抗Ｒｕ，Ｒｖ，Ｒｗを算出した後は、新たな各相電流検出値Ｉｘに基づき相抵抗Ｒｕ，Ｒｖ，Ｒｗを算出すべくステップＳ１０へ戻る。
【００６５】
なお、図５に示す処理手順による相抵抗算出部４３の動作は一例であり、相抵抗算出部４３の動作はこのような処理手順に限定されない。例えば、図５に示すステップＳ１０〜Ｓ２０の処理を所定時間間隔で実行するようにしてもよい。また、図５に示すステップＳ１０〜Ｓ２０の処理を、ブラシレスモータ１の駆動開始後に１回だけ実行してもよく、温度などの状態が変化したときに実行してもよい。
【００６６】
図５に示す動作例では、ステップＳ１２の判定結果が“Ｎｏ”で且つステップＳ１４の判定結果が“Ｙｅｓ”の場合に各相電流の検出時点における各相電圧の指令値Ｖｕｘ，Ｖｖｘ，Ｖｗｘが記憶部４２から取り出されるが、これに代えて、いずれかの相の電流検出値Ｉｘが得られる毎に、当該相電流検出値Ｉｘがゼロでないか、その絶対値が閾値Ｉｔｈよりも小さいかを判定し、当該相電流検出値Ｉｘがゼロでなく且つその絶対値が閾値Ｉｔｈよりも小さければ、式（２２ａ）（２２ｂ）または（２３ａ）（２３ｂ）または（２４ａ）（２４ｂ）に基づき、当該電流検出値Ｉｘに対応する中間的なパラメータ値Ｘａ，Ｘｂを算出するようにしてもよい（ｘ＝ｕ，ｖ，ｗ；Ｘ＝Ｕ，Ｖ，Ｗ）。
【００６７】
また、図５に示す動作例では、ステップＳ１４において、各相電流の検出値の絶対値が閾値Ｉｔｈよりも小さいか否かが判定されるが、これに代えて、各相電流の指令値の絶対値が閾値Ｉｔｈよりも小さいか否かを判定するようにしてもよい。この場合、各相電流の指令値は、指令電流算出部２１により得られるｄ軸およびｑ軸電流指令値ｉd*，ｉq*を３相交流座標軸上の値に変換することにより求めることができる。また、これらに代えて、ｄ軸およびｑ軸電流指令値ｉd*，ｉq*の絶対値または２乗和が所定の閾値よりも小さいか否かで判定するようにしてもよい。より一般的には、ブラシレスモータ１に流れる電流の大きさが所定値よりも小さいときに相抵抗Ｒｕ，Ｒｖ，Ｒｗを算出することで、電流による発熱に起因する相抵抗算出精度の低下が防止できればよい。
【００６８】
また、各相の電流値の絶対値等が所定の閾値よりも小さく発熱が小さい場合であっても、式（２２ａ）〜（２４ｂ）における各相電流値Ｉｕ，Ｉｖ，Ｉｗがゼロに近い場合には誤差が発生しやすいので、ステップＳ１４の判定に加えて、各相電流検出値の絶対値｜Ｉｕ｜，｜Ｉｖ｜，｜Ｉｗ｜が別の閾値Iｔｈ２よりも大きいか否かを判定し（ただし、Ｉｔｈ＞Ｉｔｈ２）、当該閾値Ｉｔｈ２よりも大きい場合にのみ相抵抗を算出するようにしてもよい。
【００６９】
以上のように本実施形態によれば、各相電流の検出値Ｉｘとその検出時点の各相電圧の指令値Ｖｕｘ，Ｖｖｘ，Ｖｗｘ（ｘ＝ｕ，ｖ，ｗ）とを用いて相抵抗Ｒｕ，Ｒｖ，Ｒｗが算出され、現時点の各相電圧の指令値Ｖｙが当該相の抵抗Ｒｙの値に応じて補正される（ｙ＝ｕ，ｖ，ｗ）。すなわち、これらの相抵抗Ｒｕ，Ｒｖ，Ｒｗの算出値を用いて式（７）〜（９）により各相電圧指令値Ｖｕ，Ｖｖ，Ｖｗが補正される。ここで、式（７）〜（９）は、各相電圧指令値Ｖｙのうち当該相の抵抗Ｒｙへの印加電圧に相当する部分が当該抵抗Ｒｙの値に比例するように各相電圧指令値Ｖｙが補正されることを表している（ｙ＝ｕ，ｖ，ｗ）。このような補正により、相間抵抗差が補償され、相間抵抗差に起因するトルクリップルが低減される。したがって、本実施形態に係るモータ制御装置を用いた電動パワーステアリング装置によれば、モータの出力トルクが滑らかになり、操舵フィーリングが向上する。
【００７０】
しかも本実施形態によれば、相電圧指令値の補正に使用する相抵抗Ｒｕ，Ｒｖ，Ｒｗの値は、各相電流が小さくて発熱による抵抗値の増大が小さいときに算出されるので、精度良く相抵抗Ｒｕ，Ｒｖ，Ｒｗが算出される。これにより、相電圧指令値の補正による相間抵抗差の補償がより正確に行われ、その結果、トルクリップルを十分に低減することができる。
【００７１】
＜３．第２の実施形態＞
図６は、本発明の第２の実施形態に係るモータ制御装置の構成を示すブロック図である。本実施形態に係るモータ制御装置は、第１の実施形態に係るモータ制御装置においてマイコン２０と電流センサ１４をマイコン３０と電流センサ１５に置換したものである。このモータ制御装置は、電流センサ１５が正常に動作しているときにはフィードバック制御を行い、電流センサ１５が故障したときにはオープンループ制御を行う。
【００７２】
電流センサ１５は、ブラシレスモータ１に供給される３相の駆動電流が流れる経路上に１個ずつ設けられ、３相の駆動電流を個別に検出する。電流センサ１５で検出された３相の電流値（以下、「ｕ相電流検出値Ｉｕ」、「ｖ相電流検出値Ｉｖ」および「ｗ相電流検出値Ｉｗ」という）は、マイコン３０に入力される。
【００７３】
マイコン３０は、マイコン２０に対して、３相／ｄｑ軸変換部３１、減算部３２、フィードバック制御部３３、故障監視部３４、および、指令電圧選択部３５を追加したものである。また、マイコン３０においても、上記第１の実施形態と同様に相抵抗算出部５３および補正部５４を備えているが、本実施形態では、ブラシレスモータ１に供給される３相の駆動電流が個別に検出されることから、相電流算出部４１および記憶部４２を備えていない。
【００７４】
３相／ｄｑ軸変換部３１は、電流センサ１５で検出されたｕ相電流検出値Ｉｕとｖ相電流検出値Ｉｖに基づき、次式（２７）と（２８）を用いてｄ軸電流検出値ｉd とｑ軸電流検出値ｉq を求める。
ｉd＝√２×｛Ｉｖ×ｓｉｎθ−Ｉｕ×ｓｉｎ（θ−２π／３）｝   …（２７）
ｉq＝√２×｛Ｉｖ×ｃｏｓθ−Ｉｕ×ｃｏｓ（θ−２π／３）｝   …（２８）
【００７５】
減算部３２は、ｄ軸電流指令値ｉd*とｄ軸電流検出値ｉd の偏差Ｅd 、および、ｑ軸電流指令値ｉq*とｑ軸電流検出値ｉq の偏差Ｅq を求める。フィードバック制御部３３は、偏差Ｅd 、Ｅq に対して次式（２９）と（３０）に示す比例積分演算を施して、ｄ軸電圧指令値ｖd#とｑ軸電圧指令値ｖq#を求める。
ｖd#＝Ｋ×｛Ｅd＋（１／Ｔ）∫Ｅd・ｄｔ｝  …（２９）
ｖq#＝Ｋ×｛Ｅq＋（１／Ｔ）∫Ｅq・ｄｔ｝  …（３０）
ただし、式（２９）と（３０）において、Ｋは比例ゲイン定数であり、Ｔは積分時間である。
【００７６】
故障監視部３４は、電流センサ１５で検出された３相の電流値が正常範囲内にあるか否かを調べ、電流センサ１５が正常に動作しているか、故障しているかを判断する。故障監視部３４は、３相の電流値がすべて正常範囲内にあるときには「正常」と判断し、１相以上の電流値が正常範囲外にあるときには「故障」と判断する。故障監視部３４は、判断結果を示す制御信号を出力する。
【００７７】
指令電圧選択部３５は、故障監視部３４で正常と判断されたときには、フィードバック制御部３３で求めたｄ軸電圧指令値ｖd#とｑ軸電圧指令値ｖq#を出力し、故障監視部３４で故障と判断されたときには、オープンループ制御部２２で求めたｄ軸電圧指令値ｖd とｑ軸電圧指令値ｖq を出力する。
【００７８】
電流センサ１５が正常に動作しているときには、故障監視部３４は正常と判断し、指令電圧選択部３５はフィードバック制御部３３の出力を選択する。このとき、指令電流算出部２１、ｄｑ軸／３相変換部２３、角度算出部２４、３相／ｄｑ軸変換部３１、減算部３２およびフィードバック制御部３３が動作し、フィードバック制御が行われる。これに加えて、電流センサ１５が正常に動作している間に、角速度算出部２５とΦ算出部２６も動作する。Φ算出部２６は、電流センサ１５が正常に動作している間に、式（１５）を用いて式（２）に含まれる電機子巻線鎖交磁束数Φを求める。
【００７９】
相抵抗算出部５３も、電流センサ１５が正常に動作している間に、上記第１の実施形態の場合と同様に相抵抗Ｒｕ，Ｒｖ，Ｒｗを算出する。すなわち、相抵抗算出部４３は、電流センサ１５によって検出された各相電流検出値Ｉｕ，Ｉｖ，Ｉｗと、その検出時点における補正後の相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃとに基づき、ブラシレスモータ１におけるｕ相抵抗Ｒｕ、ｖ相抵抗Ｒｖ、ｗ相抵抗Ｒｗの値を求める。ここで、ｕ相、ｖ相およびｗ相電流検出値Ｉｕ，Ｉｖ，Ｉｗは同時に検出されるものとする。このため、上記検出時点における相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃは、第１の実施形態における各相電流の検出時点の各相電圧指令値Ｖｕｘ，Ｖｖｘ，Ｖｗｘ（ｘ＝ｕ，ｖ，ｗ）に対応する。したがって、図５に示すフローチャートにおける“Ｖｕｘ，Ｖｖｘ，Ｖｗｘ（ｘ＝ｕ，ｖ，ｗ）”を“Ｖｕｃ，Ｖｖｃ，Ｖｗｃ”に置き換えれば、このフローチャートは本実施形態における動作例を示すことになるので、相抵抗算出部５３についての詳しい説明を省略する。
【００８０】
相抵抗算出部５３により得られる相抵抗Ｒｕ，Ｒｖ，Ｒｗの算出値は、補正部５４に与えられる。この補正部５４には、上記第１の実施形態の場合と同様、これらの相抵抗Ｒｕ，Ｒｖ，Ｒｗの算出値と共に、Φ算出部２６から電機子巻線鎖交磁束数Φが、角速度算出部２５から角速度ωe がそれぞれ与えられる。さらに補正部５４には、故障監視部３４での判断結果を示す制御信号も与えられる。
【００８１】
ところで、電流センサ１５が正常に動作している間は、ｄ軸電流指令値ｉd*とｄ軸電流検出値ｉd の偏差Ｅd 、および、ｑ軸電流指令値ｉq*とｑ軸電流検出値ｉq の偏差Ｅq が打ち消されるようにフィードバック制御が行われることから、通常、相間抵抗差に起因するトルクリップルの発生は問題とはならない。そこで本実施形態では、補正部５４は、故障監視部３４からの上記制御信号に基づき、電流センサ１５が正常に動作している間すなわちフィードバック制御が行われている間は、ｄｑ軸／３相変換部２３から出力される相電圧指令値Ｖｕ，Ｖｖ，Ｖｗを補正することなく、そのまま３相／ＰＷＭ変調器１２に与える。すなわち、Ｖｕ＝Ｖｕｃ，Ｖｖ＝Ｖｖｃ，Ｖｗ＝Ｖｗｃである。しかし、フィードバック制御が行われている間においても、上記相抵抗Ｒｕ，Ｒｖ，Ｒｗの算出値を使用して相電圧指令値Ｖｕ，Ｖｖ，Ｖｗを補正するようにしてもよい。
【００８２】
その後、電流センサ１５が故障すると、故障監視部３４は故障と判断し、指令電圧選択部３５は、オープンループ制御部２２の出力を選択する。このとき、指令電流算出部２１、オープンループ制御部２２、ｄｑ軸／３相変換部２３および角度算出部２４が動作し、オープンループ制御が行われる。オープンループ制御部２２は、電流センサ１５が正常に動作している間に求められたΦ値を用いて、ｄ軸電圧指令値ｖd とｑ軸電圧指令値ｖq を求める。これらのｄ軸電圧指令値ｖd とｑ軸電圧指令値ｖq は、指令電圧選択部３５を介してｄｑ軸／３相変換部２３に与えられ、そこで相電圧指令値Ｖｕ，Ｖｖ，Ｖｗに変換される。これらの相電圧指令値Ｖｕ，Ｖｖ，Ｖｗは補正部５４に与えられる。
【００８３】
補正部５４は、故障監視部３４からの制御信号に基づき、電流センサ１５が故障しているときには、上記第１の実施形態の場合と同様、相抵抗算出部５３からの相抵抗Ｒｕ，Ｒｖ，Ｒｗの算出値とΦ算出部２６からの電機子巻線鎖交磁束数Φと角速度算出部２５からの角速度ωe とを用い、既述の式（７）〜（１２）に従って相電圧指令値Ｖｕ，Ｖｖ，Ｖｗを補正する。この補正後の相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃは３相／ＰＷＭ変調器１２に与えられる。この３相／ＰＷＭ変調器１２とモータ駆動回路１３からなるモータ駆動手段は、これらの相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃの電圧によってブラシレスモータ１を駆動する。
【００８４】
以上に示すように、本実施形態に係るモータ制御装置は、電流センサが正常に動作しているときには、電流指令値と電流センサで検出された電流値との差に比例積分演算を施して電圧指令値を求め、電流センサが故障したときには、電流指令値とロータの角速度とに基づき、モータの回路方程式に従いオープンループ制御を行って電圧指令値を求める。また、オープンループ制御を行うときには、電流センサが正常に動作している間に求めたΦ値（電機子巻線鎖交磁束数Φ）が使用される。したがって、本実施形態に係るモータ制御装置によれば、電流センサが正常に動作している間は、フィードバック制御を行い、高い精度でブラシレスモータを駆動することができる。また、電流センサが故障し、フィードバック制御を行えないときには、フィードバック制御を行っている間に求めた電機子巻線鎖交磁束数Φを用いてオープンループ制御を行うことにより、高い精度でブラシレスモータを駆動し、所望のモータ出力を得ることができる。
【００８５】
また本実施形態によれば、オープンループ制御を行う場合には、電流センサが正常に動作している間に求めた相抵抗Ｒｕ，Ｒｖ，Ｒｗの値を用いて、相間抵抗差が補償されるように相電圧指令値Ｖｕ，Ｖｖ，Ｖｗが補正部５４により補正される（式（７）〜（９）参照）。このため、本実施形態に係るモータ制御装置によれば、相間抵抗差に起因するトルクリップルの発生が抑制される。したがって、電流センサが故障し、フィードバック制御を行えない場合であっても、良好な操舵フィーリングを得ることができる。
【００８６】
＜４．変形例＞
上記第１の実施形態では、電流センサ１４が１個だけ設けられているが、複数個（２個または３個）設けられていてもよい。例えばｕ相およびｖ相用電流センサが設けられている場合には、相抵抗算出部４３において相抵抗Ｒｕ，Ｒｖ，Ｒｗの算出に使用されるｕ相およびｖ相電流検出値は、これらのｕ相およびｖ相用電流センサから出力されるｕ相電流検出値Ｉｕおよびｖ相電流検出値Ｉｖを使用すればよく、ｗ相電流検出値Ｉｗは、相電流算出部４１において次式により求めればよい。
Ｉｗ＝−Ｉｕ−Ｉｖ
なお、電流センサ１４が複数個設けられている場合には、同一時点においてｕ相、ｖ相およびｗ相の電流検出値を得ることができるので、記憶部４２は必ずしも必要ではなく、電流センサ１４が３個設けられている場合（相数に等しい個数だけ設けられている場合）には、相電流算出部４１は不要となる。この場合、当該複数個の電流センサにより電流検出手段が構成される。
【００８７】
また、上記第１および第２の実施形態では、相抵抗Ｒｕ，Ｒｖ，Ｒｗに基づき式（７）〜（９）により相電圧指令値Ｖｕ，Ｖｖ，Ｖｗが補正されるが、本発明は、このような式（７）〜（９）による補正に限定されない。より一般的には、相間抵抗差を補償すべく、各相電圧指令値Ｖｘのうち当該相の抵抗Ｒｘへの印加電圧に相当する部分が当該抵抗Ｒｘの値と正の相関を有するように各相電圧指令値Ｖｘを補正すればよい（ｘ＝ｕ，ｖ，ｗ）。
【００８８】
ところで、ブラシレスモータ１のロータの角速度ωeが大きいときには、逆起電力が大きくなって相抵抗Ｒｕ，Ｒｖ，Ｒｗへの印加電圧の割合が小さくなるので、逆起電力の算出誤差の影響を受けやすくなり、相抵抗Ｒｕ，Ｒｖ，Ｒｗの算出精度が低下する。したがって、角速度ωeにつき閾値を設け、角速度ωeが当該閾値よりも小さいときにのみ相抵抗Ｒｕ，Ｒｖ，Ｒｗを算出するようにしてもよい。
【００８９】
また、上記第１および第２の実施形態に係るモータ制御装置は、３相ブラシレスモータ１を駆動するように構成されているが、本発明は、これに限定されるものではなく、４相以上のブラシレスモータを駆動するモータ制御装置にも適用可能である。
【００９０】
また、第２の実施形態に係るモータ制御装置では、故障監視部３４での判断結果によってフィードバック制御とオープンループ制御が切り替えられるが、故障監視部３４での判断以外の判断によって（例えば、運転者の選択によって）フィードバック制御とオープンループ制御を切り替えてもよい。
【００９１】
なお、本発明は、上述したコラムアシスト型の電動パワーステアリング装置だけでなく、ピニオンアシスト型やラックアシスト型の電動パワーステアリング装置にも適用できる。また、本発明は、電動パワーステアリング装置以外のモータ制御装置にも適用できる。
【図面の簡単な説明】
【００９２】
【図１】本発明の実施形態に係る電動パワーステアリング装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態に係るモータ制御装置の構成を示すブロック図である。
【図３】３相ブラシレスモータにおける３相交流座標とｄｑ座標を示す図である。
【図４】上記第１の実施形態における相抵抗の算出方法を説明するための図である。
【図５】上記第１の実施形態における相抵抗算出部の動作例を説明するためのフローチャートである。
【図６】本発明の第２の実施形態に係るモータ制御装置の構成を示すブロック図である。
【符号の説明】
【００９３】
６…ロータ、１０…ＥＣＵ、１３…モータ駆動回路、１４，１５…電流センサ（電流検出手段）、２０，３０…マイコン、２６…Φ算出部（パラメータ算出手段）、３２…減算部、３５…指令電圧選択部。
【図１】
0005315709.tif 000002
【図２】
0005315709.tif 000003
【図３】
0005315709.tif 000004
【図４】
0005315709.tif 000005
【図５】
0005315709.tif 000006
【図６】
0005315709.tif 000007