(57)【特許請求の範囲】
【請求項１】
ブラシレスモータを駆動するためのモータ制御装置であって、
前記ブラシレスモータに印加すべき各相電圧を示す指令値を求め、当該指令値を駆動指令値として出力する制御演算手段と、
前記駆動指令値を補正する補正手段と、
前記補正手段による補正後の駆動指令値に基づき前記ブラシレスモータを駆動する駆動手段と、
電流推定手段と、
電流検出手段とを備え、
前記駆動手段は、互いに直列に接続された２個のスイッチング素子からなるスイッチング素子対を前記ブラシレスモータの相数だけ電源端子と接地端子との間に並列に接続して構成され、各相に対応する前記２個のスイッチング素子の接続点が出力端として前記ブラシレスモータに接続されるインバータを含み、
前記補正手段は、前記電源端子から前記インバータの出力端までの経路の各相の抵抗成分である上段アーム抵抗と当該出力端から前記接地端子までの経路の各相の抵抗成分である下段アーム抵抗とに基づき、前記駆動指令値を相毎に補正し、
前記電流推定手段は、前記インバータから前記ブラシレスモータに供給されるべき電流を推定し、
前記電流検出手段は、前記インバータから前記ブラシレスモータに供給される電流を検出し、
前記補正手段は、
前記電流推定手段により得られる電流推定値と前記電流検出手段により得られる電流検出値との比に基づき、前記上段および下段アーム抵抗の少なくとも一方の抵抗値を補正する抵抗値補正手段と、
前記抵抗値補正手段による補正後の抵抗値に基づき、前記駆動指令値が示す電圧に対する前記出力端における電圧のずれが補償されるように前記駆動指令値を相毎に補正する指令値補正手段と
を含むことを特徴とする、モータ制御装置。
【請求項２】
ブラシレスモータを駆動するためのモータ制御装置であって、
前記ブラシレスモータに印加すべき各相電圧を示す指令値を求め、当該指令値を駆動指令値として出力する制御演算手段と、
前記駆動指令値を補正する補正手段と、
前記補正手段による補正後の駆動指令値に基づき前記ブラシレスモータを駆動する駆動手段と、
電圧検出手段とを備え、
前記駆動手段は、互いに直列に接続された２個のスイッチング素子からなるスイッチング素子対を前記ブラシレスモータの相数だけ電源端子と接地端子との間に並列に接続して構成され、各相に対応する前記２個のスイッチング素子の接続点が出力端として前記ブラシレスモータに接続されるインバータを含み、
前記補正手段は、前記電源端子から前記インバータの出力端までの経路の各相の抵抗成分である上段アーム抵抗と当該出力端から前記接地端子までの経路の各相の抵抗成分である下段アーム抵抗とに基づき、前記駆動指令値を相毎に補正し、
前記電圧検出手段は、前記インバータの前記出力端における少なくとも１相の電圧を検出し、
前記補正手段は、
前記電圧検出手段により得られる前記電圧を検出した相の電圧検出値と前記インバータから前記ブラシレスモータに供給される前記電圧を検出した相の電流を示す電流値とに基づき、前記上段および下段アーム抵抗の抵抗値を算出する抵抗値算出手段と、
前記抵抗値算出手段により算出される抵抗値に基づき、前記駆動指令値が示す電圧に対する前記出力端における電圧のずれが補償されるように前記駆動指令値を相毎に補正する指令値補正手段と
を含むことを特徴とする、モータ制御装置。
【請求項３】
ブラシレスモータを駆動するためのモータ制御装置であって、
前記ブラシレスモータに印加すべき各相電圧を示す指令値を求め、当該指令値を駆動指令値として出力する制御演算手段と、
前記駆動指令値を補正する補正手段と、
前記補正手段による補正後の駆動指令値に基づき前記ブラシレスモータを駆動する駆動手段とを備え、
前記駆動手段は、互いに直列に接続された２個のスイッチング素子からなるスイッチング素子対を前記ブラシレスモータの相数だけ電源端子と接地端子との間に並列に接続して構成され、各相に対応する前記２個のスイッチング素子の接続点が出力端として前記ブラシレスモータに接続されるインバータを含み、
前記補正手段は、前記電源端子から前記インバータの出力端までの経路の各相の抵抗成分である上段アーム抵抗と当該出力端から前記接地端子までの経路の各相の抵抗成分である下段アーム抵抗との差により生じる前記出力端における電圧のずれが補償されるように、前記駆動指令値に応じて前記駆動指令値を相毎に補正し、
前記補正手段は、
前記ブラシレスモータに印加すべき相電圧の指令値と補正量との対応関係を示す補正マップを記憶している記憶手段と、
前記制御演算手段から出力される駆動指令値に前記補正マップによって対応付けられる補正量に応じて当該駆動指令値を相毎に補正することにより前記補正後の駆動指令値を算出する補正演算手段と
を含むことを特徴とする、モータ制御装置。
【請求項４】
車両のステアリング機構にブラシレスモータによって操舵補助力を与える電動パワーステアリング装置であって、
請求項１から３のいずれか１項に記載のモータ制御装置を備え、
前記モータ制御装置は、前記ステアリング機構に操舵補助力を与えるブラシレスモータを駆動することを特徴とする、電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブラシレスモータを駆動するためのモータ制御装置、および、そのようなモータ制御装置を備えた電動パワーステアリング装置に関する。
【背景技術】
【０００２】
従来から、運転者がハンドル（ステアリングホイール）に加える操舵トルクに応じて電動モータを駆動することにより車両のステアリング機構に操舵補助力を与える電動パワーステアリング装置が用いられている。電動パワーステアリング装置の電動モータには従来からブラシモータが広く使用されているが、信頼性および耐久性の向上や慣性の低減などの観点から、近年ではブラシレスモータも使用されている。
【０００３】
このような操舵補助用のブラシレスモータは、電子制御ユニット（Electronic Control Unit ：以下「ＥＣＵ」という）に内蔵されたモータ駆動回路によって駆動される。電動パワーステアリング装置では、小型化や高効率化、低コスト化が要請されることから、このＥＣＵとブラシレスモータの一体化等につき種々の提案がなされている。
【０００４】
ところで、ブラシレスモータおよび駆動回路を含むモータ・駆動回路系において抵抗成分につき相間で差があると、モータの出力トルクにおけるリップル（「トルクリップル」と呼ばれる）の発生が問題となる。特に電動パワーステアリング装置では、操舵フィーリング向上の観点からモータの出力トルクの滑らかさが重要視されるので、このようなトルクリップルの発生を抑制することが求められている。
【０００５】
これに対し、電動パワーステアリング装置において、ブラシレスモータおよび駆動回路を含むモータ・駆動回路系における抵抗成分の各相間での差（以下「相間抵抗差」という）が所定値以下になるように、当該モータ・駆動回路系における抵抗成分を調整する抵抗調整手段を備えるという構成が提案されている（例えば特許文献１の段落［０１３９］〜［０１４３］、［０１５７］〜［０１６１］参照）。
【特許文献１】特開２００５−３１９９７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、モータ・駆動回路系における相間抵抗差を解消するために抵抗を付加すると、ブラシレスモータの駆動における効率や応答性の低下を招くことになる。このため、モータの駆動回路を実装する回路基板（以下「モータ駆動回路基板」という）において、モータ・駆動回路系における相間抵抗差が解消されるように配線パターンを形成するのが好ましい。
【０００７】
ところが、トルクリップルが十分に低減されるように配線パターンを形成しようとすると、上記モータ駆動回路基板における回路パターンが複雑化し、回路パターン形成のためのスペースが増大する。すなわち、モータ駆動回路基板において、電源端子から接地端子に到るまでの経路の配線抵抗が相間で揃うように配線パターンを設計することは可能であるが、配線抵抗をモータ駆動に影響しない程度に十分に小さくすることや、モータ駆動回路を構成するスイッチング素子を対称に配置することは困難である。このため、電源端子からモータ駆動回路の出力端までの抵抗成分（以下「上段アーム抵抗」という）と当該出力端から接地端子までの抵抗成分（以下「下段アーム抵抗」という）とが揃うように配線パターンを形成しようとすると、回路パターンが複雑化すると共に回路パターン形成のために大きなスペースが必要となり、基板サイズが増大する。その結果、電動パワーステアリング装置において、ＥＣＵ内での基板占有面積が大きくなり、小型化等の上記要請に反することになる。
【０００８】
また、モータ駆動回路基板において上段アーム抵抗と下段アーム抵抗とが揃うように回路パターンが形成されたとしても、これら上段および下段アーム抵抗の抵抗値を十分に小さくできない場合には、モータへの実際の印加電圧と本来印加すべき電圧との間に誤差を生じる。この場合、正確に狙い通りにモータを駆動制御できず、特に、オープンループ制御によりモータを駆動する場合には、目標通りの電流をモータに流せないことになる。
【０００９】
それ故に、本発明の目的は、ブラシレスモータの駆動回路を実装する回路基板のサイズの増大を抑制しつつトルクリップルを低減することができるモータ制御装置を提供することである。本発明の他の目的は、当該回路基板のサイズの増大を抑制しつつ、当該駆動回路に含まれる抵抗成分（各相の上段および下段アーム抵抗）に起因するブラシレスモータへの印加電圧の誤差を抑制できるモータ制御装置を提供することである。本発明の更に他の目的は、そのようなモータ制御装置を備えた電動パワーステアリング装置を提供することである。
【課題を解決するための手段】
【００１０】
第１の発明は、ブラシレスモータを駆動するためのモータ制御装置であって、
前記ブラシレスモータに印加すべき各相電圧を示す指令値を求め、当該指令値を駆動指令値として出力する制御演算手段と、
前記駆動指令値を補正する補正手段と、
前記補正手段による補正後の駆動指令値に基づき前記ブラシレスモータを駆動する駆動手段と、
電流推定手段と、
電流検出手段とを備え、
前記駆動手段は、互いに直列に接続された２個のスイッチング素子からなるスイッチング素子対を前記ブラシレスモータの相数だけ電源端子と接地端子との間に並列に接続して構成され、各相に対応する前記２個のスイッチング素子の接続点が出力端として前記ブラシレスモータに接続されるインバータを含み、
前記補正手段は、前記電源端子から前記インバータの出力端までの経路の各相の抵抗成分である上段アーム抵抗と当該出力端から前記接地端子までの経路の各相の抵抗成分である下段アーム抵抗とに基づき、前記駆動指令値を相毎に補正し、
前記電流推定手段は、前記インバータから前記ブラシレスモータに供給されるべき電流を推定し、
前記電流検出手段は、前記インバータから前記ブラシレスモータに供給される電流を検出し、
前記補正手段は、
前記電流推定手段により得られる電流推定値と前記電流検出手段により得られる電流検出値との比に基づき、前記上段および下段アーム抵抗の少なくとも一方の抵抗値を補正する抵抗値補正手段と、
前記抵抗値補正手段による補正後の抵抗値に基づき、前記駆動指令値が示す電圧に対する前記出力端における電圧のずれが補償されるように前記駆動指令値を相毎に補正する指令値補正手段とを含むことを特徴とする。
第２の発明は、ブラシレスモータを駆動するためのモータ制御装置であって、
前記ブラシレスモータに印加すべき各相電圧を示す指令値を求め、当該指令値を駆動指令値として出力する制御演算手段と、
前記駆動指令値を補正する補正手段と、
前記補正手段による補正後の駆動指令値に基づき前記ブラシレスモータを駆動する駆動手段と、
電圧検出手段とを備え、
前記駆動手段は、互いに直列に接続された２個のスイッチング素子からなるスイッチング素子対を前記ブラシレスモータの相数だけ電源端子と接地端子との間に並列に接続して構成され、各相に対応する前記２個のスイッチング素子の接続点が出力端として前記ブラシレスモータに接続されるインバータを含み、
前記補正手段は、前記電源端子から前記インバータの出力端までの経路の各相の抵抗成分である上段アーム抵抗と当該出力端から前記接地端子までの経路の各相の抵抗成分である下段アーム抵抗とに基づき、前記駆動指令値を相毎に補正し、
前記電圧検出手段は、前記インバータの前記出力端における少なくとも１相の電圧を検出し、
前記補正手段は、
前記電圧検出手段により得られる前記電圧を検出した相の電圧検出値と前記インバータから前記ブラシレスモータに供給される前記電圧を検出した相の電流を示す電流値とに基づき、前記上段および下段アーム抵抗の抵抗値を算出する抵抗値算出手段と、
前記抵抗値算出手段により算出される抵抗値に基づき、前記駆動指令値が示す電圧に対する前記出力端における電圧のずれが補償されるように前記駆動指令値を相毎に補正する指令値補正手段とを含むことを特徴とする。
第３の発明は、ブラシレスモータを駆動するためのモータ制御装置であって、
前記ブラシレスモータに印加すべき各相電圧を示す指令値を求め、当該指令値を駆動指令値として出力する制御演算手段と、
前記駆動指令値を補正する補正手段と、
前記補正手段による補正後の駆動指令値に基づき前記ブラシレスモータを駆動する駆動手段とを備え、
前記駆動手段は、互いに直列に接続された２個のスイッチング素子からなるスイッチング素子対を前記ブラシレスモータの相数だけ電源端子と接地端子との間に並列に接続して構成され、各相に対応する前記２個のスイッチング素子の接続点が出力端として前記ブラシレスモータに接続されるインバータを含み、
前記補正手段は、前記電源端子から前記インバータの出力端までの経路の各相の抵抗成分である上段アーム抵抗と当該出力端から前記接地端子までの経路の各相の抵抗成分である下段アーム抵抗とに基づき、前記上段アーム抵抗と前記下段アーム抵抗との差により生じる前記出力端における電圧のずれが補償されるように、前記駆動指令値に応じて前記駆動指令値を相毎に補正し、
前記補正手段は、
前記ブラシレスモータに印加すべき相電圧の指令値と補正量との対応関係を示す補正マップを記憶している記憶手段と、
前記制御演算手段から出力される駆動指令値に前記補正マップによって対応付けられる補正量に応じて当該駆動指令値を相毎に補正することにより前記補正後の駆動指令値を算出する補正演算手段とを含むことを特徴とする。
【００１６】
第４の発明は、車両のステアリング機構にブラシレスモータによって操舵補助力を与える電動パワーステアリング装置であって、
第１〜第３の発明のいずれかに係るモータ制御装置を備え、
前記モータ制御装置は、前記ステアリング機構に操舵補助力を与えるブラシレスモータを駆動することを特徴とする。
【発明の効果】
【００１７】
上記第１、第２、または第３の発明のいずれの発明によっても、ブラシレスモータに印加すべき電圧を示す駆動指令値が、インバータにおける上段アーム抵抗および下段アーム抵抗に基づき相毎に補正され、これにより、当該上段および下段アーム抵抗による電圧降下によって生じる当該出力端における電圧のずれが補償される。このため、インバータの回路基板サイズの増大を抑制しつつ、補正前の駆動指令値が示す本来の電圧を精度よくブラシレスモータに印加することができる。また、これにより、インバータにおいて上段アーム抵抗と下段アーム抵抗との差に起因するトルクリップルの発生を抑制することができる。
また、上記第１の発明によれば、電流推定値と電流検出値との比に基づき上段および下段アーム抵抗の少なくとも一方の抵抗値が補正され、当該補正後の抵抗値に基づき、インバータの出力端における電圧のずれが補償されるように駆動指令値が相毎に補正される。これにより、電子部品等の特性バラツキや温度変化によって上段アーム抵抗や下段アーム抵抗の抵抗値がばらついたり変動したりしても、本来印加すべき電圧を精度よくブラシレスモータに印加し、トルクリップルを抑制することができる。
また、上記第２の発明によれば、インバータの出力端における少なくとも１相の電圧が検出され、当該出力端における電圧が検出された相の電圧検出値とインバータからブラシレスモータに供給される電圧が検出された相の電流を示す電流値とに基づき、上段および下段アーム抵抗の抵抗値が算出され、当該算出された抵抗値に基づき、インバータの出力端における電圧のずれが補償されるように駆動指令値が相毎に補正される。これにより、電子部品等の特性のバラツキや温度変化によって上段アーム抵抗や下段アーム抵抗の抵抗値がばらついたり変動したりしても、本来印加すべき電圧を精度よくブラシレスモータに印加し、トルクリップルを抑制することができる。
また、上記第３の発明によれば、ブラシレスモータに印加すべき電圧を示す駆動指令値に応じて相毎に当該駆動指令値が補正されることにより、インバータにおける上段アーム抵抗と下段アーム抵抗とに差がある場合であっても、当該駆動指令値に応じた相電圧が精度よくブラシレスモータに印加される。これにより、インバータにおいて上段アーム抵抗と下段アーム抵抗との差に起因するトルクリップルの発生が抑制される。また、ブラシレスモータに印加すべき電圧を示す駆動指令値は、インバータの出力端における電圧ずれが補償されるように相毎に補正されるので、相間抵抗差が存在する場合であっても、ブラシレスモータに印加される相電圧の相間での不均衡化が抑制される。これにより、相間抵抗差に起因するトルクリップルの発生も低減できる。したがって、トルクリップルを低減すべくインバータの上段アームと下段アームの間または相間で抵抗成分が揃うように配線パターンを形成しようとするとインバータの回路基板サイズの増大を招くが、上記第５の発明によれば、駆動指令値を上述のように補正することで、回路基板サイズの増大を抑えつつトルクリップルを低減することができる。より具体的には、上記第３の発明によれば、ブラシレスモータに印加すべき相電圧の指令値と補正量との対応関係を示す補正マップが用意されており、それらの補正マップに基づき駆動指令値が相毎に補正されることにより、上記の効果が得られる。なお、このような補正マップは、ブラシレスモータとモータ制御装置からなるシステムについての計算機シミュレーションにより、または、モータ・駆動回路系についての１相分の等価回路に基づく簡易計算により、作成することができる。すなわち、インバータの上段アーム抵抗および下段アーム抵抗やブラシレスモータの相抵抗の設計値または実測値を用いて、当該計算機シミュレーションまたは当該等価回路に基づく簡易計算により当該インバータの各相の出力端における電圧ずれ（または当該インバータのデューティ比と電圧ずれとの関係）を求め、その電圧ずれ等に基づき補正マップを作成することができる。
【００２３】
上記第４の発明によれば、ブラシレスモータ駆動用のインバータの回路基板サイズの増大を抑えつつトルクリップルを低減できるので、電動パワーステアリング装置における小型化や高効率化等の要請に応えつつ操舵フィーリングを向上させることができる。
【発明を実施するための最良の形態】
【００２４】
＜１．電動パワーステアリング装置＞
図１は、本発明に係るモータ制御装置を用いた電動パワーステアリング装置の構成を、それに関連する車両の構成と共に示す概略図である。図１に示す電動パワーステアリング装置は、ブラシレスモータ１、減速機２、トルクセンサ３、車速センサ４、位置検出センサ５、および、モータ制御装置としての電子制御ユニット（ＥＣＵ）１０を備えたコラムアシスト型の電動パワーステアリング装置である。
【００２５】
図１に示すように、ステアリングシャフト１０２の一端にはハンドル（ステアリングホイール）１０１が固着されており、ステアリングシャフト１０２の他端はラックピニオン機構１０３を介してラック軸１０４に連結されている。ラック軸１０４の両端は、タイロッドおよびナックルアームからなる連結部材１０５を介して車輪１０６に連結されている。運転者がハンドル１０１を回転させると、ステアリングシャフト１０２は回転し、これに伴いラック軸１０４は往復運動を行う。ラック軸１０４の往復運動に伴い、車輪１０６の向きが変わる。
【００２６】
電動パワーステアリング装置は、運転者の負荷を軽減するために、以下に示す操舵補助を行う。トルクセンサ３は、ハンドル１０１の操作によってステアリングシャフト１０２に加えられる操舵トルクＴｓを検出する。車速センサ４は、車速Ｓを検出する。位置検出センサ５は、ブラシレスモータ１のロータの回転位置Ｐを検出する。位置検出センサ５は、例えばレゾルバで構成される。
【００２７】
ＥＣＵ１０は、車載バッテリ１００から電力の供給を受け、操舵トルクＴｓ、車速Ｓおよび回転位置Ｐに基づきブラシレスモータ１を駆動する。ブラシレスモータ１は、ＥＣＵ１０によって駆動されると、操舵補助力を発生させる。減速機２は、ブラシレスモータ１とステアリングシャフト１０２との間に設けられる。ブラシレスモータ１で発生した操舵補助力は、減速機２を介して、ステアリングシャフト１０２を回転させるように作用する。
【００２８】
この結果、ステアリングシャフト１０２は、ハンドル１０１に加えられる操舵トルクと、ブラシレスモータ１で発生した操舵補助力の両方によって回転する。このように電動パワーステアリング装置は、ブラシレスモータ１で発生した操舵補助力を車両のステアリング機構に与えることにより操舵補助を行う。
【００２９】
＜２．第１の実施形態＞
＜２．１  モータ制御装置の構成＞
図２は、本発明の第１の実施形態に係るモータ制御装置の構成を示すブロック図である。図２に示すモータ制御装置は、ＥＣＵ１０を用いて構成されており、ｕ相、ｖ相およびｗ相の３相巻線（図示せず）を有するブラシレスモータ１を駆動する。ＥＣＵ１０は、マイクロコンピュータ（以下「マイコン」と略称する）２０、３相／ＰＷＭ（Pulse Width Modulation）変調器４１、モータ駆動回路４３、および、電流センサ４５を備えている。
【００３０】
ＥＣＵ１０には、トルクセンサ３から出力された操舵トルクＴｓ、車速センサ４から出力された車速Ｓ、および、位置検出センサ５から出力された回転位置Ｐが入力される。マイコン２０は、ブラシレスモータ１の駆動に用いられる電圧指令値を求める制御手段として機能する。マイコン２０の機能の詳細については、後述する。
【００３１】
３相／ＰＷＭ変調器４１とモータ駆動回路４３は、ハードウェア（回路）で構成されており、マイコン２０で求めた電圧指令値の電圧を用いてブラシレスモータ１を駆動するモータ駆動手段として機能する。３相／ＰＷＭ変調器４１は、マイコン２０で求めた３相の電圧指令値に応じたデューティ比を有する３種類のＰＷＭ信号（図２に示すＵ、Ｖ、Ｗ）を生成する。モータ駆動回路４３は、スイッチング素子として６個のＭＯＳ−ＦＥＴ（Metal Oxide Semiconductor Field Effect Transistor ）を含むＰＷＭ電圧形インバータ回路である。６個のＭＯＳ−ＦＥＴは、３種類のＰＷＭ信号とその否定信号によって制御される。すなわち、モータ駆動回路４３において各相に対し２個ずつＭＯＳ−ＦＥＴが割り当てられており、当該２個のＭＯＳ−ＦＥＴは互いに直列に接続されてスイッチング素子対をなし、このようなスイッチング素子対が電源端子と接地端子との間に相数だけ並列に接続されることによりインバータが構成される。そして、各相に対応する２個のＭＯＳ−ＦＥＴ（スイッチング素子対）の接続点は、インバータにおける当該相の出力端としてブラシレスモータ１に接続される。各相に２個ずつ対応するＭＯＳ−ＦＥＴの導通状態が当該相に対応する２つのＰＷＭ信号（互いに反転関係にある２つのＰＷＭ信号）によって制御され、これによりｕ相、ｖ相、ｗ相の出力端Ｎｕ，Ｎｖ，Ｎｗに得られる電圧が、それぞれｕ相電圧、ｖ相電圧およびｗ相電圧としてブラシレスモータ１に印加される。このようにしてブラシレスモータ１に電圧が印加されることにより、モータ駆動回路４３からｕ相電流、ｖ相電流およびｗ相電流がブラシレスモータ１に供給される。
【００３２】
電流センサ４５は、ブラシレスモータ１に供給されるｕ相電流およびｖ相電流を示す検出信号を出力し、これらの検出信号はマイコン２０に入力される。
【００３３】
マイコン２０は、ＥＣＵ１０に内蔵されたメモリ（図示せず）に格納されたプログラムを実行することにより、ｑ軸電流指令値決定部２１、ｄ軸電流指令値決定部２２、減算器２３，２４、ｑ軸電流ＰＩ制御部３１、ｄ軸電流ＰＩ制御部３２、第１座標変換部３３、第２座標変換部３４、補正演算部３６、補正記憶部３７、電流検出部１４、および角度算出部１５として機能する。なお、ｑ軸電流指令値決定部２１とｄ軸電流指令値決定部２２と減算器２３，２４とｑ軸電流ＰＩ制御部３１とｄ軸電流ＰＩ制御部３２と第１および第２座標変換部３３，３４と電流検出部１４と角度算出部１５は、ブラシレスモータ１に印加すべき相電圧を示す相電圧指令値Ｖｕ，Ｖｖ，Ｖｗを駆動指令値として求める制御演算手段を構成する。また、補正演算部３６は、ブラシレスモータ１のｕ，ｖ，ｗ相にそれぞれ対応した３個の加算器３６ｕ，３６ｖ，３６ｗからなり、補正記憶部３７は、ｕ相，ｖ相およびｗ相補正マップ３７ｕ，３７ｖ，３７ｗを格納している。そして、このような補正演算部３６と補正記憶部３７は、上記の相電圧指令値Ｖｕ，Ｖｖ，Ｖｗを補正する補正手段を構成する。
【００３４】
マイコン２０は、以下に示すように、ブラシレスモータ１に供給すべき電流を示す電流指令値とブラシレスモータ１のロータの回転角（電気角）とに基づき、モータ駆動回路４３に与えるべき電圧を示す相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃを求める。なお以下におて、便宜上、ｕ相，ｖ相およびｗ相のうち任意の１つの相に着目して説明する場合には、その着目した相を「ｘ相」として言及するものとする（他の実施形態においても同様）。
【００３５】
ｑ軸電流指令値決定部２１は、トルクセンサ３によって検出された操舵トルクＴｓと車速センサ４によって検出された車速Ｓとに基づき、ブラシレスモータ１に供給すべき電流のｑ軸成分を示すｑ軸電流指令値ｉq*を決定する。このｑ軸電流指令値ｉ*qは、ブラシレスモータ１が発生すべきトルクに対応する電流値であり、減算器２３に入力される。一方、ｄ軸電流指令値決定部２２は、ブラシレスモータ１に供給すべき電流のｄ軸成分を示すｄ軸電流指令値ｉd*を決定する。ブラシレスモータ１に流れる電流のｄ軸成分は、トルクに関与しないので、典型的にはｉd*＝０である。このｄ軸電流指令値ｉd*は減算器２４に入力される。
【００３６】
電流検出部１４は、電流センサ４５からの検出信号に基づき、モータ駆動回路４３からブラシレスモータ１に供給される電流のうちｕ相電流およびｖ相電流の検出値をそれぞれｕ相電流検出値Ｉｕおよびｖ相電流検出値Ｉｖとして出力する。これらのｕ相およびｖ相電流検出値Ｉｕ，Ｉｖは、第１座標変換部３３に与えられる。また、角度算出部１５は、位置検出センサ５で検出した回転位置Ｐに基づき、ブラシレスモータ１のロータの回転位置を示す電気角θを求める。この電気角θは、第１および第２座標変換部３３，３４に与えられる。なお、図３に示すようにブラシレスモータ１に対してｕ軸、ｖ軸およびｗ軸を設定し、ブラシレスモータ１のロータ６に対してｄ軸およびｑ軸を設定したとき、ｕ軸とｄ軸のなす角が電気角θとなる。
【００３７】
第１座標変換部３３は、電気角θを用い次式（１）および（２）に従って、上記のｕ相およびｖ相電流検出値Ｉｕ，Ｉｖをｄｑ座標上の値であるｑ軸およびｄ軸電流検出値ｉq，ｉdに変換する。
ｉd＝√２×｛Ｉｖ×ｓｉｎθ−Ｉｕ×ｓｉｎ（θ−２π／３）｝   …（１）
ｉq＝√２×｛Ｉｖ×ｃｏｓθ−Ｉｕ×ｃｏｓ（θ−２π／３）｝   …（２）
このようにして得られたｑ軸およびｄ軸電流検出値ｉq，ｉdは減算器２３，２４にそれぞれ入力される。
【００３８】
減算器２３は、ｑ軸電流指令値ｉ*qとｑ軸電流検出値ｉqとの偏差であるｑ軸電流偏差（ｉ*q−ｉq）を算出し、ｑ軸電流ＰＩ制御部３１は、このｑ軸電流偏差（ｉ*q−ｉq）に対する比例積分制御演算によってｑ軸電圧指令値ｖqを求める。減算器２４は、ｄ軸電流指令値ｉ*dとｄ軸電流検出値ｉdとの偏差であるｄ軸電流偏差（ｉ*d−ｉd）を算出し、ｄ軸電流ＰＩ制御部３２は、このｄ軸電流偏差（ｉ*d−ｉd）に対する比例積分制御演算によってｄ軸電圧指令値ｖdを求める。このようにして求められたｑ軸およびｄ軸電圧指令値ｖq，ｖdは、第２座標変換部３４に入力される。
【００３９】
第２座標変換部３４は、電気角θを用い次式（３）〜（５）に従って、上記のｑ軸およびｄ軸電圧指令値ｖq，ｖdを３相交流座標上の値である相電圧指令値Ｖｕ，Ｖｖ，Ｖｗに変換する（以下では、これらの相電圧指令値Ｖｕ，Ｖｖ，Ｖｗを、それぞれ「ｕ相電圧指令値Ｖｕ」、「ｖ相電圧指令値Ｖｖ」、「ｗ相電圧指令値Ｖｗ」ともいう）。
Ｖｕ＝√（２／３）×｛ｖd×ｃｏｓθ−ｖq×ｓｉｎθ｝   …（３）
Ｖｖ＝√（２／３）×｛ｖd×ｃｏｓ（θ−２π／３）
−ｖq×ｓｉｎ（θ−２π／３）｝     …（４）
Ｖｗ＝−Ｖｕ−Ｖｖ                                     …（５）
これらの相電圧指令値Ｖｕ，Ｖｖ，Ｖｗは、補正演算部３６の加算器３６ｕ，３６ｖ，３６ｗにそれぞれ与えられると共に、補正記憶部３７に格納されたｕ相、ｖ相およびｗ相補正マップ３７ｕ，３７ｖ，３７ｗにそれぞれ与えられる。
【００４０】
ｘ相補正マップ３７ｘ（ｘ＝ｕ，ｖ，ｗ）は、ｘ相の電圧指令値と当該電圧指令値に必要な補正量とを対応づけるためのマップである。ｘ相補正マップ３７ｘによりｘ相電圧指令値Ｖｘに対応する補正量が得られ、これらの補正量は補正演算部３６におけるｘ相に対応する加算器３６ｘにそれぞれ与えられる（ｘ＝ｕ，ｖ，ｗ）。
【００４１】
補正演算部３６において、ｘ相に対応する加算器３６ｘは、ｘ相補正マップ３７ｘにより得られる補正量をｘ相電圧指令値Ｖｘに加算することにより当該ｘ相電圧指令値Ｖｘを補正する（ｘ＝ｕ，ｖ，ｗ）。このようにして得られた補正後のｕ相、ｖ相およびｗ相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃは３相／ＰＷＭ変調器４１に与えられる。
【００４２】
既述のように３相／ＰＷＭ変調器４１は、これらの補正後の相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃに応じたデューティ比を有する３種類のＰＷＭ信号Ｕ，Ｖ，Ｗとその否定信号を生成する。モータ駆動回路４３は、これら３種類のＰＷＭ信号とその否定信号によって制御されることにより、ブラシレスモータ１に対して３相の駆動電流（ｕ相電流、ｖ相電流およびｗ相電流）が供給される。これによりブラシレスモータ１が回転し、トルクを発生する。
【００４３】
なお、モータ駆動回路４３からブラシレスモータ１への電流経路のうちｕ相およびｖ相の電流経路には電流センサ４５が挿入されており、この電流センサ４５は、既述のように、ブラシレスモータ１に供給されるｕ相およびｖ相電流を示す検出信号を出力する。また、ブラシレスモータ１のロータの回転位置Ｐは、既述のように、位置検出センサ５によって検出される。ｕ相およびｖ相電流を示す検出信号および回転位置Ｐを示す検出信号は、マイコン２０に入力され、上記のようにブラシレスモータ１の駆動制御に使用される。
【００４４】
＜２．２  相電圧指令値の補正について＞
ブラシレスモータ１の出力トルクに含まれるリップル（トルクリップル）を抑制すべく、モータ・駆動回路系において相間抵抗差が生じないようにモータ駆動回路基板（モータ駆動回路４３が実装される回路基板）の回路パターンを形成するのが好ましい。しかし、電源端子から接地端子に到るまでの経路の抵抗成分に相間で差が生じないように配線パターンを形成しても、各相につき、電源端子からモータ駆動回路４３の出力端までの経路の抵抗成分（以下「上段アーム抵抗」という）と当該出力端から接地端子までの経路の抵抗成分（以下「下段アーム抵抗」という）との間に差がある場合には、トルクリップルが発生する。これに対し、モータ・駆動回路系において相間抵抗差が生じないようにするだけでなく、各相につき上段アーム抵抗と下段アーム抵抗とが等しくなるように配線パターンを形成しようとすると、モータ駆動回路基板における回路パターンが複雑化し、回路パターン形成のためのスペースが増大する。
【００４５】
そこで本実施形態では、モータ駆動回路基板の面積の増大を抑えるべく、各相につき上段アーム抵抗と下段アーム抵抗との間に生じる差（以下、「上下段抵抗差」という）を許容している。そして、トルクリップルの発生を抑制すべく上下段抵抗差が相毎に補償されるように、上記補正演算部３６および補正記憶部３７からなる補正手段によって相電圧指令値Ｖｕ，Ｖｖ，Ｖｗが補正される。以下、この補正手段による補正の詳細について説明する。
【００４６】
本実施形態では、上下段抵抗差を補償するために補正演算部３６において相電圧指令値Ｖｕ，Ｖｖ，Ｖｗに加算すべき補正量は、相毎に用意された補正マップを参照して求められる。すなわち、ｕ相、ｖ相およびｗ相電圧指令値Ｖｕ，Ｖｖ，Ｖｗに加算される補正量は、ｕ相、ｖ相およびｗ相補正マップ３７，３７ｖ，３７ｗによって当該ｕ相、ｖ相およびｗ相電圧指令値Ｖｕ，Ｖｖ，Ｖｗにそれぞれ対応付けられた補正量である。このようなｕ相、ｖ相およびｗ相補正マップ３７ｕ，３７ｖ，３７ｗは、相電圧指令値と補正量との具体的な対応の仕方が異なるように設定することが可能であるが、いずれの補正マップもその作成方法や利用方法は同様である。そこで以下では、ｕ相、ｖ相およびｗ相をｘ相で代表させて説明する。
【００４７】
図４は、本実施形態におけるｘ相補正マップ３７ｘの作成を説明するための回路図であり、モータ駆動回路４３およびブラシレスモータ１からなるモータ・駆動回路系の回路構成を示している。電源端子Ｎｐｗからｘ相の出力端Ｎｘまでの抵抗成分すなわちｘ相の上段アーム抵抗は、その上段アームにおけるスイッチング素子（ＦＥＴ）のオン抵抗と配線抵抗からなり、ｘ相の出力端Ｎｘから接地端子Ｎｇｄまでの抵抗成分すなわちｘ相の下段アーム抵抗は、その下段アームにおけるスイッチング素子（ＦＥＴ）のオン抵抗と配線抵抗からなる。なお、図４では示されていないが、ブラシレスモータ１が回転している場合には、ブラシレスモータ１の各相には逆起電力が発生する。以下、この図４を参照して、ｘ相補正マップの作成について説明する（ｘ＝ｕ，ｖ，ｗ）。
【００４８】
モータ駆動回路４３が実装される回路基板（モータ駆動回路基板）において、電源端子Ｎｐｗから接地端子Ｎｇｄに到るまでの経路の抵抗成分が相間で等しくなるように配線パターンが形成されていても、ｘ相につき上段アーム抵抗Ｒhxと下段アーム抵抗Ｒlxとの間に差（上下段抵抗差）が存在すると、出力端Ｎｘの電圧Ｖｘａが本来の電圧からずれる。本実施形態では、この電圧ずれを補償するためのｘ相電圧指令値Ｖｘの補正量がｘ相補正マップ３７ｘによって与えられる。
【００４９】
モータ駆動回路４３のｘ相の出力端Ｎｘの電圧Ｖｘａは、モータ駆動回路４３に供給される直流電源の電圧をＶｂとし、ｘ相の上段アームのスイッチング素子のオン期間の比率であるデューティ比をＤｘで示すものとすると、理想的（Ｒhx＝Ｒlx＝０の場合）には、
Ｖｘａ＝Ｄｘ・Ｖｂ    …（６）
となる。しかし実際には、上段アーム抵抗Ｒhxおよび下段アーム抵抗Ｒlxはゼロでない値を有しており、Ｒhx≠０，Ｒlx≠０であるので、出力端の電圧Ｖｘａは、上記式（６）で与えられる値Ｄｘ・Ｖｂからずれる。なお以下では、上段アーム抵抗Ｒhxおよび下段アーム抵抗Ｒlxの抵抗値も記号Ｒhx，Ｒlxでそれぞれ示すものとする（他の実施形態においても同様）。
【００５０】
一方、制御演算手段（の第２座標変換部３４）から出力されるｘ相電圧指令値Ｖｘは、モータ駆動回路４３のｘ相上段アームのスイッチング素子のオン期間の比率を示すｘ相デューティ比Ｄｘに対応し、
Ｄｘ＝Ｖｘ／Ｖｂ  …（７）
である。上記のようにＲhx≠０，Ｒlx≠０であることから、式（７）で与えられるデューティ比Ｄｘでｘ相に対応する２個のスイッチング素子が駆動されると、モータ駆動回路４３の出力端Ｎｘには相電圧指令値Ｖｘ通りの電圧が得られない。
【００５１】
これに対し本実施形態では、各相における上段アーム抵抗Ｒhx、下段アーム抵抗Ｒlx、およびブラシレスモータ１の抵抗成分（以下「モータ相抵抗」という）Ｒｍの設計値または実測値を用いて、各種のデューティ比Ｄｘにつき当該デューティ比Ｄｘに対応する理想的な出力端電圧Ｖｘａ（＝Ｄｘ・Ｖｂ＝Ｖｘ）に対する実際の出力端電圧Ｖｘａのずれを予め求めておく。そして、各種のデューティ比Ｄｘにつき、そのデューティ比Ｄｘにおける上記電圧ずれを補償するための相電圧指令値Ｖｘ（＝Ｄｘ・Ｖｂ）の補正量を決定し、当該補正量とその相電圧指令値Ｖｘまたはデューティ比Ｄｘとを対応付けるデータをｘ相補正マップ３７ｘとして補正記憶部３７に格納しておく（ｘ＝ｕ，ｖ，ｗ）。
【００５２】
本実施形態では、このようにして作成されたｕ相、ｖ相およびｗ相補正マップ３７ｕ，３７ｖ，３７ｗを参照して相毎に得られる補正量を相電圧指令値Ｖｕ，Ｖｖ，Ｖｗに加算することにより、補正後の相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃが得られる。そして、この補正後の相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃに応じて、ＰＷＭ電圧形インバータとしてのモータ駆動回路４３の各スイッチング素子（ＦＥＴ）が駆動（オン／オフ）される。これによりモータ駆動回路４３の出力端Ｎｕ，Ｎｖ，Ｎｗに得られる電圧Ｖｕａ，Ｖｖａ，Ｖｗａが、ブラシレスモータ１に印加される。
【００５３】
＜２．３  補正マップの作成の具体例＞
本実施形態において使用する各相の補正マップ３７ｕ，３７ｖ，３７ｗを作成するには、各相につき、上段アーム抵抗Ｒhx、下段アーム抵抗Ｒlx、およびモータ相抵抗Ｒｍの設計値または実測値を用いて、各種のデューティ比Ｄｘにおける（モータ駆動回路４３の）出力端電圧Ｖｘａが理想値（＝相電圧指令値Ｖｘ）からどの程度ずれるかを求める必要がある。このような出力端Ｎｘにおける電圧ずれは、上記抵抗Ｒhx，Ｒlx，Ｒｍの設計値または実測値を用いて、モータ駆動回路４３を含むモータ制御装置とブラシレスモータ１とからなるシステムの動作を計算機でシミュレーションすることにより求めることができる。
【００５４】
このような計算機シミュレーションを行うことなく、モータ駆動回路４３とブラシレスモータ１からなるモータ・駆動回路系（図４）のうち１相分の構成を示す等価回路を簡易なモデルに基づいて表現し、相毎の等価回路に基づいて出力端Ｎｘにおける電圧ずれを求めることもできる。以下、ｘ相における出力端Ｎｘの電圧ずれをこの簡易モデルで求め、その電圧ずれに基づきｘ相補正マップ３７ｘを作成するという方法について説明する（ｘ＝ｕ，ｖ，ｗ）。
【００５５】
図５（ａ）（ｂ）は、いずれも、図４に示すモータ・駆動回路系のうちの１相分であるｘ相の構成を示す回路図である。この１相分の回路構成を用いる簡易モデルでは、ブラシレスモータ１における逆起電力は考慮されていない。図５（ａ）は、ｘ相電流がモータ駆動回路４３からブラシレスモータ１に流れる場合を示しており、図５（ｂ）は、ｘ相電流がブラシレスモータ１からモータ駆動回路４３に流れる場合を示している。また、図５（ａ）（ｂ）において、上段アームにおけるスイッチング素子（以下「上段スイッチング素子」という）ＳＷＸｈのオン抵抗および配線抵抗を含む抵抗成分は、上段アーム抵抗Ｒhxとして示されており、下段アームにおけるスイッチング素子ＳＷＸｌ（以下「下段スイッチング素子」という）のオン抵抗および配線抵抗を含む抵抗成分は、下段アーム抵抗Ｒlxとして示されている。なお、Ｒｍはブラシレスモータ１におけるｘ相の抵抗成分を示している。
【００５６】
図５（ａ）に示すようにｘ相電流がモータ駆動回路４３からブラシレスモータ１に流れる場合において、上段スイッチング素子ＳＷＸｈがオン状態のとき、そのｘ相電流Ｉｘは
Ｉｘ＝（Ｖｂ−Ｖｍ）／（Ｒhx＋Ｒｍ）    …（８）
であるので、このときの出力端Ｎｘの電圧Ｖｘｕは、
Ｖｘｕ＝（Ｖｂ−Ｖｍ）Ｒｍ／（Ｒhx＋Ｒｍ）＋Ｖｍ    …（９）
となる。ここで、Ｖｂはモータ駆動回路４３に与えられる直流電源の電圧であり、Ｖｍはブラシレスモータ１の中性点Ｎｎの電圧である。また、ブラシレスモータ１は誘導性負荷であることから、この場合において上段スイッチング素子ＳＷＸｈがオフ状態となり下段スイッチング素子ＳＷＸｌがオン状態となっても、上記式（８）で示される電流Ｉｘが引き続き流れる。したがって、下段スイッチング素子ＳＷＸｌがオン状態のときの出力端Ｎｘの電圧Ｖｘｄは、
Ｖｘｄ＝−Ｉｘ・Ｒlx
＝−（Ｖｂ−Ｖｍ）Ｒlx／（Ｒhx＋Ｒｍ）    …（１０）
となる。よって、ブラシレスモータ１に印加されるｘ相電圧に相当する出力端電圧Ｖｘａは、上段スイッチング素子ＳＷＸｈのオン期間の比率であるデューティ比Ｄｘを用いて、式（９）と（１０）より次式のように表すことができる。
Ｖｘａ＝Ｄｘ・Ｖｘｕ＋（１−Ｄｘ）・Ｖｘｄ
＝（Ｖｂ−Ｖｍ）｛Ｄｘ・（Ｒｍ＋Ｒlx）−Ｒlx｝／（Ｒhx＋Ｒｍ）
＋Ｄｘ・Ｖｍ                                            …（１１）
【００５７】
ところで、デューティ比Ｄｘに対応する理想的なｘ相電圧すなわちＲhx＝Ｒlx＝０のときの出力端Ｎｘの電圧Ｖｘｏは、
Ｖｏｘ＝Ｄｘ・Ｖｂ    …（１２）
である。また、出力端Ｎｘにおける電圧ずれはＶｘａ−Ｖｘｏであるので、本実施形態では補正量ΔＶｘを
ΔＶｘ＝Ｖｘｏ−Ｖｘａ    …（１３）
とする。したがって、抵抗Ｒhx，Ｒlx，Ｒｍの設計値または実測値が与えられると（Ｖｂ，Ｖｍは既知）、ｘ相電流がモータ駆動回路４３からブラシレスモータ１に流れる場合すなわちＤｘ＞０．５の場合につき、種々のデューティ比Ｄｘに対する補正量ΔＶｘを式（１１）〜（１３）より求めることができる。
【００５８】
一方、図５（ｂ）に示すようにｘ相電流がブラシレスモータ１からモータ駆動回路４３に流れる場合において、下段スイッチング素子ＳＷＸｌがオン状態のとき、そのｘ相電流Ｉｘは
Ｉｘ＝Ｖｍ／（Ｒlx＋Ｒｍ）    …（１４）
であるので、このときの出力端Ｎｘの電圧Ｖｘｄは、
Ｖｘｄ＝Ｖｍ・Ｒlx／（Ｒlx＋Ｒｍ）    …（１５）
となる。また、ブラシレスモータ１は誘導性負荷であることから、この場合において下段スイッチング素子ＳＷＸｌがオフ状態となり上段スイッチング素子ＳＷＸｈがオン状態となっても、上記式（１４）で示される電流Ｉｘが引き続き流れる。したがって、上段スイッチング素子ＳＷＸｈがオン状態のときの出力端Ｎｘの電圧Ｖｘｕは、
Ｖｘｕ＝Ｖｂ−Ｉｘ・Ｒhx
＝Ｖｂ−Ｖｍ・Ｒhx／（Ｒlx＋Ｒｍ）    …（１６）
となる。よって、ブラシレスモータ１に印加されるｘ相電圧に相当する出力端電圧Ｖｘａは、Ｎｘにおける上段スイッチング素子ＳＷＸｈのオン期間の比率であるデューティ比Ｄｘを用いて、式（１５）と（１６）より次式のように表すことができる。
Ｖｘａ＝Ｄｘ・Ｖｘｕ＋（１−Ｄｘ）・Ｖｘｄ
＝Ｖｍ・｛Ｒlx−Ｄｘ・（Ｒhx＋Ｒlx）｝／（Ｒlx＋Ｒｍ）
＋Ｄｘ・Ｖｂ                                          …（１７）
【００５９】
ところで、デューティ比Ｄｘに対応する理想的なｘ相電圧すなわちＲhx＝Ｒlx＝０のときの出力端Ｎｘの電圧Ｖｘｏは、
Ｖｏｘ＝Ｄｘ・Ｖｂ    …（１８）
である。したがって、抵抗Ｒhx，Ｒlx，Ｒｍの設計値または実測値が与えられると、ｘ相電流がブラシレスモータ１からモータ駆動回路４３に流れる場合すなわちＤｘ＜０．５の場合につき、種々のデューティ比Ｄｘに対する補正量ΔＶｘを式（１７）と（１８）と（１３）より求めることができる。
【００６０】
以上のようにして、式（１１）〜（１３）および式（１７）〜（１８）より、種々のデューティ比Ｄｘに対する補正量ΔＶｘを求めることができるので、ｘ相につきデューティ比Ｄｘに補正量ΔＶｘを対応付けるｘ相補正マップ３７ｘを作成することができる（ｘ＝ｕ，ｖ，ｗ）。
【００６１】
図６は、上記の簡易モデルによる図５（ａ）（ｂ）の等価回路に基づき作成される補正マップの一例を示す図である。ただし、この図６は、便宜上、デューティ比Ｄｘと補正量ΔＶｘとの対応関係を、Ｒhx＞Ｒlxの場合とＲhx＝Ｒlx≠０の場合とＲhx＜Ｒlxの場合とＲhx＝Ｒlx＝０の場合（理想の場合）という４つの場合について同時に示している。上記のように、本発明を実施しようとするモータ制御装置のモータ駆動回路４３およびブラシレスモータ１についての抵抗Ｒhx，Ｒlx，Ｒｍの設計値または実測値を用いれば（電源電圧Ｖｂ、中性点電圧Ｖｍは既知）、各相につきデューティ比Ｄｘに補正量ΔＶｘを対応付ける補正マップとして、それらの抵抗Ｒhx，Ｒlx，Ｒｍの抵抗値に応じた補正マップ３７ｘを作成することができる。すなわち、上下段抵抗差および相間抵抗差を反映させた補正マップ３７ｘ（ｘ＝ｕ，ｖ，ｗ）を作成することができる。このようにして作成された補正マップ３７ｘは、図６に示す４つの場合のうち理想の場合（Ｒlx＝Ｒhx＝０の場合）を除く３つの場合のいずれかに対応する曲線（折れ線）によって種々のデューティ比Ｄｘと相電圧指令値Ｖｘの補正量とを対応付けるマップとなっている。ここで、デューティ比Ｄｘは、（補正前の）ｘ相電圧指令値Ｖｘを用いてＤｘ＝Ｖｘ／Ｖｂと表すことができる。したがって、このｘ相補正マップ３７ｘは、ｘ相電圧指令値Ｖｘにその補正量ΔＶｘを対応付けるマップとして使用することができる（ｘ＝ｕ，ｖ，ｗ）。
【００６２】
＜２．４  効果＞
上記のような本実施形態によれば、制御演算手段によって算出された相電圧指令値Ｖｘ（ｘ＝ｕ，ｖ，ｗ）が、上段アーム抵抗Ｒhxや下段アーム抵抗Ｒlx等の設計値または実測値等に基づき作成された補正マップ３７ｘを参照して補正演算部３６により相毎に補正され（図２参照）、補正後の相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃに応じて、ＰＷＭ電圧形インバータとしてのモータ駆動回路４３の各スイッチング素子（ＦＥＴ）が駆動（オン／オフ）される。これにより、モータ駆動回路４３における上段アーム抵抗Ｒhxと下段アーム抵抗Ｒlxとに差（上下段抵抗差）がある場合であっても、相電圧指令値Ｖｕ，Ｖｖ，Ｖｗに応じた電圧が精度よくブラシレスモータ１に印加される。また、相電圧指令値Ｖｕ，Ｖｖ，Ｖｗは、相毎に作成された補正マップ３７ｕ，３７ｖ，３７ｗを参照して各相電圧指令値Ｖｘに応じて相毎に補正されるので、モータ・駆動回路系において相間抵抗差が存在する場合であっても、ブラシレスモータ１に印加される相電圧Ｖｕａ，Ｖｖａ，Ｖｗａの相間での不均衡化が抑制される。
【００６３】
したがって、このような本実施形態によれば、ブラシレスモータ１におけるトルクリップルを低減することができる。ところで、インバータとしてのモータ駆動回路４３における上下段抵抗差や相間抵抗差が解消されるように配線パターンを形成することによりトルクリップルの発生を抑制しようとすると、モータ駆動回路基板のサイズの増大を招く。これに対し本実施形態によれば、相電圧指令値Ｖｕ，Ｖｖ，Ｖｗの補正によりトルクリップルが低減されるので、モータ駆動回路基板のサイズの増大を回避することができ、配線抵抗の増大も避けることができる。このため、本実施形態に係るモータ制御装置を使用した電動パワーステアリング装置において、モータ駆動回路基板のサイズ増大を抑えることで小型化や高効率化、低コスト化等の要請に応えつつ、トルクリップルを抑制して操舵フィーリングを向上させることができる。
【００６４】
＜３．第２の実施形態＞
次に、本発明の第２の実施形態に係るモータ制御装置について説明する。
一般に、モータ駆動回路からモータに与えられる印加電圧には、当該モータ駆動回路における上段および下段アーム抵抗による電圧降下に起因して誤差が生じる。このようなモータへの印加電圧の誤差は、上記第１の実施形態におけるように相電圧指令値Ｖｕ，Ｖｖ，Ｖｗを補正することで抑制することが可能である。
【００６５】
ところで、モータ制御装置の製造時には電子部品等の特性のバラツキによって上記の上段および下段アーム抵抗の抵抗値がばらつき、また、使用温度環境によって当該抵抗値が変動する。このため上記第１の実施形態では、当該抵抗値についてのバラツキや変動によって相電圧指令値Ｖｕ，Ｖｖ，Ｖｗの補正の精度が低下し、モータへの印加電圧の上記誤差を十分に抑制できない場合がある。オープンループ制御によりモータが駆動される場合において、目標通りの電流をモータに流すには、このような印加電圧の誤差が特に問題となる。
【００６６】
そこで本実施形態は、モータ駆動回路における上段および下段アーム抵抗の抵抗値がばらついたり変動したりしても、精度よく相電圧指令値を補正し、モータへの印加電圧の上記誤差を十分に抑制できるように構成されている。
【００６７】
＜３．１  モータ駆動装置＞
図７は、本実施形態に係るモータ制御装置の構成を示すブロック図である。このモータ制御装置も、第１の実施形態と同様に、図１に示す電動パワーステアリング装置において、ｕ相、ｖ相およびｗ相の３相巻線（図示せず）を有するブラシレスモータ１を駆動するものであって、ＥＣＵ１０を用いて構成されている。本実施形態における構成要素のうち上記第１の実施形態と同一のものについては同一の参照符号を付して詳しい説明を省略する。
【００６８】
本実施形態に係るモータ制御装置に使用されるＥＣＵ１０は、図７に示すように、マイコン６０、３相／ＰＷＭ（Pulse Width Modulation）変調器４１、モータ駆動回路４３、および、電流センサ４６を備えている。
【００６９】
ＥＣＵ１０には、トルクセンサ３から出力された操舵トルクＴｓ、車速センサ４から出力された車速Ｓ、および、位置検出センサ５から出力された回転位置Ｐが入力される。マイコン６０は、ブラシレスモータ１の駆動に用いられる電圧指令値を求める制御手段として機能する。マイコン６０の機能の詳細については、後述する。
【００７０】
３相／ＰＷＭ変調器４１は、マイコン６０で求めた３相の電圧指令値に応じたデューティ比を有する３種類のＰＷＭ信号（図７に示すＵ，Ｖ，Ｗ）を生成する。上記第１の実施形態と同様、これらのＰＷＭ信号Ｕ，Ｖ，Ｗとその否定信号は、ＰＷＭ電圧形インバータとしてのモータ駆動回路４３に与えられ、このモータ駆動回路４３におけるｕ相、ｖ相、ｗ相の出力端Ｎｕ，Ｎｖ，Ｎｗに得られる電圧が、それぞれｕ相電圧、ｖ相電圧およびｗ相電圧としてブラシレスモータ１に印加される。これにより、モータ駆動回路４３からｕ相電流、ｖ相電流およびｗ相電流がブラシレスモータ１に供給される。
【００７１】
電流センサ４６は、モータ駆動回路４３からブラシレスモータ１に供給される電流、すなわちブラシレスモータ１に流れる電流を検出する。この電流センサ４６は、例えば抵抗体やホール素子で構成され、モータ駆動回路１３と電源との間に１個だけ設けられる。
【００７２】
ブラシレスモータ１が回転している間、電流センサ４６で検出される電流値は、ＰＷＭ信号に応じて変化する。ＰＷＭ信号の１周期（以下「ＰＷＭ周期」という）内では、電流センサ４６によって１相の駆動電流が検知されるときと、２相の駆動電流の和が検知されるときとがある。３相の駆動電流の和はゼロになるので、２相の駆動電流の和に基づき、残り１相の駆動電流を求めることができる。したがって、ブラシレスモータ１が回転している間、１個の電流センサ４６を用いて３相の駆動電流を検出することができる。電流センサ４６で検出された電流値Ｉａは、マイコン６０に入力される。
【００７３】
マイコン６０は、ＥＣＵ１０に内蔵されたメモリ（図示せず）に格納されたプログラムを実行することにより、ｑ軸電流指令値決定部２１、ｄ軸電流指令値決定部２２、オープンループ制御部５１、ｄｑ軸／３相変換部５４、補正部６１、電流推定部５８、角度算出部１５、角速度算出部５５、および、Φ算出部５６として機能する。なお、ｑ軸電流指令値決定部２１とｄ軸電流指令値決定部２２とオープンループ制御部５１とｄｑ軸／３相変換部５４と角度算出部１５と角速度算出部５５とΦ算出部５６は、ブラシレスモータ１に印加すべき相電圧を示す相電圧指令値Ｖｕ，Ｖｖ，Ｖｗを求める制御演算手段を構成する。
【００７４】
マイコン６０は、以下に述べるように、ブラシレスモータ１に供給すべき電流を示す電流指令値とブラシレスモータ１のロータの回転角（電気角）とに基づき、モータ駆動回路４３に与えるべき電圧を示す相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃを求める。
【００７５】
ｑ軸電流指令値決定部２１は、上記第１の実施形態と同様、ブラシレスモータ１に供給すべき電流のｑ軸成分を示すｑ軸電流指令値ｉqcを決定し、ｄ軸電流指令値決定部２２は、ブラシレスモータ１に供給すべき電流のｄ軸成分を示すｄ軸電流指令値ｉdcを決定する。これらのｑ軸電流指令値ｉqcおよびｄ軸電流指令値ｉdcはオープンループ制御部５１に入力される。
【００７６】
角度算出部１５は、上記第１の実施形態と同様、位置検出センサ５で検出した回転位置Ｐに基づき、ブラシレスモータ１のロータの回転角を示す電気角（以下「角度θ」という）を求める。角速度算出部５５は、角度θに基づき、ブラシレスモータ１のロータの角速度ωe を求める。角度θはΦ算出部５６、ｄｑ軸／３相変換部５４および補正部６１に入力され、角速度ωe はオープンループ制御部５１およびΦ算出部５６に入力される。
【００７７】
オープンループ制御部５１は、ｄ軸電流指令値ｉdc，ｑ軸電流指令値ｉqcおよび角速度ωe に基づき、ブラシレスモータ１に印加すべき電圧の目標値のｄ軸成分およびｑ軸成分を示すｄ軸電圧指令値ｖdcおよびｑ軸電圧指令値ｖqcを求める。ｄ軸電圧指令値ｖdcとｑ軸電圧指令値ｖqcは、次式（１９）と（２０）に示すモータの回路方程式を用いて算出される。
ｖdc＝（Ｒ＋ＰＬd）ｉdc−ωeＬqｉqc          …（１９）
ｖqc＝（Ｒ＋ＰＬq）ｉqc＋ωeＬdｉdc＋ωeΦ   …（２０）
ただし、式（１９）と（２０）において、ωe はロータの角速度、Ｒは電機子巻線抵抗を含む回路抵抗、Ｌd はｄ軸の自己インダクタンス、Ｌq はｑ軸の自己インダクタンス、Φはｕ，ｖ，ｗ相電機子巻線鎖交磁束数の最大値の√（３／２）倍、Ｐは微分演算子である。このうちＲ、Ｌd 、Ｌq およびΦは、既知のパラメータとして扱われる。なお、Ｒで示される回路抵抗には、ブラシレスモータ１とＥＣＵ１０との間の配線抵抗やＥＣＵ１０内でのモータ駆動回路４３の抵抗および配線抵抗などが含まれる。
【００７８】
ｄｑ軸／３相変換部５４は、上記角度θを用いて、オープンループ制御部５１で求めたｄ軸電圧指令値ｖdcとｑ軸電圧指令値ｖqcを３相交流座標軸上の電圧指令値すなわちｕ相電圧指令値Ｖｕ、ｖ相電圧指令値Ｖｖおよびｗ相電圧指令値Ｖｗに変換する。なお、ｕ相電圧指令値Ｖｕ、ｖ相電圧指令値Ｖｖおよびｗ相電圧指令値Ｖｗを総称して「相電圧指令値Ｖｕ，Ｖｖ，Ｖｗ」ともいう。
【００７９】
電流推定部５８は、ｑ軸およびｄ軸電流指令値決定部２１，２２からのｑ軸およびｄ軸電流指令値ｉqc，ｉdcと、オープンループ制御部５１からのｑ軸およびｄ軸電圧指令値ｖqc，ｖdcとに基づき、モータ駆動回路４３からブラシレスモータ１に設計上供給されるべき電流のｑ軸成分およびｄ軸成分をそれぞれｑ軸電流推定値Ｉｑｅおよびｄ軸電流推定値Ｉｑｅとして求める。具体的には、ｄ軸およびｑ軸電圧指令値ｖqc，ｖdcから算出される電圧ベクトルの大きさが電源としてのバッテリ１００の電圧以下すなわち電源電圧以下である場合には、ｑ軸およびｄ軸電流指令値ｉqc，ｉdcをそれぞれｑ軸およびｄ軸電流推定値Ｉｑｅ，Ｉｄｅとし、当該算出される電圧ベクトルの大きさが電源電圧を超える場合には、当該算出された電圧ベクトルの大きさに対する電源電圧の大きさの比に応じてｑ軸およびｄ軸電流指令値ｉqc，ｉdcを縮小したものをｑ軸およびｄ軸電流推定値Ｉｑｅ，Ｉｄｅとする。これらのｑ軸およびｄ軸電流推定値Ｉｑｅ，Ｉｄｅは、電流推定部５８から出力され、補正部６１に入力される。なお、ｑ軸およびｄ軸電流推定値Ｉｑｅ，Ｉｄｅの決定方法は上記方法に限定されるものではなく、モータ駆動回路４３からブラシレスモータ１に供給されるべき電流のｑ軸成分およびｄ軸成分（ブラシレスモータ１に流れるべき電流のｑ軸成分およびｄ軸成分）を適切に推定できる方法であれば、他の方法によりｑ軸およびｄ軸電流推定値Ｉｑｅ，Ｉｄｅを決定してもよい。
【００８０】
補正部６１は、ｑ軸電流推定値Ｉｑｅおよびｄ軸電流推定値Ｉｄｅと電流センサ４６で検出された電流値Ｉａとに基づき、上記の相電圧指令値Ｖｕ，Ｖｖ，Ｖｗを補正する。補正後の相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃは３相／ＰＷＭ変調器４１に入力される。
【００８１】
３相／ＰＷＭ変調器４１は、これら補正後の相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃに応じたデューティ比を有する３種類のＰＷＭ信号Ｕ，Ｖ，Ｗを生成する。モータ駆動回路４３は、この３種類のＰＷＭ信号Ｕ，Ｖ，Ｗとその否定信号によって制御される。これによりモータ駆動回路４３の出力端Ｎｕ，Ｎｖ，Ｎｗに得られる電圧がブラシレスモータ１に印加される。その結果、ブラシレスモータ１の３相巻線には、各相の電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃに応じた正弦波状の電流が流れ、ブラシレスモータ１のロータは回転する。これに伴い、ブラシレスモータ１の回転軸には、ブラシレスモータ１を流れる電流に応じたトルクが発生する。発生したトルクは操舵補助に用いられる。
【００８２】
Φ算出部５６には、電流センサ４６で検出された電流値Ｉａと、角度算出部３４で算出された角度θと、角速度算出部３５で算出された角速度ωe とが入力される。Φ算出部５６は、まず電流値Ｉａに基づきブラシレスモータ１に流れるｕ相とｖ相の電流の値、すなわちｕ相電流検出値Ｉｕ、ｖ相電流検出値Ｉｖを求め、これらをｄｑ座標軸上の電流値に変換することによりｄ軸電流検出値ｉd とｑ軸電流検出値ｉq を求める。
【００８３】
次に、Φ算出部５６は、ωe ≠０のときに、ｑ軸電圧指令値ｖqc、ｄ軸電流検出値ｉd 、ｑ軸電流検出値ｉq および角速度ωe に基づき、次式（２１）を用いて式（２０）に含まれる電機子巻線鎖交磁束数Φを求める。
Φ＝｛ｖqc−（Ｒ＋ＰＬq）ｉq−ωeＬdｉd｝／ωe  …（２１）
なお、式（２１）は、式（２０）のｄ軸電流指令値ｉdcとｑ軸電流指令値ｉqcにｄ軸電流検出値ｉd とｑ軸電流検出値ｉq を代入し、その式をΦについて解いたものである。
【００８４】
Φ算出部５６は、求めたΦ値をオープンループ制御部５１に対して出力する。オープンループ制御部５１は、式（２０）を用いてｑ軸電圧指令値ｖqcを求めるときに、Φ算出部５６で算出されたΦ値を使用する。このようにマイコン６０は、モータの回路方程式に含まれる電機子巻線鎖交磁束数Φを求め、ｑ軸電圧指令値ｖqcを求めるときにはそのΦ値を使用するが、Φ算出部５６を省略し、Φ値として予め決められた値を使用してもよい。
【００８５】
なお本実施形態では、オープンループ制御部３１においてｄ軸電圧指令値ｖdcおよびｑ軸電圧指令値ｖqcを求めるために使用される電機子巻線抵抗Ｒ等は、既知のパラメータとして扱われるが、Φについては既知のパラメータとして扱いつつもパラメータ算出手段としてのΦ算出部５６により適宜補正される。しかし、本発明はこのような構成に限定されるものではなく、Φ算出部５６に代えて又はΦ算出部５６と共にパラメータ算出手段としてのＲ算出部を設け、ｄ軸電圧指令値ｖdcおよびｑ軸電圧指令値ｖqcを求める際に、当該Ｒ算出部により算出されたＲを使用してもよい。また、ｄ軸電圧指令値ｖdcおよびｑ軸電圧指令値ｖqcを求めるための各パラメータを固定値または電流指令値に基づく算出値として扱ってもよい。
【００８６】
＜３．２  補正部の詳細＞
図８は、本実施形態における補正部６１の構成を示すブロック図である。この補正部６１は、相電流算出部６１２とｄｑ軸／３相変換部６１４と抵抗値補正部６１６と指令値補正部６１８とを含んでいる。
【００８７】
相電流算出部６１２は、電流センサ４６で検出された電流値Ｉａからｕ相電流検出値Ｉｕ、ｖ相電流検出値Ｉｖ、ｗ相電流検出値Ｉｗを求める。これらの相電流検出値Ｉｕ，Ｉｖ，Ｉｗは、抵抗値補正部６１６に入力される。
【００８８】
ｄｑ軸／３相変換部６１４は、電流推定部５８から受け取るｑ軸およびｄ軸電流推定値Ｉｑｅ，Ｉｄｅを、角度算出部１５で算出される角度θに基づき、３相交流座標軸上の電流推定値すなわちｕ相電流推定値Ｉｕｅ、ｖ相電流推定値Ｉｖｅ、およびｗ相電流推定値Ｉｗｅに変換する。これらの相電流推定値Ｉｕｅ，Ｉｖｅ，Ｉｗｅは、抵抗値補正部６１６および指令値補正部６１８に入力される。
【００８９】
抵抗値補正部６１６は、上記の相電流検出値Ｉｕ，Ｉｖ，Ｉｗおよび相電流推定値Ｉｕｅ，Ｉｖｅ，Ｉｗｅを用い、次式に従って、モータ駆動回路４３における各相の上段アーム抵抗Ｒhxおよび下段アーム抵抗Ｒlxを補正する（ｘ＝ｕ，ｖ，ｗ）。
Ｒhxc＝Ｒhx×Ｉxe／Ｉｘ    …（２３）
Ｒlxc＝Ｒlx×Ｉxe／Ｉｘ    …（２４）
ここで、Ｒhxcは補正後のｘ相の上段アーム抵抗を示し、Ｒlxcは補正後のｘ相の下段アーム抵抗を示している。なお、当該モータ制御装置の初期状態における各相の上段アーム抵抗Ｒhxおよび下段アーム抵抗Ｒlxの抵抗値としては、設計値または実測値を用いる。
【００９０】
図９（ａ）（ｂ）は、モータ駆動回路４３の１相分であるｘ相の構成を示す回路図であり、図１０は、上段アーム抵抗Ｒhxおよび下段アーム抵抗Ｒlxを考慮した場合のｘ相出力端子Ｎｘにおける電圧（以下「ｘ相出力端電圧」という）の波形図である。ここで、図９（ａ）（ｂ）に示される上段スイッチング素子ＳＷＸｈおよび下段スイッチング素子ＳＷＸｌは、モータ駆動回路４３におけるｘ相のスイッチング素子としてのＦＥＴであるが、上段および下段アーム抵抗Ｒhx，Ｒlxは、それぞれ、上段および下段スイッチング素子ＳＷＸｈ，ＳＷＸｌのオン抵抗をも含めて表現しているものとする。
【００９１】
ＰＷＭ信号Ｘ（Ｘ＝Ｕ，Ｖ，Ｗ）の１周期Ｔのうち、上段スイッチング素子ＳＷＸｈのオン期間（下段スイッチング素子ＳＷＸｌのオフ期間）ｔｘでは、上段アームに実際に流れる電流またはｘ相電流検出値をＩｘとすると、このときのｘ相出力端電圧Ｖｘｈは、
Ｖｘｈ＝Ｖｂ−Ｒhx・Ｉｘ    …（２５）
となる。一方、上段スイッチング素子ＳＷＸｈのオフ期間（下段スイッチング素子ＳＷＸｌのオン期間）（Ｔ−ｔｘ）では、下段アームに実際に流れる電流またはｘ相電流検出値をＩｘとすると、このときのｘ相出力端電圧Ｖｘｌは、
Ｖｘｌ＝０−Ｒlx・Ｉｘ    …（２６）
となる（図１０参照）。
【００９２】
したがって、モータ駆動回路４３のｘ相出力端Ｎｘからブラシレスモータ１に実際に印加される電圧（以下「ｘ相実電圧」という）Ｖｘａは、
Ｖｘａ＝｛Ｖｘｈ・ｔｘ＋Ｖｘｌ・（Ｔ−ｔｘ）｝／Ｔ
＝｛（Ｖｂ−Ｒhx・Ｉｘ）・ｔｘ＋（０−Ｒlx・Ｉｘ）・（Ｔ−ｔｘ）｝／Ｔ
＝｛（Ｖｂ・ｔｘ＋０・（Ｔ−ｔｘ）｝／Ｔ
−｛Ｒhx・ｔｘ＋Ｒlx・（Ｔ−ｔｘ）｝・Ｉｘ／Ｔ  …（２７）
となる。これより、ｘ相実電圧Ｖｘａにおいて上段アーム抵抗Ｒhxおよび下段アーム抵抗Ｒlxによって生じる誤差Δexは、
Δex＝−｛Ｒhx・ｔｘ＋Ｒlx・（Ｔ−ｔｘ）｝・Ｉｘ／Ｔ    …（２８）
となることがわかる。
【００９３】
したがって、この誤差Δexについては、ｔｘ＞（Ｔ−ｔｘ）のときに上段アーム抵抗Ｒhxの影響が大きく、このときＩｘ＞０である（図９（ａ））。一方、ｔｘ＜（Ｔ−ｔｘ）のときには下段アーム抵抗Ｒlxの影響が大きく、このときＩｘ＜０である（図９（ｂ））。そこで本実施形態では、ｘ相の電流検出値Ｉｘに基づき、Ｉｘ＞０のときには、上段アーム抵抗Ｒhxを式（２３）に従って補正し、補正後の上段アーム抵抗Ｒhxcを新たにＲhxと置き直す。また、Ｉｘ＜０のときには、下段アーム抵抗Ｒlxを式（２４）に従って補正し、補正後の下段アーム抵抗Ｒlxcを新たにＲlxと置き直す。抵抗値補正部６１６では、このようにして上段アーム抵抗Ｒhxおよび下段アーム抵抗Ｒlxが更新されていく。
【００９４】
ただし、抵抗値の変動はモータ駆動のための制御演算の周期に比べて十分緩やかであるので、本実施形態では、これらの抵抗値の更新周期として、制御演算の周期すなわち相電圧指令値Ｖｕ，Ｖｖ，Ｖｗを求める周期よりも長い期間が設定される。この更新周期は例えば数ｍ秒ないし数秒程度でよく、また、当該モータ制御装置の起動時に一度だけ更新してもよく、また、相電流Ｉｕ，Ｉｖ，Ｉｗが検出された時に更新してもよい。さらに算出された数回分の抵抗値の平均値や代表値などが使用されてもよい。なお、上段アーム抵抗Ｒhxおよび下段アーム抵抗Ｒlxの抵抗値の補正方法（更新方法）は上記に限定されるものではなく、相電流推定値Ｉｘｅと相電流検出値Ｉｘとの比に基づいて上段および下段アーム抵抗Ｒhx，Ｒlxの抵抗値を適切に補正（更新）するものであればよい。
【００９５】
指令値補正部６１８は、ｄｑ軸／３相変換部５４から相電圧指令値Ｖｕ，Ｖｖ，Ｖｗを受け取ると共に、補正部６１内の抵抗値補正部６１６で上記のように更新される上段アーム抵抗Ｒhxおよび下段アーム抵抗Ｒlxを受け取り、これらと共に上記の相電流推定値Ｉｕｅ，Ｉｖｅ，Ｉｗｅを用いて下記のようにして相電圧指令値Ｖｕ，Ｖｖ，Ｖｗを補正する。いまｘ相電圧指令値Ｖｘに対応する上段スイッチング素子ＳＷＸｈのオン期間がｔｘであるとすると、このときブラシレスモータ１に印加されるべきｘ相電圧（周期Ｔにおける平均値）は
｛Ｖｂ・ｔｘ＋０・（Ｔ−ｔｘ）｝／Ｔ    …（２９）
である（ｘ＝ｕ，ｖ，ｗ）。
【００９６】
ｘ相実電圧Ｖｘａをこのｘ相電圧に等しくすべく、ｘ相電圧指令値Ｖｘに対するｘ相実電圧Ｖｘａのずれ（ｘ相出力端の電圧のずれ）を補償するために、図１１に示すように上段スイッチング素子ＳＷＸｈのオン期間をｔｘからｔxcに変更することを考える。すなわち、ｘ相実電圧Ｖｘａにつき上段および下段アーム抵抗Ｒhx，Ｒlxによって生じる誤差Δex（式（２８））を補償するために上段スイッチング素子ＳＷＸｈのオン期間をｔｘからｔxcに変更する。この変更により、ブラシレスモータ１に印加されるｘ相実電圧Ｖｘａは
｛（Ｖｂ−Ｒhx・Ｉｘ）・ｔxc＋（０−Ｒlx・Ｉｘ）・（Ｔ−ｔxc）｝／Ｔ
…（３０）
となるので、上記式（２９）と（３０）より下記式が成立する。
｛Ｖｂ・ｔｘ＋０・（Ｔ−ｔｘ）｝／Ｔ
＝｛（Ｖｂ−Ｒhx・Ｉｘ）・ｔxc＋（０−Ｒlx・Ｉｘ）・（Ｔ−ｔxc）｝／Ｔ
…（３１）
ここで、Ｉｘは、上段スイッチング素子ＳＷＸｈのオン期間がｔxcであるときに実際に流れるｘ相電流またはｘ相電流検出値であり、このオン期間ｔxcは上記誤差Δexが補償されるように変更されたものである。そこで本実施形態では、この相電流Ｉｘをｘ相電流推定値Ｉｘｅに等しいと見なすことにする。なお、オン期間ｔｘは補正前のｘ相電圧指令値Ｖｘに対応し、ｔｘ＝（Ｖｘ／Ｖｂ）・Ｔであり、変更後のオン期間ｔxcは補正後のｘ相電圧指令値Ｖｘｃに対応し、ｔxc＝（Ｖｘｃ／Ｖｂ）・Ｔである（ｘ＝ｕ，ｖ，ｗ）。
【００９７】
上記式（３１）より、次式により補正後のｘ相電圧指令値Ｖｘｃを算出することができる（ｘ＝ｕ，ｖ，ｗ）。
Ｖｘｃ＝（Ｖｘ＋Ｒlx・Ｉxe）・Ｖｂ／｛Ｖｂ−（Ｒhx−Ｒlx）・Ｉxe｝ …（３２）
【００９８】
上記のようにして得られた補正後の相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃは、補正部６１から出力されて３相／ＰＷＭ変調器４１に与えられる。既述のように３相／ＰＷＭ変調器４１は、これらの補正後の相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃに応じたデューティ比を有する３種類のＰＷＭ信号Ｕ，Ｖ，Ｗを生成する。これら３種類のＰＷＭ信号とその否定信号によってモータ駆動回路４３が制御されることにより出力端Ｎｕ，Ｎｖ，Ｎｗに得られる電圧が、ブラシレスモータ１に印加される。その結果、ブラシレスモータ１に対して３相の駆動電流（ｕ相電流、ｖ相電流およびｗ相電流）が供給される。
【００９９】
＜３．３  効果＞
上記のような本実施形態によれば、上段および下段アーム抵抗Ｒhx，Ｒlxの抵抗値に基づいて相電圧指令値Ｖｕ，Ｖｖ，Ｖｗが補正され、これにより、モータ駆動回路における上段アーム抵抗Ｒhxや下段アーム抵抗Ｒlxによる電圧降下によってモータへの印加電圧に生じていた誤差が補償される。このため、上段アーム抵抗Ｒhxや下段アーム抵抗Ｒlxの抵抗値が無視できない程度の大きさであっても、モータ駆動回路の基板サイズの増大を抑制しつつ、本来の電圧をブラシレスモータ１に印加し、上段アーム抵抗と下段アーム抵抗とが揃っていないことによるトルクリップルの発生も抑制することができる。
【０１００】
これに加えて本実施形態によれば、上段アーム抵抗Ｒhxや下段アーム抵抗Ｒlxの抵抗値が電流推定値と電流検出値との比に基づいて適宜更新され、更新された抵抗値に基づき相電圧指令値Ｖｕ，Ｖｖ，Ｖｗが補正される。したがって、電子部品等の特性バラツキや温度変化によって上段アーム抵抗Ｒhxや下段アーム抵抗Ｒlxの抵抗値がばらついたり変動したりしても、本来印加すべき電圧が精度よくモータに印加され、トルクリップルが抑制される。
【０１０１】
＜３．４  変形例＞
上記実施形態では、１個の電流センサ４６がモータ駆動回路４３とグランドの間に挿入されているが（図７）、モータ駆動回路４３と電源ラインと間に挿入されていてもよい。また、このような電流センサ４６に代えて、各相につき１個ずつ電流センサを設けてもよいし、３相のうち２相のそれぞれにつき電流センサを設けてもよい。このようにすれば、式（２３）と（２４）に基づき各相の上段および下段アーム抵抗Ｒhx，Ｒlxを容易に制御演算の周期毎に補正することができる。
【０１０２】
＜４．第３の実施形態＞
図１２は、本発明の第３の実施形態に係るモータ制御装置の構成を示すブロック図である。このモータ制御装置も、第１および第２の実施形態と同様、図１に示す電動パワーステアリング装置において、ｕ相、ｖ相およびｗ相の３相巻線（図示せず）を有するブラシレスモータ１を駆動するために使用されるものであって、ＥＣＵ１０を用いて構成されている。本実施形態における構成要素のうち上記第２の実施形態と同一のものについては同一の参照符号を付して詳しい説明を省略する。
【０１０３】
本実施形態に係るモータ制御装置は、モータ駆動回路４３における出力端Ｎｕ，Ｎｖ，Ｎｗの電圧をそれぞれ検出する電圧検出手段としてｕ相電圧センサ４８ｕ、ｖ相電圧センサ４８ｖ、ｗ相電圧センサ４８ｗを備えている。これらの電圧センサ４８ｕ，４８ｖ，４８ｗは、それぞれ、上記出力端Ｎｕ，Ｎｖ，Ｎｗの電圧の検出値をｕ相電圧検出値Ｖ１、ｖ相電圧検出値Ｖ２、ｗ相電圧検出値Ｖ３として出力する。
【０１０４】
本実施形態における補正部７１は、ｑ軸電流推定値Ｉｑｅおよびｄ軸電流推定値Ｉｄｅに加えて、これらの相電圧検出値Ｖ１，Ｖ２，Ｖ３を用いて、上記の相電圧指令値Ｖｕ，Ｖｖ，Ｖｗを補正する。なお以下では、上段スイッチング素子ＳＷＸｈのオン期間ｔxcにおける相電圧検出値Ｖ１，Ｖ２，Ｖ３をそれぞれＶｕｈ，Ｖｖｈ，Ｖｗｈで示し、上段スイッチング素子ＳＷＸｈのオフ期間（Ｔ−ｔxc）における相電圧検出値Ｖ１，Ｖ２，Ｖ３をそれぞれＶｕｌ，Ｖｖｌ，Ｖｗｌで示すものとする（図１１参照）。
【０１０５】
図１３は、この補正部７１の構成を示すブロック図である。この補正部７１は、ｄｑ軸／３相変換部７１４と抵抗値算出部７１６と指令値補正部７１８とを含んでいる。
【０１０６】
ｄｑ軸／３相変換部７１４は、第２の実施形態におけるｄｑ軸／３相変換部６１４と同様、電流推定部５８から受け取るｑ軸およびｄ軸電流推定値Ｉｑｅ，Ｉｄｅを、角度算出部１５で算出される角度θに基づき、ｕ相電流推定値Ｉｕｅ、ｖ相電流推定値Ｉｖｅ、およびｗ相電流推定値Ｉｗｅに変換する。
【０１０７】
抵抗値算出部７１６は、上記の相電流推定値Ｉｕｅ，Ｉｖｅ，Ｉｗｅを用い、次式に従って、モータ駆動回路４３における各相の上段アーム抵抗Ｒhxおよび下段アーム抵抗Ｒlxの抵抗値を算出する（ｘ＝ｕ，ｖ，ｗ）。
Ｒhx＝（Ｖｂ−Ｖｘｈ）／Ｉｘｅ    …（３４）
Ｒlx＝（０−Ｖｘｌ）／Ｉｘｅ      …（３５）
ここで既述のように、Ｖｘｈは、ｘ相の上段スイッチング素子ＳＷＸｈのオン期間におけるｘ相電圧検出値であり、Ｖｘｌは、ｘ相の上段スイッチング素子ＳＷＸｈのオフ期間すなわち下段スイッチング素子ＳＷＸｌのオン期間におけるｘ相電圧検出値である。
【０１０８】
なお、各相の上段アーム抵抗Ｒhxおよび下段アーム抵抗Ｒlxの抵抗値の算出には、本来、上記式（３４）と（３５）において相電流推定値Ｉｘｅの代わりに相電流検出値Ｉｘを用いるべきである。したがって、各相の電流検出値Ｉｘが容易に得られる場合には、上記抵抗値の算出において、相電流推定値Ｉｘｅの代わりに相電流検出値Ｉｘを用いるのが好ましい。しかし、相電圧指令値Ｖｘの補正が行われると、相電流検出値Ｉｘは相電流推定値Ｉｘｅにほぼ等しくなるので、本実施形態では、構成の簡素化の観点を考慮して、上段アーム抵抗Ｒhxおよび下段アーム抵抗Ｒlxの抵抗値の算出に上記のように相電流推定値Ｉｘｅを用いている。
【０１０９】
また、上記抵抗値算出部７１６における上段および下段アーム抵抗Ｒhx，Ｒlxの抵抗値の算出は、各相の指令電圧Ｖｕ，Ｖｖ，Ｖｗが算出される毎すなわち制御演算の周期毎に行ってもよいが、抵抗値は急激に変動することはないので、これらの抵抗値の算出は、本実施形態では、相電圧指令値Ｖｕ，Ｖｖ，Ｖｗを求める周期よりも長い周期で行われる。この算出周期は例えば数ｍ秒ないし数秒程度でもよく、また、装置の起動時に一度だけ算出してもよい。さらに、算出された数回分の抵抗値の平均値や代表値などが使用されてもよい。
【０１１０】
指令値補正部７１８は、ｄｑ軸／３相変換部５４から相電圧指令値Ｖｕ，Ｖｖ，Ｖｗを受け取ると共に、補正部７１内の抵抗値算出部７１６で算出される上段および下段アーム抵抗Ｒhx，Ｒlxを受け取り、これらと共に上記の相電流推定値Ｉｕｅ，Ｉｖｅ，Ｉｗｅを用いて、上記第２の実施形態における指令値補正部６１８と同様の方法により相電圧指令値Ｖｕ，Ｖｖ，Ｖｗを補正する。
【０１１１】
すなわち、ブラシレスモータ１に印加される各相実電圧Ｖｘａにつき上段および下段アーム抵抗Ｒhx，Ｒlxによって生じる誤差Δex（式（２８）参照）が補償されるように補正後のｘ相電圧指令値Ｖｘｃは前述の式（３２）により得られる。このようにして得られた補正後の相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃは、上記第１および第２の実施形態と同様、補正部７１から出力されて３相／ＰＷＭ変調器４１に与えられる。
【０１１２】
上記のような本実施形態によれば、第１および第２の実施形態と同様、上段および下段アーム抵抗Ｒhx，Ｒlxの抵抗値に基づいて相電圧指令値Ｖｕ，Ｖｖ，Ｖｗが補正され、これにより、モータ駆動回路における上段アーム抵抗Ｒhxや下段アーム抵抗Ｒlxによる電圧降下によってモータへの印加電圧に生じていた誤差が補償される。また、上段アーム抵抗Ｒhxや下段アーム抵抗Ｒlxの抵抗値が電流推定値と電圧検出値に基づいて適宜算出され、算出された抵抗値に基づき相電圧指令値Ｖｕ，Ｖｖ，Ｖｗが補正される。したがって、電子部品等の特性バラツキや温度変化によって上段アーム抵抗Ｒhxや下段アーム抵抗Ｒlxの抵抗値がばらついたり変動したりしても、本来印加すべき電圧が精度よくモータに印加され、トルクリップルが抑制される。
【０１１３】
なお、上段および下段アーム抵抗Ｒhx，Ｒlxの抵抗値の算出はブラシレスモータ１の制御演算の周期毎（相電圧指令値の算出毎）に行う必要はなく、電圧センサ４８ｕ，４８ｖ，４８ｗによる相電圧Ｖ１，Ｖ２，Ｖ３の検出も制御演算の周期毎に行う必要はない。このため本実施形態によれば、マイコン７０の演算負荷が軽減される。また、電圧センサ４８ｕ，４８ｖ，４８ｗはＰＷＭ周期に対して十分に応答できるものであればよく、その実現方法は限定されない。例えば、マイコン７０がＡ／Ｄ変換器を内蔵している場合には、当該マイコン７０の所定入力ポートにモータ駆動回路４３における各出力端Ｎｕ，Ｎｖ，Ｎｗの電圧を分圧回路等を介して与えることにより、電圧センサ４８ｕ，４８ｖ，４８ｗを簡易に実現することができる。
【０１１４】
上記実施形態では、相電圧指令値Ｖｕ，Ｖｖ，Ｖｗの補正に使用する上段および下段アーム抵抗Ｒhx，Ｒlxの抵抗値の算出には、電圧センサによる相電圧検出値Ｖ１，Ｖ２，Ｖ３が必要であるが、これらの相電圧検出値Ｖ１，Ｖ２，Ｖ３（Ｖｘｈ，Ｖｘｌ）を用いて式（３４）（３５）の計算を行う前に、ローパスフィルタに相当するフィルタ演算（なまし処理）を行うのが好ましい。このようにすれば、検出信号のノイズによる補正誤差を軽減することができる。
【０１１５】
また上記実施形態では、上段および下段アーム抵抗Ｒhx，Ｒlxの抵抗値の算出に相電流推定値Ｉｕｅ，Ｉｖｅ，Ｉｗｅが使用されているが、これに代えて、相電流検出値Ｉｕ，Ｉｖ，Ｉｗを使用してもよい。この場合、上記第２の実施形態における相電流算出部６１２（図８）を補正部７１に設けることにより、電流センサ４６で検出された電流値Ｉａから相電流検出値Ｉｕ，Ｉｖ，Ｉｗを得ることができる。一方、上記実施形態では、上段および下段アーム抵抗Ｒhx，Ｒlxの抵抗値の算出には相電流検出値は使用されていないので、オープンループ制御部５１におけるｑ軸電圧指令値ｖqcおよびｄ軸電圧指令値ｖdcの計算に必要なΦの計算にも電流検出値を使用しないように変更すれば、電流センサ４６が不要となる。
【０１１６】
上記実施形態では、モータ駆動回路４３における出力端Ｎｕ，Ｎｖ，Ｎｗの電圧を検出することによりｕ相電圧検出値Ｖ１、ｖ相電圧検出値Ｖ２、ｗ相電圧検出値Ｖ３を得ているが、これに加えて、図１４に示すように、モータ駆動回路４３における上下端（電源ラインへの接続点とグランドへの接続点）の電圧を検出して上端電圧検出値Ｖ４および下端電圧検出値Ｖ５を得るようにしてもよい。この場合、各相の上段および下段アーム抵抗Ｒhx，Ｒlxの抵抗値を下記式により算出することができる（ｘ＝ｕ，ｖ，ｗ）。
Ｒhx＝（Ｖ４−Ｖｘｈ）／Ｉｘｅ      …（３７）
Ｒlu＝（Ｖ５−Ｖｘｌ）／Ｉｘｅ      …（３８）
【０１１７】
＜５．その他の実施形態＞
図１５は、本発明の他の実施形態に係るモータ制御装置の構成を示すブロック図である。このモータ制御装置も、第１〜第３の実施形態と同様、図１に示す電動パワーステアリング装置において、ｕ相、ｖ相およびｗ相の３相巻線（図示せず）を有するブラシレスモータ１を駆動するために使用されるものであって、ＥＣＵ１０を用いて構成されている。本実施形態における構成要素のうち上記第３の実施形態と同一のものについては同一の参照符号を付して詳しい説明を省略する。
【０１１８】
本実施形態に係るモータ制御装置は、第３の実施形態と同様、モータ駆動回路４３における出力端Ｎｕ，Ｎｖ，Ｎｗの電圧をそれぞれ検出する電圧検出手段としてｕ相電圧センサ４８ｕ、ｖ相電圧センサ４８ｖ、ｗ相電圧センサ４８ｗを備えている。これらの電圧センサ４８ｕ，４８ｖ，４８ｗは、それぞれ、上記出力端Ｎｕ，Ｎｖ，Ｎｗの電圧の検出値をｕ相電圧検出値Ｖ１、ｖ相電圧検出値Ｖ２、ｗ相電圧検出値Ｖ３として出力する。
【０１１９】
本実施形態における補正部８１は、ｑ軸電流推定値Ｉｑｅおよびｄ軸電流推定値Ｉｄｅを使用することなく、上記の相電圧検出値Ｖ１，Ｖ２，Ｖ３に基づいて、ｄｑ軸／３相変換部５４から出力される相電圧指令値Ｖｕ，Ｖｖ，Ｖｗを補正する。このため本実施形態では、第３の実施形態（図１２）とは異なり、電流推定部５８は設けられていない。以下、図１１および図１５を参照して、本実施形態における補正部８１の動作を説明する。
【０１２０】
いまｘ相電圧指令値Ｖｘに対応するモータ駆動回路４３の上段スイッチング素子ＳＷＸｈのオン期間がｔｘであるとすると、このときブラシレスモータ１に印加されるべきｘ相電圧（周期Ｔにおける平均値）は
｛Ｖｂ・ｔｘ＋０・（Ｔ−ｔｘ）｝／Ｔ    …（３９）
である（ｘ＝ｕ，ｖ，ｗ）。
【０１２１】
ｘ相実電圧Ｖｘａをこのｘ相電圧に等しくすべく、ｘ相電圧指令値Ｖｘに対するｘ相実電圧Ｖｘａのずれ（ｘ相出力端の電圧のずれ）を補償するために、図１１に示すように上段スイッチング素子ＳＷＸｈのオン期間をｔｘからｔxcに変更することを考える。すなわち、ｘ相実電圧Ｖｘａにおいて上段および下段アーム抵抗Ｒhx，Ｒlxによって生じる誤差Δex（式（２８））を補償するために上段スイッチング素子ＳＷＸｈのオン期間をｔｘからｔxcに変更する。この変更により、ブラシレスモータ１に印加されるｘ相実電圧は
｛Ｖｘｈ・ｔxc＋Ｖｘｌ・（Ｔ−ｔxc）｝／Ｔ    …（４０）
となる。ここで、上段スイッチング素子ＳＷＸｈのオン期間ｔxcにおける相電圧検出値Ｖ１，Ｖ２，Ｖ３をそれぞれＶｕｈ，Ｖｖｈ，Ｖｗｈで示し、上段スイッチング素子ＳＷＸｈのオフ期間（Ｔ−ｔxc）における相電圧検出値Ｖ１，Ｖ２，Ｖ３をそれぞれＶｕｌ，Ｖｖｌ，Ｖｗｌで示すものとする（図１１参照）。
【０１２２】
上記式（３９）と（４０）より下記式が成立する。
｛Ｖｂ・ｔｘ＋０・（Ｔ−ｔｘ）｝／Ｔ
＝｛Ｖｘｈ・ｔxc＋Ｖｘｌ・（Ｔ−ｔxc）｝／Ｔ    …（４１）
上記式（４１）とｔｘ＝（Ｖｘ／Ｖｂ）・Ｔ，ｔxc＝（Ｖｘｃ／Ｖｂ）・Ｔより補正後のｘ相電圧指令値Ｖｘｃは次式により得られる（ｘ＝ｕ，ｖ，ｗ）。
Ｖｘｃ＝｛Ｖｘ＋（０−Ｖｘｌ）｝・Ｖｂ／（Ｖｘｈ−Ｖｘｌ）    …（４２）
【０１２３】
このようにして得られた補正後の相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃは、補正部８１から出力されて３相／ＰＷＭ変調器４１に与えられる。なお、このような補正後の相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃに応じてブラシレスモータ１に電圧が印加されることにより、当該ブラシレスモータ１に流れる電流は、通常、当該補正に使用した相電圧検出値Ｖ１，Ｖ２，Ｖ３の検出時点の電流に比べて変化している。このため、当該補正後においては、通常、相電圧検出値Ｖｘｈ，Ｖｘｌも変化しているので、必ずしも上記式（４１）は成立しない。しかし、このような補正が繰り返されることによって、上記式（４１）が成立するようになる。
【０１２４】
上記のような実施形態によれば、第１〜第３の実施形態と同様、モータ駆動回路における上段アーム抵抗Ｒhxや下段アーム抵抗Ｒlxによる電圧降下によってモータへの印加電圧に生じていた誤差は、相電圧指令値Ｖｕ，Ｖｖ，Ｖｗが補正されることにより補償される。また、モータ駆動回路４３における出力端Ｎｕ，Ｎｖ，Ｎｗの電圧が逐次検出され、それらの検出値に基づき相電圧指令値Ｖｕ，Ｖｖ，Ｖｗが補正される。したがって、第２および第３の実施形態と同様、電子部品等の特性バラツキや温度変化によって上段アーム抵抗Ｒhxや下段アーム抵抗Ｒlxの抵抗値がばらついたり変動したりしても、本来印加すべき電圧が精度よくモータに印加され、トルクリップルが抑制される。
【０１２５】
なお上記実施形態では、モータ駆動回路４３における出力端Ｎｕ，Ｎｖ，Ｎｗの電圧を検出することによりｕ相電圧検出値Ｖ１、ｖ相電圧検出値Ｖ２、ｗ相電圧検出値Ｖ３を得ているが、これに加えて、図１４に示すように、モータ駆動回路４３における上下端（電源ラインへの接続点とグランドへの接続点）の電圧を検出して上端電圧検出値Ｖ４および下端電圧検出値Ｖ５を得るようにしてもよい。この場合、補正後のｘ相電圧指令値Ｖｘｃは、上記式（４２）に代えて次式により算出される。
Ｖｘｃ＝｛Ｖｘ＋（Ｖ５−Ｖｘｌ）｝・Ｖ４／（Ｖｘｈ−Ｖｘｌ）    …（４３）
【０１２６】
次に、本発明の更に他の実施形態について説明する。図１６は、この実施形態に係るモータ制御装置の構成を示すブロック図である。このモータ制御装置も、第１〜第３の実施形態と同様、図１に示す電動パワーステアリング装置において、ｕ相、ｖ相およびｗ相の３相巻線（図示せず）を有するブラシレスモータ１を駆動するために使用されるものであって、ＥＣＵ１０を用いて構成されている。本実施形態における構成要素のうち上記第２の実施形態と同一のものについては同一の参照符号を付して詳しい説明を省略する。
【０１２７】
本実施形態では、当該モータ制御装置の製造時にモータ駆動回路４３における各相の上段および下段アーム抵抗Ｒhx、Ｒlxが測定され、それらの測定値（これらの測定値も記号Ｒhx、Ｒlxで示すものとする）を記憶するための抵抗値記憶部５９が設けられている（ｘ＝ｕ，ｖ，ｗ）。この抵抗値記憶部５９としては、例えばマイコン９０に内蔵されたフラッシュメモリ等を使用することができる。
【０１２８】
本実施形態における補正部９１は、その抵抗値記憶部５９から各相の上段および下段アーム抵抗Ｒhx、Ｒlxの測定値を読み出し、これらの測定値を用いて、第３の実施形態における補正部７１内の指令値補正部７１８（図１３）と同様、式（３２）に従って補正後の相電圧指令値Ｖｘｃを算出する（ｘ＝ｕ，ｖ，ｗ）。なお、上記から明らかなように本実施形態では、第３の実施形態における抵抗値算出部７１６は不要となる。
【０１２９】
モータ駆動回路４３における各相の上段および下段アーム抵抗Ｒhx、Ｒlxの測定については下記のようにして行うことができる。すなわち、ｘ相の上段スイッチング素子ＳＷＸｈをオンさせた状態で、この上段スイッチング素子ＳＷＸｈに所定の電流を流しつつ電源端子Ｎｐｗと出力端Ｎｘとの間の電圧を測定することにより、ｘ相の上段アーム抵抗Ｒhxの測定値を得ることができる（図９参照）。同様にして、ｘ相の下段アーム抵抗Ｒlxの測定値も得ることができる（ｘ＝ｕ，ｖ，ｗ）。
【０１３０】
なお、製造時における抵抗値測定のためにモータ駆動回路４３に流すべき電流は、測定に適した値であれば限定はないが、例えば実際の動作時に流れるべき電流または実際に動作させたときに流れる電流を使用してもよい。さらに、電圧値および電流値の測定には、ここでは装置外部の（テスト用の）測定器が使用されるが、モータ駆動回路４３に内蔵される図示されないセンサ類や電流センサ４６や電圧センサを使用してもよい。
【０１３１】
上記のような本実施形態によれば、抵抗値記憶部５９に記憶された測定値に基づいて相電圧指令値Ｖｕ，Ｖｖ，Ｖｗが補正され、これにより、モータ駆動回路４３における上段アーム抵抗Ｒhxや下段アーム抵抗Ｒlxによる電圧降下によってモータへの印加電圧に生じていた誤差が補償される。また、当該モータ制御装置の製造時における電子部品等の特性のバラツキによって上段アーム抵抗Ｒhxや下段アーム抵抗Ｒlxの抵抗値がばらついても、当該抵抗値についての製造時における測定値に基づき相電圧指令値Ｖｕ，Ｖｖ，Ｖｗが補正されるので、本来印加すべき電圧が精度よくモータに印加され、トルクリップルが抑制される。さらに、本実施形態によれば、既述の他の実施形態に比べ、相電圧指令値の補正に必要な検出回路（電流センサ、電圧センサ）を削減できると共に演算負荷を低減することができる。
【０１３２】
＜６．その他の変形例など＞
上記第２および第３の実施形態では、抵抗値補正部６１６または抵抗値算出部７１６において、上段アーム抵抗Ｒhxおよび下段アーム抵抗Ｒlxの抵抗値の補正（更新）や算出に、電流推定部５８およびｄｑ軸／３相変換部６１４，７１４により得られる相電流推定値Ｉｘｅが使用されるが（式（２３）と（２４）、式（３４）と（３５））、この相電流推定値Ｉｘｅに代えて、ｑ軸およびｄ軸電流指令値ｉqc，ｉdcを３相交流座標軸上の指令値に変換した値すなわち相電流指令値Ｉｘｃを使用してもよい（ｘ＝ｕ，ｖ，ｗ）。特にブラシレスモータ１の（単位時間当たりの）回転数の低い領域では、逆起電力が小さいことから、相電流推定値Ｉｘｅと相電流指令値Ｉｘｃとはほぼ等しいので、相電流指令値Ｉｘｃを使用して上記抵抗値を補正しても実質的に誤差は生じない。
【０１３３】
また、式（２３）と（２４）や式（３４）と（３５）によって上記抵抗値を正確に補正または算出するには、ブラシレスモータ１における逆起電力の小さい方が好ましく、電流値は大きい方が好ましい。さらに、電流値が小さいほどモータ駆動回路４３の上段および下段アーム抵抗Ｒhx，Ｒlxによる電圧降下は小さくなる。したがって、抵抗値補正部６１６における補正や抵抗値算出部７１６における抵抗値算出は、ブラシレスモータ１の（単位時間当たりの）回転数が所定値よりも低い領域でのみ行うようにしてもよく、また、各相の電流値が所定値よりも大きい領域でのみ行うようにしてもよい。
【０１３４】
上記各実施形態では、補正マップの作成、上段および下段アーム抵抗Ｒhx，Ｒlxの抵抗値の補正、または、上段および下段アーム抵抗Ｒhx，Ｒlxの抵抗値の算出は、相毎に行われるが（図２、式（２３）（２４）、式（３４）（３５）参照）、これらに代えて、各相に共通の補正マップを作成したり、上段および下段アーム抵抗Ｒhx，Ｒlxの抵抗値の補正または算出を各相共通に行ってもよい。また、特定の相について補正または算出された上段および下段アーム抵抗Ｒhx，Ｒlxの抵抗値を各相共通に用いて相電圧指令値Ｖｘを補正してもよい（ｘ＝ｕ，ｖ，ｗ）。これらの場合においても、相電圧指令Ｖｘの補正を相毎に行うことで、上記各実施形態と同様の効果が得られる。この場合、得られる効果の程度は上記各実施形態の場合と異なるが、上記各実施形態よりも構成を簡素化することができる。
【０１３５】
上記各実施形態では、ブラシレスモータ１を駆動するために印加すべき相電圧を示す指令値（本明細書ではこれを「駆動指令値」という）としての相電圧指令値Ｖｕ，Ｖｖ，Ｖｗを補正して得られる相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃがマイコンから３相／ＰＷＭ変調器４１に与えられ、３相／ＰＷＭ変調器４１は、それら（補正後の）相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃに基づき、モータ駆動回路４３における各スイッチング素子を制御するための信号としてＰＷＭ信号Ｕ，Ｖ，Ｗを生成する。しかし、これら相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃに代えて、これら相電圧指令値Ｖｕｃ，Ｖｖｃ，Ｖｗｃに対応するオン期間ｔuc，ｔvc，ｔwcまたはデューティ比ｔuc／Ｔ，ｔvc／Ｔ，ｔwc／Ｔが駆動指令値としてマイコン内の補正部から出力され、それらのオン期間ｔuc，ｔvc，ｔwcまたはデューティ比ｔuc／Ｔ，ｔvc／Ｔ，ｔwc／Ｔに基づき３相／ＰＷＭ変調器４１によりＰＷＭ信号Ｕ，Ｖ，Ｗが生成されるようにしてもよい。
【０１３６】
例えば上記第２の実施形態（図７）において、上段スイッチング素子ＳＷＸｈの（変更後の）オン期間ｔxcを駆動指令値とする場合には（ｘ＝ｕ，ｖ，ｗ）、式（３２）で示される相電圧指令値Ｖｘｃに代えて、下記式（３３）で示されるオン期間ｔxcが補正部６１で算出され、３相／ＰＷＭ変調器４１に与えられる。図１７は、この場合の補正部６１の構成を３相／ＰＷＭ変換器４１と共に示すブロックである。図１７に示す補正部６１は、図８に示した構成とは異なり、ｄｑ軸／３相変換部５４から与えられる相電圧指令値Ｖｘをオン期間ｔｘ＝Ｖｘ／Ｖｂに変換する変換器６１７を含んでおり（ｘ＝ｕ，ｖ，ｗ）、指令値補正部６１８ｂは、これらのオン期間ｔｘを下記式（３３）に従って補正することにより変更後のオン期間ｔxcを算出する。これら変更後のオン期間ｔuc，ｔvc，ｔwcは３相／ＰＷＭ変調器４１に与えられ、この場合の３相／ＰＷＭ変調器４１は、これらのオン期間ｔuc，ｔvc，ｔwcに基づきＰＷＭ信号Ｕ，Ｖ，Ｗを生成する。なお、図１７の補正部６１における他の部分の構成は、図８に示した構成と同様であり、同一構成要素には同一の参照符号が付されている。
ｔxc＝｛（Ｖｂ−０）・ｔｘ＋Ｒlx・Ｉxe・Ｔ｝／｛Ｖｂ−（Ｒhx−Ｒlx）・Ｉxe｝
…（３３）
【０１３７】
また、例えば上記他の実施形態（図１５）において上段スイッチング素子ＳＷＸｈの（変更後の）オン期間ｔxcを駆動指令値とする場合には、式（４２）で示される相電圧指令値Ｖｘｃに代えて、下記式で示されるオン期間ｔxcが補正部８１で算出され、３相／ＰＷＭ変調器４１に与えられる（ｘ＝ｕ，ｖ，ｗ）。
ｔxc＝｛（Ｖｂ−０）・ｔｘ＋（０−Ｖｘｌ）・Ｔ｝／（Ｖｘｈ−Ｖｘｌ）
この場合の３相／ＰＷＭ変調器４１は、これらのオン期間ｔuc，ｔvc，ｔwcに基づきＰＷＭ信号Ｕ，Ｖ，Ｗを生成する。なお、この場合において、更に図１４に示すように、モータ駆動回路４３における上下端（電源ラインへの接続点とグランドへの接続点）の電圧を検出して上端電圧検出値Ｖ４および下端電圧検出値Ｖ５を得るように構成されているときには、下記式で示されるオン期間ｔxcが補正部８１で算出され、３相／ＰＷＭ変調器４１に与えられる（ｘ＝ｕ，ｖ，ｗ）。
ｔxc＝｛（Ｖ４−Ｖ５）・ｔｘ＋（Ｖ５−Ｖｘｌ）・Ｔ｝／（Ｖｘｈ−Ｖｘｌ）
【０１３８】
上記各実施形態のうち、第１の実施形態はフィードバック制御を前提として説明されており、他の実施形態はオープンループ制御を前提として説明されている。しかし、本発明はいずれの制御方式にも適用可能であり、各実施形態において採用されている制御方式をフィードバック制御とオープンループ制御との間で入れ替えてもよい。ただし、モータ駆動回路４３における上段および下段アーム抵抗Ｒhx，Ｒlxに起因するモータ印加電圧の誤差によるモータ電流またはモータトルクへの影響は、一般に、フィードバック制御の場合よりもオープンループ制御の場合の方が大きい。このため、本発明はオープンループ制御の場合に特に有効である。
【０１３９】
なお本発明は、上述したコラムアシスト型の電動パワーステアリング装置だけでなく、ピニオンアシスト型やラックアシスト型の電動パワーステアリング装置にも適用できる。また本発明は、電動パワーステアリング装置以外のモータ制御装置にも適用できる。さらに上記各実施形態では、駆動対象としてのブラシレスモータ１の相数を３としているが、上記説明から明らかなように、３相以外の相数のブラシレスモータを駆動するためのモータ制御装置にも本発明を適用することができる。
【図面の簡単な説明】
【０１４０】
【図１】本発明に係るモータ制御装置を備える電動パワーステアリング装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態に係るモータ制御装置の構成を示すブロック図である。
【図３】３相ブラシレスモータにおける３相交流座標とｄｑ座標を示す図である。
【図４】上記第１の実施形態における補正マップの作成を説明するための図である。
【図５】上記第１の実施形態における補正マップの作成に必要な電圧ずれを求めるための１相分の等価回路を示す回路図である。
【図６】図５に示す等価回路に基づき作成される補正マップを説明するための図である。
【図７】本発明の第２の実施形態に係るモータ制御装置の構成を示すブロック図である。
【図８】上記第２の実施形態における補正部の構成を示すブロック図である。
【図９】上段および下段アーム抵抗に起因するモータへの印加電圧の誤差を説明するための回路図である。
【図１０】モータへの印加電圧につき上段および下段アーム抵抗によって生じる誤差を説明するための波形図である。
【図１１】モータへの印加電圧につき上段および下段アーム抵抗によって生じる誤差を補償するための補正（相電圧指令値の補正）を説明するための波形図である。
【図１２】本発明の第３の実施形態に係るモータ制御装置の構成を示すブロック図である。
【図１３】上記第３の実施形態における補正部の構成を示すブロック図である。
【図１４】上記第３の実施形態の変形例を説明するための回路図である。
【図１５】本発明の他の実施形態に係るモータ制御装置の構成を示すブロック図である。
【図１６】本発明の更に他の実施形態に係るモータ制御装置の構成を示すブロック図である。
【図１７】本発明の上記第２の実施形態の他の変形例における補正部の構成を３相／ＰＷＭ変調器と共に示すブロック図である。
【符号の説明】
【０１４１】
６…ロータ、１０…ＥＣＵ、２０…モータ制御部、３６…補正演算部、３７…補正記憶部、４３…モータ駆動回路、４５…電流センサ、１０，６０，７０，８０，９０…マイコン。
【図１】
0005412825.tif 000002
【図２】
0005412825.tif 000003
【図３】
0005412825.tif 000004
【図４】
0005412825.tif 000005
【図５】
0005412825.tif 000006
【図６】
0005412825.tif 000007
【図７】
0005412825.tif 000008
【図８】
0005412825.tif 000009
【図９】
0005412825.tif 000010
【図１０】
0005412825.tif 000011
【図１１】
0005412825.tif 000012
【図１２】
0005412825.tif 000013
【図１３】
0005412825.tif 000014
【図１４】
0005412825.tif 000015
【図１５】
0005412825.tif 000016
【図１６】
0005412825.tif 000017
【図１７】
0005412825.tif 000018