(57)【特許請求の範囲】
【請求項１】
ロータと、このロータに対向するステータとを備え、車両の舵取り機構に駆動力を付与するためのモータを制御するためのモータ制御装置であって、
制御上の回転角である制御角に従う回転座標系の軸電流値で前記モータを駆動する電流駆動手段と、
所定の演算周期毎に、制御角の前回値に加算角を加算することによって制御角の今回値を求める制御角演算手段と、
前記車両の操向のために操作される操作部材に加えられる操舵トルクを検出するための操舵トルク検出手段と、
操舵トルクの指示値である指示操舵トルクを設定する指示操舵トルク設定手段と、
前記操舵トルク検出手段によって検出される検出操舵トルクと、前記指示操舵トルク設定手段によって設定される指示操舵トルクとの偏差であるトルク偏差に応じて前記加算角を演算する加算角演算手段と、
前記トルク偏差に基づいて、前記軸電流値の目標値である指示電流値を設定するための指示電流設定手段とを含み、
前記指示電流設定手段は、前記トルク偏差に応じた補正量で、指示電流の前回値を補正することにより、指示電流の今回値を設定するものである、モータ制御装置。
【請求項２】
前記指示電流設定手段は、前記トルク偏差の絶対値が大きくなるに従って、前記補正量の絶対値が大きくなるように、前記補正量を演算する補正量演算手段を含む、請求項１に記載のモータ制御装置。
【請求項３】
前記指示電流設定手段は、
前記トルク偏差の絶対値が所定値未満であるときおよび、前記トルク偏差の絶対値が前記所定値以上であり、かつ前記検出操舵トルクの絶対値が前記指示操舵トルクの絶対値よりも小さいときには、指示電流の前回値を減少させるための補正量を演算する第１補正量演算手段と、
前記トルク偏差の絶対値が前記所定値より大きく、かつ前記検出操舵トルクの絶対値が前記指示操舵トルクの絶対値よりも大きいときには、指示電流の前回値を増加させるための補正量を演算する第２補正量演算手段とを含む、請求項１に記載のモータ制御装置。
【請求項４】
前記指示電流設定手段は、
前記検出操舵トルクの絶対値が前記指示操舵トルクの絶対値よりも大きく、かつ前記トルク偏差の絶対値が第１の所定値より大きいときには、指示電流の前回値を増加させるための補正量を演算する手段と、
前記検出操舵トルクの絶対値が前記指示操舵トルクの絶対値よりも小さく、かつ前記トルク偏差の絶対値が第２の所定値より大きいときには、指示電流の前回値を増加させるための補正量を演算する手段と、
前記検出操舵トルクの絶対値が前記指示操舵トルクの絶対値よりも大きく、かつ前記トルク偏差の絶対値が前記第１の所定値以下であるときおよび前記検出操舵トルクの絶対値が前記指示操舵トルクの絶対値よりも小さく、かつ前記トルク偏差の絶対値が前記第２の所定値以下のときには、指示電流の前回値を減少させるための補正量を演算する手段とを含む、請求項１に記載のモータ制御装置。
【請求項５】
前記指示電流の前回値を減少させる場合の補正量の絶対値が、所定値以下である請求項１、３または４に記載のモータ制御装置。
【請求項６】
ロータと、このロータに対向するステータとを備え、車両の舵取り機構に駆動力を付与するためのモータを制御するためのモータ制御装置であって、
制御上の回転角である制御角に従う回転座標系の軸電流値で前記モータを駆動する電流駆動手段と、
所定の演算周期毎に、制御角の前回値に加算角を加算することによって制御角の今回値を求める制御角演算手段と、
前記車両の操向のために操作される操作部材に加えられる操舵トルクを検出するための操舵トルク検出手段と、
操舵トルクの指示値である指示操舵トルクを設定する指示操舵トルク設定手段と、
前記操舵トルク検出手段によって検出される検出操舵トルクと、前記指示操舵トルク設定手段によって設定される指示操舵トルクとの偏差に応じて前記加算角を演算する加算角演算手段と、
前記操舵トルク検出手段によって検出される検出操舵トルクの変化量と、前記加算角演算手段によって演算される加算角との比に基づいて、前記軸電流値の目標値である指示電流値を設定するための指示電流設定手段とを含み、
前記指示電流設定手段は、前記検出操舵トルクの変化量と前記加算角との比に応じた補正量で、指示電流の前回値を補正することにより、指示電流の今回値を設定するものである、モータ制御装置。
【請求項７】
前記指示電流設定手段は、
今回演算された前記補正量が指示電流の前回値を減少させるための補正量であるときには、前回の指示電流の減少時点から所定時間以上の時間が経過している場合にのみ、今回演算された前記補正量で指示電流の前回値を補正することにより、指示電流の今回値を設定する手段をさらに含む、請求項１〜６のいずれか一項に記載のモータ制御装置。
【請求項８】
前記指示電流設定手段は、
ロータが停止しているか否かを判別する判別手段と、
今回演算された前記補正量が指示電流の前回値を減少させるための補正量であるときには、前回の指示電流の減少時点から所定時間以上の時間が経過しており、かつ前記判別手段によってロータが停止していると判別された場合にのみ、今回演算された前記補正量で指示電流の前回値を補正することにより、指示電流の今回値を設定する手段と、
をさらに含む請求項１〜６のいずれか一項に記載のモータ制御装置。
【請求項９】
前記モータの誘起電圧を推定する誘起電圧推定手段をさらに含み、
前記判別手段は、前記誘起電圧推定手段によって推定された誘起電圧に基づいてロータが停止しているか否かを判別する、請求項８に記載のモータ制御装置。
【請求項１０】
車両の舵取り機構に駆動力を付与するモータと、
前記モータを制御する請求項１〜９のいずれか一項に記載のモータ制御装置とを含む、車両用操舵装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ブラシレスモータを駆動するためのモータ制御装置およびそれを備えた車両用操舵装置に関する。車両用操舵装置の一例は、電動パワーステアリング装置である。
【背景技術】
【０００２】
ブラシレスモータを駆動制御するためのモータ制御装置は、一般に、ロータの回転角を検出するための回転角センサの出力に応じてモータ電流の供給を制御するように構成されている。回転角センサとしては、一般的には、ロータ回転角（電気角）に対応した正弦波信号および余弦波信号を出力するレゾルバが用いられる。しかし、レゾルバは、高価であり、配線数が多く、また、設置スペースも大きい。そのため、ブラシレスモータを備えた装置のコスト削減および小型化が阻害されるという課題がある。
【０００３】
そこで、回転角センサを用いることなくブラシレスモータを駆動するセンサレス駆動方式が提案されている。センサレス駆動方式は、ロータの回転に伴う誘起電圧を推定することによって、磁極の位相（ロータの電気角）を推定する方式である。ロータ停止時および極低速回転時には、磁極の位相を推定できないので、別の方式で磁極の位相が推定される。具体的には、ステータに対してセンシング信号を注入し、このセンシング信号に対するモータの応答が検出される。このモータ応答に基づいて、ロータ回転位置が推定される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平10-243699号公報
【特許文献２】特開2009-124811号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のセンサレス駆動方式は、誘起電圧やセンシング信号を用いてロータの回転位置を推定し、その推定によって得られた回転位置に基づいてモータを制御するものである。しかし、この駆動方式は、いずれの用途にも適しているわけではなく、たとえば、車両の舵取り機構に操舵補助力を与える電動パワーステアリング装置その他の車両用操舵装置の駆動源として用いられるブラシレスモータの制御に適用するための手法は未だ確立されていない。そのため、別の方式によるセンサレス制御の実現が望まれている。
【０００６】
そこで、この発明の目的は、回転角センサを用いない新たな制御方式でモータを制御することができるモータ制御装置およびそれを備えた車両用操舵装置を提供することである。
【課題を解決するための手段】
【０００７】
上記の目的を達成するための請求項１記載の発明は、ロータ（５０）と、このロータに対向するステータ（５５）とを備え、車両の舵取り機構（２）に駆動力を付与するためのモータ（３）を制御するためのモータ制御装置（５）であって、制御上の回転角である制御角（θＣ）に従う回転座標系の軸電流値（Ｉγ）で前記モータを駆動する電流駆動手段（３０，３２〜３６）と、所定の演算周期毎に、制御角の前回値に加算角を加算することによって制御角の今回値を求める制御角演算手段（２６）と、前記車両の操向のために操作される操作部材（１０）に加えられる操舵トルク（Ｔ）を検出するための操舵トルク検出手段（１）と、操舵トルクの指示値である指示操舵トルク（Ｔ＊）を設定する指示操舵トルク設定手段（２１）と、前記操舵トルク検出手段によって検出される検出操舵トルクと、前記指示操舵トルク設定手段によって設定される指示操舵トルクとの偏差であるトルク偏差に応じて前記加算角を演算する加算角演算手段（２２，２３）と、前記トルク偏差に基づいて、前記軸電流値の目標値である指示電流値（Ｉγ＊）を設定するための指示電流設定手段（３０，６０）とを含み、前記指示電流設定手段は、前記トルク偏差に応じた補正量で、指示電流の前回値を補正することにより、指示電流の今回値を設定するものである、モータ制御装置である。なお、括弧内の英数字は後述の実施形態における対応構成要素等を表す。以下、この項において同じ。
【０００８】
この構成によれば、制御角に従う回転座標系（γδ座標系。以下「仮想回転座標系」といい、この仮想回転座標系の座標軸を「仮想軸」という。）の軸電流値（以下「仮想軸電流値」という。）によってモータが駆動される一方で、制御角は、演算周期毎に加算角を加算することによって更新される。これにより、制御角を更新しながら、すなわち、仮想回転座標系の座標軸（仮想軸）を更新しながら、仮想軸電流値でモータを駆動することによって、必要なトルクを発生させることができる。こうして、回転角センサを用いることなく、モータから適切なトルクを発生させることができる。
【０００９】
この発明では、操舵トルクが操舵トルク検出手段によって検出される。また、操舵トルクの指示値である指示操舵トルクが指示操舵トルク設定手段によって設定される。そして、加算角演算手段によって、検出操舵トルクと指示操舵トルクとの偏差（トルク偏差）に応じて加算角が演算される。加算角演算手段は、たとえば、検出操舵トルクを指示操舵トルクに一致させるべく、加算角を演算するように動作する。これにより、指示操舵トルクに応じた操舵トルクが操作部材に加えられる状態となるように、モータトルクが制御される。モータトルクは、ロータの磁極方向に従う回転座標系（ｄｑ座標系）の座標軸と前記仮想軸とのずれ量である負荷角に対応する。負荷角は、制御角とロータ角との差で表される。モータトルクの制御は、負荷角を調整することによって達成され、この負荷角の調整が加算角を制御することによって達成される。
【００１０】
さらに、この発明では、指示電流設定手段によって、検出操舵トルクと指示操舵トルクとの偏差（トルク偏差）に応じた補正量で、指示電流の前回値が補正されることにより、指示電流の今回値が設定される。これにより、トルク偏差に応じた補正量で指示電流値を増減できる。このため、検出操舵トルクを指示操舵トルクに速やかに一致させることが可能となるとともに、モータの発熱を抑制することが可能となる。
【００１１】
請求項２記載の発明は、前記指示電流設定手段は、前記トルク偏差の絶対値が大きくなるに従って、前記補正量の絶対値が大きくなるように、前記補正量を演算する補正量演算手段（３０Ａ，６０Ａ，６０Ｂ，６０Ｃ）を含む、請求項１に記載のモータ制御装置である。この構成では、トルク偏差の絶対値が大きくなるに従って、補正量の絶対値が大きくされる。
【００１２】
モータトルクによって操舵トルクが補われる場合、モータトルクが増加することによって、操舵トルクが減少するので、検出操舵トルクが減少することになる。一方、モータトルクが減少すれば、操舵トルクが増加するので、検出操舵トルクが増加することになる。
【００１３】
そこで、検出操舵トルクの絶対値が指示操舵トルクの絶対値よりも大きい場合、すなわち、モータトルクが不足している場合には、たとえば、トルク偏差の絶対値が大きいほど指示電流値が増加するように、補正量が演算される。これにより、モータトルクの絶対値が増加し、検出操舵トルクの絶対値が減少するから、検出操舵トルクを指示操舵トルクに速やかに一致させることが可能となる。
【００１４】
一方、検出操舵トルクの絶対値が指示操舵トルクの絶対値よりも小さい場合には、たとえば、トルク偏差の絶対値が大きいほど指示電流値が減少するように、補正量が演算される。これにより、指示電流値が減少するので、省電力化が図れるとともにモータの発熱を抑制できる。
つまり、前記補正量演算手段は、前記検出操舵トルクの絶対値が前記指示操舵トルクの絶対値よりも大きいときには、前記トルク偏差の絶対値に応じて指示電流値を増加させ、前記検出操舵トルクの絶対値が前記指示操舵トルクの絶対値よりも小さいときには、前記トルク偏差の絶対値に応じて指示電流値を減少させるように、前記補正量を演算する手段（３０Ａ，６０Ａ，６０Ｂ，６０Ｃ）を含むものであってもよい。
【００１５】
請求項３記載の発明は、前記指示電流設定手段は、前記トルク偏差の絶対値が所定値（Ｅ）未満であるときおよび、前記トルク偏差の絶対値が前記所定値以上であり、かつ前記検出操舵トルクの絶対値が前記指示操舵トルクの絶対値よりも小さいときには、指示電流の前回値を減少させるための補正量を演算する第１補正量演算手段（８０Ａ）と、前記トルク偏差の絶対値が前記所定値より大きく、かつ前記検出操舵トルクの絶対値が前記指示操舵トルクの絶対値よりも大きいときには、指示電流の前回値を増加させるための補正量を演算する第２補正量演算手段（８０Ａ）とを含む、請求項１に記載のモータ制御装置である。
【００１６】
トルク偏差の絶対値が所定値（Ｅ）未満であるときおよび、トルク偏差の絶対値が所定値（Ｅ）以上であり、かつ検出操舵トルクの絶対値が指示操舵トルクの絶対値よりも小さいときには、指示電流の前回値を減少させるための補正量（「電流減少量」）が演算される。これにより、指示電流値が減少するので、省電力化が図れるとともにモータの発熱を抑制できる。前記所定値（Ｅ）は、たとえば、操舵トルク検出手段の検出値のばらつきに応じた値に設定される。
【００１７】
一方、トルク偏差の絶対値が前記所定値（Ｅ）より大きく、かつ検出操舵トルクの絶対値が指示操舵トルクの絶対値よりも大きいときには、指示電流の前回値を増加させるための補正量（「電流増加量」）が演算される。これにより、モータトルクの絶対値が増加し、検出操舵トルクの絶対値が減少するから、検出操舵トルクを指示操舵トルクに速やかに一致させることが可能となる。
【００１８】
請求項４記載の発明は、前記指示電流設定手段は、前記検出操舵トルクの絶対値が前記指示操舵トルクの絶対値よりも大きく、かつ前記トルク偏差の絶対値が第１の所定値（Ｅ）より大きいときには、指示電流の前回値を増加させるための補正量を演算する手段と、前記検出操舵トルクの絶対値が前記指示操舵トルクの絶対値よりも小さく、かつ前記トルク偏差の絶対値が第２の所定値（Ｈ）より大きいときには、指示電流の前回値を増加させるための補正量を演算する手段と、前記検出操舵トルクの絶対値が前記指示操舵トルクの絶対値よりも大きく、かつ前記トルク偏差の絶対値が前記第１の所定値（Ｅ）以下であるときおよび前記検出操舵トルクの絶対値が前記指示操舵トルクの絶対値よりも小さく、かつ前記トルク偏差の絶対値が前記第２の所定値（Ｈ）以下のときには、指示電流の前回値を減少させるための補正量を演算する手段とを含む、請求項１に記載のモータ制御装置である。
【００１９】
検出操舵トルクの絶対値が指示操舵トルクの絶対値よりも大きく、かつトルク偏差の絶対値が第１の所定値（Ｅ）以下であるときおよび検出操舵トルクの絶対値が指示操舵トルクの絶対値よりも小さく、かつトルク偏差の絶対値が第２の所定値（Ｈ）以下のときには、指示電流の前回値を減少させるための補正量（「電流減少量」）が演算される。これにより、指示電流値が減少するので、省電力化が図れるとともにモータの発熱を抑制できる。前記第１の所定値（Ｅ）は、たとえば、操舵トルク検出手段の検出値のばらつきに応じた値に設定される。前記第２の所定値（Ｈ）は、たとえば、前記第１の所定値（Ｅ）以上の値に設定される。
【００２０】
検出操舵トルクの絶対値が指示操舵トルクの絶対値よりも大きく、かつトルク偏差の絶対値が第１の所定値（Ｅ）より大きいときには、指示電流の前回値を増加させるための補正量（「電流増加量」）が演算される。これにより、モータトルクの絶対値が増加し、検出トルクの絶対値が減少するから、検出操舵トルクを指示操舵トルクに速やかに一致させることが可能となる。
【００２１】
検出操舵トルクの絶対値が指示操舵トルクの絶対値よりも小さく、かつトルク偏差の絶対値が第２の所定値（Ｈ）より大きいときには、指示電流の前回値を増加させるための補正量（「電流増加量」）が演算される。これにより、検出操舵トルクの絶対値が指示操舵トルクの絶対値よりも小さくなり、トルク偏差の絶対値が第２の所定値（Ｈ）より大きくなった場合においても、モータトルクを発生させることが可能となる。したがって、このモータ制御装置が電動パワーステアリング装置に適用された場合には、切り戻し操舵が行われた場合にも、モータトルク（アシストトルク）を発生させることが可能となり、運転者に適切な操舵感を与えることが可能となる。
【００２２】
請求項５記載の発明は、前記指示電流の前回値を減少させる場合の補正量の絶対値が、所定値以下である請求項１、３または４に記載のモータ制御装置である。この構成によれば、モータトルクを低下させる場合に、モータトルクの変化量を低く抑えることができる。
請求項６記載の発明は、ロータ（５０）と、このロータに対向するステータ（５５）とを備え、車両の舵取り機構（２）に駆動力を付与するためのモータ（３）を制御するためのモータ制御装置（５）であって、制御上の回転角である制御角（θＣ）に従う回転座標系の軸電流値で前記モータを駆動する電流駆動手段（７０，３２〜３６）と、所定の演算周期毎に、制御角の前回値に加算角を加算することによって制御角の今回値を求める制御角演算手段（２６）と、前記車両の操向のために操作される操作部材（１０）に加えられる操舵トルク（Ｔ）を検出するための操舵トルク検出手段（１）と、操舵トルクの指示値である指示操舵トルク（Ｔ＊）を設定する指示操舵トルク設定手段（２１）と、前記操舵トルク検出手段によって検出される検出操舵トルクと、前記指示操舵トルク設定手段によって設定される指示操舵トルクとの偏差に応じて前記加算角を演算する加算角演算手段（２２，２３）と、前記操舵トルク検出手段によって検出される検出操舵トルクの変化量（δＴ）と、前記加算角演算手段によって演算される加算角（α）との比に基づいて、前記軸電流値の目標値である指示電流値（Ｉγ＊）を設定するための指示電流設定手段（７０）とを含み、前記指示電流設定手段は、前記検出操舵トルクの変化量と前記加算角との比に応じた補正量で、指示電流の前回値を補正することにより、指示電流の今回値を設定するものである、モータ制御装置である。
【００２３】
この構成によれば、制御角に従う回転座標系（γδ座標系。以下「仮想回転座標系」といい、この仮想回転座標系の座標軸を「仮想軸」という。）の軸電流値（以下「仮想軸電流値」という。）によってモータが駆動される一方で、制御角は、演算周期毎に加算角を加算することによって更新される。これにより、制御角を更新しながら、すなわち、仮想回転座標系の座標軸（仮想軸）を更新しながら、仮想軸電流値でモータを駆動することによって、必要なトルクを発生させることができる。こうして、回転角センサを用いることなく、モータから適切なトルクを発生させることができる。
【００２４】
この発明では、操舵トルクが操舵トルク検出手段によって検出される。また、操舵トルクの指示値である指示操舵トルクが指示操舵トルク設定手段によって設定される。そして、加算角演算手段によって、検出操舵トルクと指示操舵トルクとの偏差（トルク偏差）に応じて加算角が演算される。加算角演算手段は、たとえば、検出操舵トルクを指示操舵トルクに一致させるべく、加算角を演算するように動作する。これにより、指示操舵トルクに応じた操舵トルクが操作部材に加えられる状態となるように、モータトルクが制御される。モータトルクは、ロータの磁極方向に従う回転座標系（ｄｑ座標系）の座標軸と前記仮想軸とのずれ量である負荷角に対応する。負荷角は、制御角とロータ角との差で表される。モータトルクの制御は、負荷角を調整することによって達成され、この負荷角の調整が加算角を制御することによって達成される。
【００２５】
さらに、この発明では、指示電流設定手段によって、操舵トルク検出手段によって検出される検出操舵トルクの変化量と、加算角演算手段によって演算される加算角との比に基づいて、軸電流値の目標値である指示電流値が設定される。つまり、検出操舵トルクの変化量と加算角との比に応じた補正量で、指示電流の前回値が補正されることにより、指示電流の今回値が設定される。これにより、検出操舵トルクの変化量と加算角との比に応じて軸電流値を制御することができる。したがって、軸電流値に対するモータトルクの効率を向上させることが可能となる。
【００２６】
モータトルクの大きさは、たとえば、モータのトルク定数をＫＴ、軸電流値をＩγとし、負荷角をθＬとすると、ＫＴ・ＩγsinθＬで表すことができる。たとえば、加算角に対する検出操舵トルクの変化量の比の絶対値が大きい場合、すなわち、負荷角の変化量に対するモータトルクの変化量が大きい場合には、負荷角θＬが０°付近にあると考えられる。負荷角θＬが０°付近にある場合には、軸電流に対するモータトルクの効率が低く、負荷角θＬが９０°（または−９０°）付近にある場合には軸電流に対するモータトルクの効率が高い。これは、負荷角θＬが９０°付近である場合には、ロータにほぼ直交する方向に磁界を発生させることができるからである。負荷角θＬが０°付近にある場合に軸電流を減少させると、同じ大きさのモータトルクを発生させるために、負荷角θＬが９０°付近となるように制御されるため、軸電流値に対するモータトルクの効率を高めることができる。そこで、加算角に対する検出操舵トルクの変化量の比の絶対値が大きい場合には、指示電流を減少させるように補正することにより、軸電流値に対するモータトルクの効率を向上させることができる。
【００２７】
一方、加算角に対する検出操舵トルクの変化量の比の絶対値が小さい場合、すなわち、負荷角の変化量に対するモータトルクの変化量が小さい場合には、たとえば、負荷角θＬが９０°付近にあると考えられる。負荷角θＬが９０°付近にある場合には、モータトルクが現在の軸電流値でのほぼ最大値に達しており、モータトルク不足により、検出操舵トルクを指示操舵トルクに近づけることができなくなるおそれがある。そこで、加算角に対する検出操舵トルクの変化量の比の絶対値が小さい場合には、指示電流を増加させるように補正することにより、モータトルクを増加させる。これにより、検出操舵トルクを指示操舵トルクに近づけることができるようになる。
【００２８】
請求項７記載の発明は、前記指示電流設定手段は、今回演算された前記補正量が指示電流の前回値を減少させるための補正量であるときには、前回の指示電流の減少時点から所定時間（Ｔｓ）以上の時間が経過している場合にのみ、今回演算された前記補正量で指示電流の前回値を補正することにより、指示電流の今回値を設定する手段（８０Ｂ，Ｓ１４）をさらに含む、請求項１〜６のいずれか一項に記載のモータ制御装置である。
【００２９】
指示電流が減少されると、同じ大きさのモータトルクが発生するように、負荷角が制御される。指示電流が減少されてから、同じ大きさのモータトルクが発生される角度に負荷角が収束するより前に、指示電流がさらに減少されると、負荷角が適正値に収束できなくなるおそれがある。
この構成では、今回演算された補正量が指示電流の前回値を減少させるための補正量であるときには、前回の指示電流の減少時点から所定時間（Ｔｓ）以上の時間が経過している場合にのみ、今回演算された補正量で指示電流の前回値が補正されることにより、指示電流の今回値が設定される。これにより、指示電流が減少された場合に、負荷角が適正値に収束できなくなる事態を抑制または防止できる。
【００３０】
前記所定時間Ｔｓは、指示電流値が減少されてから、同じ大きさのモータトルクが発生される角度に負荷角が収束するのに要する時間の最大値に設定されることが好ましい。
請求項８記載の発明は、前記指示電流設定手段は、ロータが停止しているか否かを判別する判別手段（８０Ｂ，Ｓ１５）と、今回演算された前記補正量が指示電流の前回値を減少させるための補正量であるときには、前回の指示電流の減少時点から所定時間（Ｔｓ）以上の時間が経過しており、かつ前記判別手段によってロータが停止していると判別された場合にのみ、今回演算された前記補正量で指示電流の前回値を補正することにより、指示電流の今回値を設定する手段（８０Ｂ，Ｓ１４〜Ｓ１６）と、をさらに含む請求項１〜６のいずれか一項に記載のモータ制御装置である。
【００３１】
この構成では、請求項７記載の発明と同様な効果が得られる。また、この構成では、今回演算された補正量が指示電流の前回値を減少させるための補正量であっても、ロータが回転しているときには、指示電流は補正されなくなる。これにより、ロータが回転しているときに、指示電流が減少されるのを防止できる。
請求項９記載の発明は、前記モータの誘起電圧を推定する誘起電圧推定手段（３７）をさらに含み、前記判別手段は、前記誘起電圧推定手段によって推定された誘起電圧に基づいてロータが停止しているか否かを判別する、請求項８に記載のモータ制御装置である。この構成では、誘起電圧推定手段によって推定された誘起電圧に基づいてロータが停止しているか否かが判別される。
【００３２】
請求項１０記載の発明は、車両の舵取り機構（２）に駆動力を付与するモータ（３）と、前記モータを制御する請求項１〜９のいずれか一項に記載のモータ制御装置とを含む、車両用操舵装置である。この構成では、検出操舵トルクを指示操舵トルクに速やかに一致させることが可能となる車両用操舵装置が得られる。また、軸電流値に対するモータトルクの効率を向上させることができる車両用操舵装置が得られる。
【００３３】
前記モータ制御装置は、前記加算角を所定の制限値（ωmax）で制限する加算角制限手段をさらに含んでいてもよい。加算角に適切な制限を加えることによって、実際のロータの回転に比して過大な加算角が制御角に加算されることを抑制できる。これにより、適切にモータを制御することができる。
前記制限値は、たとえば、次式によって定められた値であってもよい。ただし、次式における「最大ロータ角速度」とは、電気角でのロータ角速度の最大値である。
【００３４】
制限値＝最大ロータ角速度×演算周期
たとえば、モータの回転を所定の減速比の減速機構を介して車両用操舵装置の操舵軸に伝達している場合には、最大ロータ角速度は、最大操舵角速度（操舵軸の最大回転角速度）×減速比×極対数で与えられる。「極対数」とは、ロータが有する磁極対（Ｎ極とＳ極との対）の数である。
【００３８】
前記モータ制御装置または前記車両用操舵装置は、前記操作部材の操舵角を検出する操舵角検出手段（４）をさらに含み、前記指示トルク設定手段は、前記操舵角検出手段によって検出される操舵角に応じて指示操舵トルクを設定するものであることが好ましい。この構成によれば、操作部材の操舵角に応じて指示操舵トルクが設定されるので、操舵角に応じた適切なトルクをモータから発生させることができ、運転者が操作部材に加える操舵トルクを操舵角に応じた値へと導くことができる。これにより、良好な操舵感を得ることができる。
【００３９】
前記指示トルク設定手段は、前記車両の車速を検出する車速検出手段（６）によって検出される当該車速に応じて指示操舵トルクを設定するものであってもよい。この構成によれば、車速に応じて指示操舵トルクが設定されるので、いわゆる車速感応制御を行うことができる。その結果、良好な操舵感を実現できる。たとえば、車速が大きいほど、すなわち、高速走行時ほど指示操舵トルクを小さく設定することより、すぐれた操舵感が得られる。
【図面の簡単な説明】
【００４０】
【図１】この発明の第１の実施形態に係るモータ制御装置を適用した電動パワーステアリング装置の電気的構成を説明するためのブロック図である。
【図２】モータの構成を説明するための図解図である。
【図３】前記電動パワーステアリング装置の制御ブロック図である。
【図４】操舵角に対する指示操舵トルクの特性例を示す図である。
【図５】操舵トルクリミッタの働きを説明するための図である。
【図６】図６Ａは、指示操舵トルクの符号が正である場合の、トルク偏差に対する電流増減量の設定例を示す図であり、図６Ｂは、指示操舵トルクの符号が負である場合の、トルク偏差に対する電流増減量の設定例を示す図である。
【図７】加算角リミッタの働きを説明するためのフローチャートである。
【図８】この発明の第２の実施形態に係るモータ制御装置を適用した電動パワーステアリング装置の構成を説明するためのブロック図である。
【図９】この発明の第３の実施形態に係るモータ制御装置を適用した電動パワーステアリング装置の構成を説明するためのブロック図である。
【図１０】図１０Ａは、加算角に対する操舵トルク変化量の比の絶対値に対する電流増減量の設定例を示す図であり、図１０Ｂは、操舵トルク変化量に対する加算角の比の絶対値に対する電流増減量の設定例を示す図であり、図１０Ｃは、指示電流値に対する増減量ゲインの設定例を示す図である。
【図１１】指示電流増減量演算部７０Ａの働きを説明するための説明図である。
【図１２】指示電流増減量演算部７０Ａの働きを説明するための説明図である。
【図１３】この発明の第４の実施形態に係るモータ制御装置を適用した電動パワーステアリング装置の構成を説明するためのブロック図である。
【図１４】誘起電圧推定部の構成を説明するためのブロック図である。
【図１５】図１５Ａは、指示操舵トルクの符号が正である場合の、トルク偏差に対する電流増減量の設定例を示す図であり、図１５Ｂは、指示操舵トルクの符号が負である場合の、トルク偏差に対する電流増減量の設定例を示す図である。
【図１６】指示電流増減量演算部および出力制御部の動作を示すフローチャートである。
【図１７】この発明の第５の実施形態に係るモータ制御装置を適用した電動パワーステアリング装置の構成を説明するためのブロック図である。
【図１８】図１８Ａは、指示操舵トルクの符号が正である場合の、トルク偏差に対する電流増減量の設定例を示す図であり、図１８Ｂは、指示操舵トルクの符号が負である場合の、トルク偏差に対する電流増減量の設定例を示す図である。
【発明を実施するための形態】
【００４１】
以下では、この発明の実施の形態を、添付図面を参照して詳細に説明する。
図１は、この発明の第１の実施形態に係るモータ制御装置を適用した電動パワーステアリング装置（車両用操舵装置の一例）の電気的構成を説明するためのブロック図である。この電動パワーステアリング装置は、車両を操向するための操作部材としてのステアリングホイール１０に加えられる操舵トルクＴを検出するトルクセンサ１と、車両の舵取り機構２に減速機構７を介して操舵補助力を与えるモータ３（ブラシレスモータ）と、ステアリングホイール１０の回転角である操舵角を検出する舵角センサ４と、モータ３を駆動制御するモータ制御装置５と、当該電動パワーステアリング装置が搭載された車両の速度を検出する車速センサ６とを備えている。舵角センサ４は、ステアリングホイール１０の中立位置（基準位置）からのステアリングホイール１０の正逆両方向の回転量（回転角）を検出するものであり、中立位置から右方向への回転量を正の値として出力し、中立位置から左方向への回転量を負の値として出力する。
【００４２】
モータ制御装置５は、トルクセンサ１が検出する操舵トルク、舵角センサ４が検出する操舵角および車速センサ６が検出する車速に応じてモータ３を駆動することによって、操舵状況および車速に応じた適切な操舵補助を実現する。
モータ３は、この実施形態では、三相ブラシレスモータであり、図２に図解的に示すように、界磁としてのロータ５０と、このロータ５０に対向するステータ５５に配置されたＵ相、Ｖ相およびＷ相のステータ巻線５１，５２，５３とを備えている。モータ３は、ロータの外部にステータを対向配置したインナーロータ型のものであってもよいし、筒状のロータの内部にステータを対向配置したアウターロータ型のものであってもよい。
【００４３】
各相のステータ巻線５１，５２，５３の方向にＵ軸、Ｖ軸およびＷ軸をとった三相固定座標（ＵＶＷ座標系）が定義される。また、ロータ５０の磁極方向にｄ軸（磁極軸）をとり、ロータ５０の回転平面内においてｄ軸と直角な方向にｑ軸（トルク軸）をとった二相回転座標系（ｄｑ座標系。実回転座標系）が定義される。ｄｑ座標系は、ロータ５０とともに回転する回転座標系である。ｄｑ座標系では、ｑ軸電流のみがロータ５０のトルク発生に寄与するので、ｄ軸電流を零とし、ｑ軸電流を所望のトルクに応じて制御すればよい。ロータ５０の回転角（ロータ角）θＭは、Ｕ軸に対するｄ軸の回転角である。ｄｑ座標系は、ロータ角θＭに従う実回転座標系である。このロータ角θＭを用いることによって、ＵＶＷ座標系とｄｑ座標系との間での座標変換を行うことができる。
【００４４】
一方、この実施形態では、制御上の回転角を表す制御角θＣが導入される。制御角θＣは、Ｕ軸に対する仮想的な回転角である。この制御角θＣに対応する仮想的な軸をγ軸とし、このγ軸に対して９０°進んだ軸をδ軸として、仮想二相回転座標系（γδ座標系。仮想回転座標系）を定義する。制御角θＣがロータ角θＭに等しいとき、仮想回転座標系であるγδ座標系と実回転座標系であるｄｑ座標系とが一致する。すなわち、仮想軸としてのγ軸は実軸としてのｄ軸と一致し、仮想軸としてのδ軸は実軸としてのｑ軸と一致する。γδ座標系は、制御角θＣに従う仮想回転座標系である。ＵＶＷ座標系とγδ座標系との座標変換は、制御角θＣを用いて行うことができる。
【００４５】
制御角θＣとロータ角θＭとの差を負荷角θＬ（＝θＣ−θＭ）と定義する。
制御角θＣに従ってγ軸電流Ｉγをモータ３に供給すると、このγ軸電流Ｉγのｑ軸成分（ｑ軸への正射影）がロータ５０のトルク発生に寄与するｑ軸電流Ｉｑとなる。すなわち、γ軸電流Ｉγとｑ軸電流Ｉｑとの間に、次式(1)の関係が成立する。
Ｉｑ＝Ｉγ・sinθＬ      …(1)
再び図１を参照する。モータ制御装置５は、マイクロコンピュータ１１と、このマイクロコンピュータ１１によって制御され、モータ３に電力を供給する駆動回路（インバータ回路）１２と、モータ３の各相のステータ巻線に流れる電流を検出する電流検出部１３とを備えている。
【００４６】
電流検出部１３は、モータ３の各相のステータ巻線５１，５２，５３に流れる相電流ＩＵ，ＩＶ，ＩＷ（以下、総称するときには「三相検出電流ＩＵＶＷ」という。）を検出する。これらは、ＵＶＷ座標系における各座標軸方向の電流値である。
マイクロコンピュータ１１は、ＣＰＵおよびメモリ（ＲＯＭおよびＲＡＭなど）を備えており、所定のプログラムを実行することによって、複数の機能処理部として機能するようになっている。この複数の機能処理部には、操舵トルクリミッタ２０と、指示操舵トルク設定部２１と、トルク偏差演算部２２と、ＰＩ（比例積分）制御部２３と、加算角リミッタ２４と、制御角演算部２６と、指示電流値生成部３０と、電流偏差演算部３２と、ＰＩ制御部３３と、γδ／ＵＶＷ変換部３４と、ＰＷＭ（Pulse Width Modulation）制御部３５と、ＵＶＷ／γδ変換部３６とが含まれている。
【００４７】
指示操舵トルク設定部２１は、舵角センサ４によって検出される操舵角と、車速センサ６によって検出される車速とに基づいて、指示操舵トルクＴ＊を設定する。たとえば、図４に示すように、操舵角が正の値（右方向へ操舵した状態）のとき指示操舵トルクＴ＊は正の値（右方向へのトルク）に設定され、操舵角が負の値（左方向へ操舵した状態）のとき指示操舵トルクＴ＊は負の値（左方向へのトルク）に設定される。そして、操舵角の絶対値が大きくなるに従って、その絶対値が大きくなるように（図４の例では非線型に大きくなるように）指示操舵トルクＴ＊が設定される。ただし、所定の上限値（正の値。たとえば、＋６Ｎｍ）および下限値（負の値。たとえば−６Ｎｍ）の範囲内で指示操舵トルクＴ＊の設定が行われる。また、指示操舵トルクＴ＊は、車速が大きいほど、その絶対値が小さくなるように設定される。すなわち、車速感応制御が行われる。
【００４８】
操舵トルクリミッタ２０は、トルクセンサ１の出力を所定の上限飽和値＋Ｔmax（＋Ｔmax＞０。たとえば＋Ｔmax＝７Ｎｍ）と下限飽和値−Ｔmax（−Ｔmax＜０。たとえば−Ｔmax＝−７Ｎｍ）との間に制限する。具体的には、操舵トルクリミッタ２０は、図５に示すように、上限飽和値＋Ｔmaxと下限飽和値−Ｔmaxの間では、トルクセンサ１の検出操舵トルクＴをそのまま出力する。また、操舵トルクリミッタ２０は、トルクセンサ１の検出操舵トルクＴが上限飽和値＋Ｔmax以上であれば、上限飽和値＋Ｔmaxを出力する。そして、操舵トルクリミッタ２０は、トルクセンサ１の検出操舵トルクＴが下限飽和値−Ｔmax以下であれば、下限飽和値−Ｔmaxを出力する。飽和値＋Ｔmaxおよび−Ｔmaxは、トルクセンサ１の出力信号が安定な領域（信頼性のある領域）の境界を画定するものである。つまり、トルクセンサ１の出力信号は、上限飽和値Ｔmaxを超える区間、および下限飽和値−Ｔmaxを下回る区間では不安定であり、実際の操舵トルクに対応しなくなる。換言すれば、飽和値＋Ｔmax，−Ｔmaxは、トルクセンサ１の出力特性に応じて定められる。
【００４９】
トルク偏差演算部２２は、指示操舵トルク設定部２１によって設定される指示操舵トルクＴ＊と、トルクセンサ１によって検出され、操舵トルクリミッタ２０による制限処理を受けた操舵トルクＴ（以下、区別するために「検出操舵トルクＴ」という。）との偏差（トルク偏差）ΔＴ（＝Ｔ−Ｔ＊）を求める。ＰＩ制御部２３は、このトルク偏差ΔＴに対するＰＩ演算を行う。すなわち、トルク偏差演算部２２およびＰＩ制御部２３によって、検出操舵トルクＴを指示操舵トルクＴ＊に導くためのトルクフィードバック制御手段が構成されている。ＰＩ制御部２３は、トルク偏差ΔＴに対するＰＩ演算を行うことで、制御角θＣに対する加算角αを演算する。したがって、前記トルクフィードバック制御手段は、加算角αを演算する加算角演算手段を構成している。
【００５０】
加算角リミッタ２４は、ＰＩ制御部２３によって求められた加算角αに対して制限を加える。より具体的には、加算角リミッタ２４は、所定の上限値ＵＬ（正の値）と下限値ＬＬ（負の値）との間の値に加算角αを制限する。上限値ＵＬおよび下限値ＬＬは、所定の制限値ωmax（ωmax＞０。たとえばωmaxの既定値＝４５度）に基づいて定められる。この所定の制限値ωmaxの既定値は、たとえば、最大操舵角速度に基づいて定められる。最大操舵角速度とは、ステアリングホイール１０の操舵角速度として想定され得る最大値であり、たとえば、８００deg/sec程度である。
【００５１】
最大操舵角速度のときのロータ５０の電気角の変化速度（電気角での角速度。最大ロータ角速度）は、次式(2)のとおり、最大操舵角速度と、減速機構７の減速比と、ロータ５０の極対数との積で与えられる。極対数とは、ロータ５０が有する磁極対（Ｎ極とＳ極との対）の個数である。
最大ロータ角速度＝最大操舵角速度×減速比×極対数    …(2)
制御角θＣの演算間（演算周期）におけるロータ５０の電気角変化量の最大値（ロータ角変化量最大値）は、次式(3)のとおり、最大ロータ角速度に演算周期を乗じた値となる。
【００５２】
ロータ角変化量最大値＝最大ロータ角速度×演算周期
＝最大操舵角速度×減速比×極対数×演算周期    …(3)
このロータ角変化量最大値が一演算周期間で許容される制御角θＣの最大変化量である。そこで、前記ロータ角変化量最大値を制限値ωmaxの既定値とすればよい。この制限値ωmaxを用いて、加算角αの上限値ＵＬおよび下限値ＬＬは、それぞれ次式(4)(5)で表すことができる。
【００５３】
ＵＬ＝＋ωmax    …(4)
ＬＬ＝−ωmax    …(5)
加算角リミッタ２４による制限処理後の加算角αが、制御角演算部２６の加算器２６Ａにおいて、制御角θＣの前回値θＣ(n-1)（ｎは今演算周期の番号）に加算される（Ｚ−１は信号の前回値を表す）。ただし、制御角θＣの初期値は予め定められた値（たとえば零）である。
【００５４】
制御角演算部２６は、制御角θＣの前回値θＣ(n-1)に加算角変更部２５から与えられる加算角αを加算する加算器２６Ａを含む。すなわち、制御角演算部２６は、所定の演算周期毎に制御角θＣを演算する。そして、前演算周期における制御角θＣを前回値θＣ(n-1)とし、これを用いて今演算周期における制御角θＣである今回値θＣ(n)を求める。
指示電流値生成部３０は、制御上の回転角である前記制御角θＣに対応する仮想回転座標系であるγδ座標系の座標軸（仮想軸）に流すべき電流値を指示電流値として生成するものである。具体的には、γ軸指示電流値Ｉγ＊およびδ軸指示電流値Ｉδ＊（以下、これらを総称するときには「二相指示電流値Ｉγδ＊」という。）を生成する。指示電流値生成部３０は、γ軸指示電流値Ｉγ＊を有意値とする一方で、δ軸指示電流値Ｉδ＊を零とする。より具体的には、指示電流値生成部３０は、指示操舵トルク設定部２１によって設定される指示操舵トルクＴ＊と、トルクセンサ１によって検出される検出操舵トルクＴに基づいてγ軸指示電流値Ｉγ＊を設定する。つまり、指示電流値生成部３０は、二相指示電流値Ｉγδ＊を設定するための指示電流設定手段である。
【００５５】
指示電流値生成部３０は、指示電流増減量演算部３０Ａと、加算器３０Ｂと、上下限リミッタ３０Ｃとを含んでいる。指示電流増減量演算部３０Ａは、所定の演算周期毎に、指示操舵トルクＴ＊と検出操舵トルクＴに基づいて、指示電流値Ｉγ＊に対する電流増減量ΔＩγ＊を演算する。具体的には、指示電流増減量演算部３０Ａは、指示操舵トルクＴ＊の符号と、指示操舵トルクＴ＊と検出操舵トルクＴとの偏差ΔＴ（＝Ｔ−Ｔ＊）とに基づいて、電流増減量ΔＩγ＊を演算する。
【００５６】
指示電流増減量演算部３０Ａによる電流増減量ΔＩγ＊の演算方法の基本的な考え方について説明する。トルク偏差ΔＴの絶対値が所定値Ａ（Ａ＞０，図６Ａおよび図６Ｂ参照）以下である場合には、現在の指示電流値Ｉγ＊を維持させるために、電流増減量ΔＩγ＊を零とする。トルク偏差ΔＴの絶対値が所定値Ａより大きくかつ検出操舵トルクＴの絶対値が指示操舵トルクＴ＊の絶対値よりも大きい場合には、アシストトルク不足を補うために、指示電流値Ｉγ＊を零より大きな値とする。これにより、指示電流値Ｉγ＊が増加する。一方、トルク偏差ΔＴの絶対値が所定値Ａより大きくかつ検出操舵トルクＴの絶対値が指示操舵トルクＴ＊の絶対値よりも小さい場合には、省電力化を図るとともにモータの発熱を抑制するために、指示電流値Ｉγ＊を零より小さな値とする。これにより、指示電流値Ｉγ＊が減少する。
【００５７】
指示操舵トルクＴ＊の符号が正（Ｔ＊≧０）である場合の、トルク偏差ΔＴに対する電流増減量ΔＩγ＊の設定例は、図６Ａに示されている。トルク偏差ΔＴが所定値−Ａ（Ａ＞０）以上でかつ所定値＋Ａ以下の範囲では、電流増減量ΔＩγ＊は零に設定される。そして、トルク偏差ΔＴが所定値−Ａより小さくなるに従って、その値が零より小さくなるように（図６Ａの例ではリニアに小さくなるように）電流増減量ΔＩγ＊が設定される。また、トルク偏差ΔＴが所定値＋Ａより大きくなるに従って、その値が零より大きくなるように（図６Ａの例ではリニアに大きくなるように）電流増減量ΔＩγ＊が設定される。
【００５８】
指示操舵トルクＴ＊の符号が正（Ｔ＊≧０）である場合において、トルク偏差ΔＴ（＝Ｔ−Ｔ＊）が零以上である場合とは、検出操舵トルクＴの絶対値が指示操舵トルクＴ＊の絶対値よりも大きい場合である。従って、この場合には、モータトルク（アシストトルク）が不足していると考えられる。そこで、トルク偏差ΔＴが所定値＋Ａより大きい場合には、アシストトルク不足を補うように、電流増減量ΔＩγ＊が正の値にされている。この場合、トルク偏差ΔＴの絶対値が大きいほど、電流増減量ΔＩγ＊の絶対値も大きくなる（絶対値の大きな正の値となる）。
【００５９】
一方、トルク偏差ΔＴ（＝Ｔ−Ｔ＊）が零より小さい場合とは、検出操舵トルクＴの絶対値が指示操舵トルクＴ＊の絶対値よりも小さい場合である。従って、この場合には、アシストトルクが不足していないと考えられる。そこで、トルク偏差ΔＴが所定値−Ａ未満の場合には、省電力化を図るとともにモータの発熱を抑制するために、電流増減量ΔＩγ＊が負の値にされている。この場合、トルク偏差ΔＴの絶対値が大きいほど、電流増減量ΔＩγ＊の絶対値も大きくなる（絶対値の大きな負の値となる）。
【００６０】
指示操舵トルクＴ＊の符号が負（Ｔ＊＜０）である場合の、トルク偏差ΔＴに対する電流増減量ΔＩγ＊の設定例は、図６Ｂに示されている。トルク偏差ΔＴが所定値−Ａ以上でかつ所定値＋Ａ以下の範囲では、電流増減量ΔＩγ＊は零に設定される。そして、トルク偏差ΔＴが所定値−Ａより小さくなるに従って、その値が零より大きくなるように（図６Ｂの例ではリニアに大きくなるように）電流増減量ΔＩγ＊が設定される。また、トルク偏差ΔＴが所定値＋Ａより大きくなるに従って、その値が零より小さくなるように（図６Ｂの例ではリニアに小さくなるように）電流増減量ΔＩγ＊が設定される。
【００６１】
指示操舵トルクＴ＊の符号が負（Ｔ＊＜０）である場合において、トルク偏差ΔＴ（＝Ｔ−Ｔ＊）が零以上である場合とは、検出操舵トルクＴの絶対値が指示操舵トルクＴ＊の絶対値よりも小さい場合である。この場合には、アシストトルクが不足していないと考えられる。そこで、トルク偏差ΔＴが所定値＋Ａより大きい場合には、省電力化を図るとともにモータの発熱を抑制するために、電流増減量ΔＩγ＊が負の値にされている。この場合、トルク偏差ΔＴの絶対値が大きいほど、電流増減量ΔＩγ＊の絶対値も大きくなる（絶対値の大きな負の値となる）。
【００６２】
一方、トルク偏差ΔＴ（＝Ｔ−Ｔ＊）が零より小さい場合とは、検出操舵トルクＴの絶対値が指示操舵トルクＴ＊の絶対値よりも大きい場合である。従って、この場合には、アシストトルクが不足していると考えられる。そこで、トルク偏差ΔＴが所定値−Ａ未満である場合には、アシストトルク不足を補うように、電流増減量ΔＩγ＊が正の値にされている。この場合、トルク偏差ΔＴの絶対値が大きいほど、電流増減量ΔＩγ＊の絶対値も大きくなる（絶対値の大きな正の値となる）。
【００６３】
指示電流増減量演算部３０Ａによって演算された電流増減量ΔＩγ＊は、加算器３０Ｂにおいて、指示電流値Ｉγ＊の前回値Ｉγ＊（n-1）（ｎは今演算周期の番号）に加算される（Ｚ−１は信号の前回値を表す）。これにより、今演算周期での指示電流値Ｉγ＊が演算される。ただし、指示電流値Ｉγ＊の初期値は予め定められた値（例えば零）である。加算器３０Ｂによって得られた指示電流値Ｉγ＊は、上下限リミッタ３０Ｃに与えられる。上下限リミッタ３０Ｃは、加算器３０Ｂによって得られた指示電流値Ｉγ＊を、所定の下限値ξmin（ξmin≧０）と上限値ξmax（ξmax＞ξmin）との間の値に制限する。
【００６４】
つまり、加算器３０Ｂによって得られた指示電流値Ｉγ＊が、下限値ξmin以上でかつ上限値ξmax以下であるときには、上下限リミッタ３０Ｃは、当該指示電流値Ｉγ＊をそのまま出力する。加算器３０Ｂによって得られた指示電流値Ｉγ＊が下限値ξminより小さいときには、上下限リミッタ３０Ｃは、下限値ξminを今演算周期の指示電流値Ｉγ＊として出力する。加算器３０Ｂによって得られた指示電流値Ｉγ＊が上限値ξmaxより大きいときには、上下限リミッタ３０Ｃは、上限値ξmaxを今演算周期の指示電流値Ｉγ＊として出力する。
【００６５】
電流偏差演算部３２は、指示電流値生成部３０によって生成されたγ軸指示電流値Ｉγ＊に対するγ軸検出電流Ｉγの偏差Ｉγ＊−Ｉγと、δ軸指示電流値Ｉδ＊（＝０）に対するδ軸検出電流Ｉδの偏差Ｉδ＊−Ｉδとを演算する。γ軸検出電流Ｉγおよびδ軸検出電流Ｉδは、ＵＶＷ／γδ変換部３６から偏差演算部３２に与えられるようになっている。
【００６６】
ＵＶＷ／γδ変換部３６は、電流検出部１３によって検出されるＵＶＷ座標系の三相検出電流ＩＵＶＷ（Ｕ相検出電流ＩＵ、Ｖ相検出電流ＩＶおよびＷ相検出電流ＩＷ）をγδ座標系の二相検出電流ＩγおよびＩδ（以下総称するときには「二相検出電流Ｉγδ」という。）に変換する。これらが電流偏差演算部３２に与えられるようになっている。ＵＶＷ／γδ変換部３６における座標変換には、制御角演算部２６で演算される制御角θＣが用いられる。
【００６７】
ＰＩ制御部３３は、電流偏差演算部３２によって演算された電流偏差に対するＰＩ演算を行うことにより、モータ３に印加すべき二相指示電圧Ｖγδ＊（γ軸指示電圧Ｖγ＊およびδ軸指示電圧Ｖδ＊）を生成する。この二相指示電圧Ｖγδ＊が、γδ／ＵＶＷ変換部３４に与えられる。
γδ／ＵＶＷ変換部３４は、二相指示電圧Ｖγδ＊に対して座標変換演算を行うことによって、三相指示電圧ＶＵＶＷ＊を生成する。この座標変換には、制御角演算部２６で演算された制御角θＣが用いられる。三相指示電圧ＶＵＶＷ＊は、Ｕ相指示電圧ＶＵ＊、Ｖ相指示電圧ＶＶ＊およびＷ相指示電圧ＶＷ＊からなる。この三相指示電圧ＶＵＶＷ＊は、ＰＷＭ制御部３５に与えられる。
【００６８】
ＰＷＭ制御部３５は、Ｕ相指示電圧ＶＵ＊、Ｖ相指示電圧ＶＶ＊およびＷ相指示電圧ＶＷ＊にそれぞれ対応するデューティのＵ相ＰＷＭ制御信号、Ｖ相ＰＷＭ制御信号およびＷ相ＰＷＭ制御信号を生成し、駆動回路１２に供給する。
駆動回路１２は、Ｕ相、Ｖ相およびＷ相に対応した三相インバータ回路からなる。このインバータ回路を構成するパワー素子がＰＷＭ制御部３５から与えられるＰＷＭ制御信号によって制御されることにより、三相指示電圧ＶＵＶＷ＊に相当する電圧がモータ３の各相のステータ巻線５１，５２、５３に印加されることになる。
【００６９】
電流偏差演算部３２およびＰＩ制御部３３は、電流フィードバック制御手段を構成している。この電流フィードバック制御手段の働きによって、モータ３に流れるモータ電流が、指示電流値生成部３０によって設定された二相指示電流値Ｉγδ＊に近づくように制御される。
図３は、前記電動パワーステアリング装置の制御ブロック図である。ただし、説明を簡単にするために、加算角リミッタ２４の機能は省略してある。
【００７０】
指示操舵トルクＴ＊と検出操舵トルクＴとの偏差（トルク偏差）ΔＴに対するＰＩ制御（ＫＰは比例係数、ＫＩは積分係数、１／ｓは積分演算子である。）によって、加算角αが生成される。この加算角αが制御角θＣの前回値θＣ(n-1)に対して加算されることによって、制御角θＣの今回値θＣ(n)＝θＣ(n-1)＋αが求められる。このとき、制御角θＣとロータ５０の実際のロータ角θＭとの偏差が負荷角θＬ＝θＣ−θＭとなる。
【００７１】
したがって、制御角θＣに従うγδ座標系（仮想回転座標系）のγ軸（仮想軸）にγ軸指示電流値Ｉγ＊に従ってγ軸電流Ｉγが供給されると、ｑ軸電流Ｉｑ＝ＩγsinθＬとなる。このｑ軸電流Ｉｑがロータ５０の発生トルクに寄与する。すなわち、モータ３のトルク定数ＫＴをｑ軸電流Ｉｑ（＝ＩγsinθＬ）に乗じた値が、アシストトルクＴＡ（＝ＫＴ・ＩγsinθＬ）として、減速機構７を介して、舵取り機構２に伝達される。このアシストトルクＴＡを舵取り機構２からの負荷トルクＴＬから減じた値が、運転者がステアリングホイール１０に与えるべき操舵トルクＴである。この操舵トルクＴがフィードバックされることによって、この操舵トルクＴを指示操舵トルクＴ＊に導くように系が動作する。つまり、検出操舵トルクＴを指示操舵トルクＴ＊に一致させるべく、加算角αが求められ、それに応じて制御角θＣが制御される。
【００７２】
このように制御上の仮想軸であるγ軸に電流を流す一方で、指示操舵トルクＴ＊と検出操舵トルクＴとの偏差ΔＴに応じて求められる加算角αで制御角θＣを更新していくことにより、負荷角θＬが変化し、この負荷角θＬに応じたトルクがモータ３から発生するようになっている。これにより、操舵角および車速に基づいて設定される指示操舵トルクＴ＊に応じたトルクをモータ３から発生させることができるので、操舵角および車速に対応した適切な操舵補助力を舵取り機構２に与えることができる。すなわち、操舵角の絶対値が大きいほど操舵トルクが大きく、かつ、車速が大きいほど操舵トルクが小さくなるように、操舵補助制御が実行される。
【００７３】
このようにして、回転角センサを用いることなくモータ３を適切に制御して、適切な操舵補助を行うことができる電動パワーステアリング装置を実現できる。これにより、構成を簡単にすることができ、コストの削減を図ることができる。
図７は、加算角リミッタ２４の働きを説明するためのフローチャートである。加算角リミッタ２４は、ＰＩ制御部２３によって求められた加算角αを上限値ＵＬと比較し（ステップＳ１）、加算角αが上限値ＵＬを超えている場合（ステップＳ１：ＹＥＳ）には、上限値ＵＬを加算角αに代入する（ステップＳ２）。したがって、制御角θＣに対して上限値ＵＬ（＝＋ωmax）が加算されることになる。
【００７４】
ＰＩ制御部２３によって求められた加算角αが上限値ＵＬ以下であれば（ステップＳ１：ＮＯ）、加算角リミッタ２４は、さらに、その加算角αを下限値ＬＬと比較する（ステップＳ３）。そして、その加算角αが下限値未満であれば（ステップＳ３：ＹＥＳ）、下限値ＬＬを加算角αに代入する（ステップＳ４）。したがって、制御角θＣに対して下限値ＬＬ（＝−ωmax）が加算されることになる。
【００７５】
ＰＩ制御部２３によって求められた加算角αが下限値ＬＬ以上上限値ＵＬ以下（ステップＳ３：ＮＯ）であれば、その加算角αがそのまま制御角θＣへの加算のために用いられる。
このようにして、加算角αを上限値ＵＬと下限値ＬＬとの間に制限することができるので、制御の安定化を図ることができる。より具体的には、電流不足時や制御開始時に制御不安定状態（アシスト力が不安定な状態）が発生しても、この状態から安定な制御状態への遷移を促すことができる。
【００７６】
前記第１の実施形態では、検出操舵トルクＴの絶対値が指示操舵トルクＴ＊の絶対値よりも大きいときには、すなわち、アシストトルクが不足している場合には、指示電流値生成部３０内の指示電流増減量演算部３０Ａによって演算される電流増減量ΔＩγ＊は正の値となる。この場合、トルク偏差ΔＴの絶対値が大きいほど、電流増減量ΔＩγ＊の絶対値も大きな値（絶対値の大きい正の値）となる。そして、この電流増減量ΔＩγ＊が加算器３０Ｂによって指示電流値Ｉγ＊の前回値に加算されるので、今演算周期での指示電流値Ｉγ＊が増加する。この結果、アシストトルク不足が補われるから、操舵トルクＴを指示操舵トルクＴ＊に迅速に導くことができるようになる。
【００７７】
一方、検出操舵トルクＴの絶対値が指示操舵トルクＴ＊の絶対値よりも小さいときには、指示電流増減量演算部３０Ａによって演算される電流増減量ΔＩγ＊が負の値となる。この場合、トルク偏差ΔＴの絶対値が大きいほど、電流増減量ΔＩγ＊の絶対値も大きい値（絶対値の大きい負の値）となる。そして、この電流増減量ΔＩγ＊が加算器３０Ｂによって指示電流値Ｉγ＊の前回値に加算されるので、今演算周期での指示電流値Ｉγ＊が減少する。これにより、省電力化が図れるとともにモータの発熱を抑制することができる。
【００７８】
また加算器３０Ｂによって得られた指示電流値Ｉγ＊は、上下限リミッタ３０Ｃによって制限されるので、指示電流値Ｉγ＊が過大になるのを防止できる。これにより、適切なトルク制御を実現できる。
図８は、この発明の第２の実施形態に係るモータ制御装置を適用した電動パワーステアリング装置の構成を説明するためのブロック図である。この図８において、前述の図１の各部に対応する部分には図１と同じ符号を付して示す。
【００７９】
この実施形態では、図１に示されている指示電流値生成部３０の代わりに、指示電流値生成部６０が設けられている。指示電流値生成部６０は、γ軸指示電流値Ｉγ＊を有意値とする一方で、δ軸指示電流値Ｉδ＊を零とする。より具体的には、指示電流値生成部６０は、指示操舵トルク設定部２１によって設定される指示操舵トルクＴ＊と、トルク偏差演算部２２によって演算されるトルク偏差ΔＴとに基づいてγ軸指示電流値Ｉγ＊を設定する。なお、トルク偏差演算部２２は、指示操舵トルク設定部２１によって設定される指示操舵トルクＴ＊と、トルクセンサ１によって検出され、操舵トルクリミッタ２０による制限処理を受けた操舵トルクＴ（検出操舵トルクＴ）との偏差ΔＴ（＝Ｔ−Ｔ＊）を求める。
【００８０】
指示電流値生成部６０は、第１のＰＩ制御部６０Ａと、第２のＰＩ制御部６０Ｂと、切替部６０Ｃと、加算器６０Ｄと、上下限リミッタ６０Ｅとを含んでいる。
第１のＰＩ制御部６０Ａは、指示操舵トルクＴ＊の符号が正であると仮定して、トルク偏差ΔＴに対するＰＩ制御を行なうことで、指示電流値Ｉγ＊に対する電流増減量ΔＩγ＊を演算する。そして、第１のＰＩ制御部６０Ａは、指示操舵トルクＴ＊の符号が正である場合に、トルク偏差ΔＴが零になるように、電流増減量ΔＩγ＊をフィードバック制御する。つまり、第１のＰＩ制御部６０Ａは、指示操舵トルクＴ＊の符号が正（Ｔ＊≧０）である場合において、トルク偏差ΔＴ（＝Ｔ−Ｔ＊）が零以上であるとき（アシストトルクが不足している場合）には、偏差ΔＴを零に近づけるために、正の値の電流増減量ΔＩγ＊を演算し、トルク偏差ΔＴが零より小さいときには、偏差ΔＴを零に近づけるために、負の値の電流増減量ΔＩγ＊を演算することになる。いずれの場合も、電流増減量ΔＩγ＊の絶対値は、トルク偏差ΔＴの絶対値が大きくなるほど大きくなる。
【００８１】
第２のＰＩ制御部６０Ｂは、指示操舵トルクＴ＊の符号が負であると仮定して、トルク偏差ΔＴに対するＰＩ制御を行なうことで、指示電流値Ｉγ＊に対する電流増減量ΔＩγ＊を演算する。そして、第２のＰＩ制御部６０Ｂは、指示操舵トルクＴ＊の符号が負である場合に、トルク偏差ΔＴが零になるように、電流増減量ΔＩγ＊をフィードバック制御する。つまり、第２のＰＩ制御部６０Ａは、指示操舵トルクＴ＊の符号が負（Ｔ＊＜０）である場合において、トルク偏差ΔＴ（＝Ｔ−Ｔ＊）が零以上のときには、偏差ΔＴを零に近づけるために、負の値の電流増減量ΔＩγ＊を演算し、トルク偏差ΔＴが零より小さいとき（アシストトルクが不足している場合）には、偏差ΔＴを零に近づけるために、正の値の電流増減量ΔＩγ＊を演算することになる。いずれの場合も、電流増減量ΔＩγ＊の絶対値は、トルク偏差ΔＴの絶対値が大きくなるほど大きくなる。
【００８２】
切替部６０Ｃは、第１のＰＩ制御部６０Ａによって演算される電流増減量ΔＩγ＊と、第２のＰＩ制御部６０Ｂによって演算される電流増減量ΔＩγ＊とを、指示操舵トルクＴ＊の符号に応じて切換えて出力する。具体的には、切替部６０Ｃは、指示操舵トルクＴ＊の符号が正であるときには、第１のＰＩ制御部６０Ａによって演算される電流増減量ΔＩγ＊を選択して出力する。一方、指示操舵トルクＴ＊の符号が負であるときには、切替部６０Ｃは、第２のＰＩ制御部６０Ｂによって演算される電流増減量ΔＩγ＊を選択して出力する。
【００８３】
切替部６０Ｃから出力された電流増減量ΔＩγ＊は、加算器６０Ｄにおいて、指示電流値Ｉγ＊の前回値Ｉγ＊（n-1）（ｎは今演算周期の番号）に加算される（Ｚ−１は信号の前回値を表す）。これにより、今演算周期での指示電流値Ｉγ＊が演算される。ただし、指示電流値Ｉγ＊の初期値は予め定められた値（例えば零）である。加算器６０Ｄによって得られた指示電流値Ｉγ＊は、上下限リミッタ６０Ｅに与えられる。上下限リミッタ６０Ｅは、加算器６０Ｄによって得られた指示電流値Ｉγ＊を、所定の下限値ξmin（ξmin≧０）と上限値ξmax（ξmax＞ξmin）との間の値に制限する。
【００８４】
つまり、加算器６０Ｄによって得られた指示電流値Ｉγ＊が、下限値ξmin以上でかつ上限値ξmax以下であるときには、上下限リミッタ６０Ｅは、当該指示電流値Ｉγ＊をそのまま出力する。加算器６０Ｄによって得られた指示電流値Ｉγ＊が下限値ξminより小さいときには、上下限リミッタ６０Ｅは、下限値ξminを今演算周期の指示電流値Ｉγ＊として出力する。加算器６０Ｄによって得られた指示電流値Ｉγ＊が上限値ξmaxより大きいときには、上下限リミッタ６０Ｅは、上限値ξmaxを今演算周期の指示電流値Ｉγ＊として出力する。この第２の実施形態においても、前記第１の実施形態と同様な効果が得られる。
【００８５】
図９は、この発明の第３の実施形態に係るモータ制御装置を適用した電動パワーステアリング装置の構成を説明するためのブロック図である。この図９において、前述の図１の各部に対応する部分には図１と同じ符号を付して示す。
この実施形態では、図１に示されている指示電流値生成部３０の代わりに、指示電流値生成部７０が設けられている。指示電流値生成部７０は、γ軸指示電流値Ｉγ＊を有意値とする一方で、δ軸指示電流値Ｉδ＊を零とする。具体的には、指示電流値生成部７０は、トルクセンサ１によって検出され、操舵トルクリミッタ２０の制限処理を受けた操舵トルクＴ（検出操舵トルクＴ）と、ＰＩ制御部２３によって演算され、加算角リミッタ２４による制限を受けた加算角αとに基づいて、γ軸指示電流値Ｉγ＊を設定する。
【００８６】
より具体的には、指示電流値生成部７０は、検出操舵トルクＴの変化量δＴ（以下、「操舵トルク変化量δＴ」という）と加算角αとの比に基づいて、γ軸指示電流値Ｉγ＊を設定する。操舵トルク変化量δＴは、今演算周期での検出操舵トルクＴ(n)から、前演算周期での検出操舵トルクＴ(n-1)を減算することによって求めることができる。
指示電流値生成部７０は、指示電流増減量演算部７０Ａと、加算器７０Ｂと、上下限リミッタ７０Ｃとを含んでいる。
【００８７】
指示電流増減量演算部７０Ａは、加算角αに対する操舵トルク変化量δＴの比の絶対値｜δＴ／α｜と、操舵トルク変化量δＴに対する加算角αの比の絶対値｜α／δＴ｜と、現在の指示電流値Ｉγ＊（指示電流値Ｉγ＊の前回値）とに基づいて、指示電流値Ｉγ＊に対する電流増減量ΔＩγ＊を演算する。加算角αに対する操舵トルク変化量δＴの比δＴ／αは、今演算周期において演算された操舵トルク変化量δＴを、前演算周期または今演算周期においてＰＩ制御部２３によって演算され、加算角リミッタ２４の制限処理を受けた加算角αで除算することによって求めることができる。操舵トルク変化量δＴに対する加算角αの比α／δＴは、前演算周期または今演算周期においてＰＩ制御部２３によって演算され、加算角リミッタ２４の制限処理を受けた加算角αを、今演算周期において演算された操舵トルク変化量δＴで除算することによって求めることができる。
【００８８】
指示電流増減量演算部７０Ａは、次のようにして、指示電流値Ｉγ＊に対する電流増減量ΔＩγ＊を演算する。加算角αに対する操舵トルク変化量δＴの比の絶対値｜δＴ／α｜と電流増減量ΔＩγ＊との関係が予め設定されている。また、操舵トルク変化量δＴに対する加算角αの比の絶対値｜α／δＴ｜と電流増減量ΔＩγ＊との関係が予め設定されている。さらに、現在の指示電流値Ｉγ＊と増減量ゲインＧとの関係が予め設定されている。
【００８９】
操舵トルク変化量δＴに対する加算角αの比α／δＴの分母であるδＴが零付近の小さい値のときには、この比α／δＴの演算値には誤差が発生しやすい。そこで、指示電流増減量演算部７０Ａは、もう一つの比の絶対値｜δＴ／α｜に基づいて、電流増減量ΔＩγ＊の基本値を演算する。そして、指示電流増減量演算部７０Ａは、この基本値に現在の指示電流値Ｉγ＊に応じた増減量ゲインＧを乗算することにより、最終的な電流増減量ΔＩγ＊を演算する。
【００９０】
一方、加算角αに対する操舵トルク変化量δＴの比δＴ／αの分母であるαが零付近の小さい値のときには、この比δＴ／αの演算値には誤差が発生しやすい。そこで、指示電流増減量演算部７０Ａは、もう一つの比の絶対値｜α／δＴ｜に基づいて、電流増減量ΔＩγ＊の基本値を演算する。そして、指示電流増減量演算部７０Ａは、この基本値に現在の指示電流値Ｉγ＊に応じた増減量ゲインＧを乗算することにより、最終的な電流増減量ΔＩγ＊を演算する。
【００９１】
図１０Ａは、加算角αに対する操舵トルク変化量δＴの比の絶対値｜δＴ／α｜に対する電流増減量ΔＩγ＊の設定例を示している。前記絶対値｜δＴ／α｜が所定値Ｂ（Ｂ＞０）以上で所定値Ｃ（Ｃ＞Ｂ）以下の範囲内にある場合には、電流増減量ΔＩγ＊は零に設定される。そして、前記絶対値｜δＴ／α｜が所定値Ｃより大きくなるに従って、その値が零より減少するように（図１０Ａの例ではリニアに小さくなるように）、電流増減量ΔＩγ＊が設定される。また、前記絶対値｜δＴ／α｜が所定値Ｂより小さくなるに従って、その値が零より増加するように（図１０Ａの例ではリニアに大きくなるように）、電流増減量ΔＩγ＊が設定される。電流増減量ΔＩγ＊に関して図１０Ａに示すような設定が行われている理由について説明する。
【００９２】
図１１は、負荷角θＬとアシストトルクＴＡとの関係を示している。図２を用いて説明したように、ｑ軸電流Ｉｑは、負荷角θＬとγ軸電流Ｉγを用いて、Ｉｑ＝ＩγsinθＬ（θＬ＝θＣ―θＭ）で与えられる。アシストトルクＴＡは、モータ３のトルク定数ＫＴをｑ軸電流Ｉｑに乗じた値となる。したがって、負荷角θＬに対するアシストトルクＴＡの変化は、図１１に示すような曲線（サインカーブ）となる。図１１において、曲線Ｓ１はγ軸電流Ｉγが比較的大きい場合の特性を示し、曲線Ｓ２はγ軸電流Ｉγが比較的小さい場合の特性を示している。本実施形態では、ＰＩ制御部２３は、アシストトルクが単調に増加する区間である０°≦θＬ≦９０°の区間および２７０゜≦θＬ≦３６０°の区間（以下、「−９０°≦θＬ≦９０°の区間」という）内で負荷角θＬが制御されるように動作するものとする。なお、ＰＩ制御部２３は、アシストトルクが単調に減少する区間である９０°≦θＬ≦２７０°の区間で負荷角θＬが制御されるように動作するものであってもよい。
【００９３】
加算角αに対する操舵トルク変化量δＴの比の絶対値｜δＴ／α｜が大きい場合とは、負荷角θＬの変化量に対するアシストトルクＴＡの変化量が大きい場合である。したがって、負荷角θＬが０°付近にあると考えられる。たとえば、アシストトルク特性が図１１の曲線Ｓ１で表される場合、曲線Ｓ１上で負荷角θＬが０°付近の点ａの勾配（比δＴ／αに対応する）は、９０°付近の点ｂの勾配より大きくなる。
【００９４】
負荷角θＬが０°付近にある場合には、γ軸電流Ｉγに対するアシストトルクＴＡの効率が低く、負荷角θＬが９０°（または−９０°）付近にある場合には、γ軸電流Ｉγに対するアシストトルクＴＡの効率が高い。これは、負荷角θＬが９０°付近にある場合には、ロータ５０にほぼ直交する方向にコイルの磁界を発生させることができるためである。負荷角θＬが０°付近にある場合に、γ軸電流Ｉγを減少させると、同じ大きさのアシストトルクを発生させるために、負荷角θＬが９０°付近となるように制御されるため、γ軸電流Ｉγに対するアシストトルクＴＡの効率を高めることができる。たとえば、曲線Ｓ１上の点ａに動作点がある場合に、γ軸電流Ｉγを減少させると、曲線Ｓ２上の点ｃに動作点を移行させることが可能となる。
【００９５】
このような理由から、図１０Ａに示されるように、加算角αに対する操舵トルク変化量δＴの比の絶対値｜δＴ／α｜が所定値Ｃより大きくなるに従って、その値が零より小さくなるように電流増減量ΔＩγ＊が設定されている。
一方、加算角αに対する操舵トルク変化量δＴの比の絶対値｜δＴ／α｜が小さい場合とは、負荷角θＬの変化量に対するアシストトルクＴＡの変化量が小さい場合である。したがって、負荷角θＬが９０゜（または−９０°）付近にあると考えられる。負荷角θＬが９０゜付近にある場合には、アシストトルクが現在のγ軸電流Ｉγでのほぼ最大値に達しており、アシストトルク不足により、検出操舵トルクＴを指示操舵トルクＴ＊に近づけることができない状態となるおそれがある。そこで、このような場合には、アシストトルクを増加させるために、γ軸電流Ｉγを増加させることが好ましい。このような理由から、図１０Ａに示されるように、加算角αに対する操舵トルク変化量δＴの比の絶対値｜δＴ／α｜が所定値Ｂより小さくなるに従って、その値が零より大きくなるように電流増減量ΔＩγ＊が設定されている。
【００９６】
図１０Ｂは、操舵トルク変化量δＴに対する加算角αの比の絶対値｜α／δＴ｜に対する電流増減量ΔＩγ＊の設定例を示している。前記絶対値｜α／δＴ｜が所定値Ｂ（Ｂ＞０）以上で所定値Ｃ（Ｃ＞Ｂ）以下の範囲内にある場合には、電流増減量ΔＩγ＊は零に設定される。そして、前記絶対値｜α／δＴ｜が所定値Ｃより大きくなるに従って、その値が零より増加するように（図１０Ｂの例ではリニアに大きくなるように）、電流増減量ΔＩγ＊が設定される。また、前記絶対値｜α／δＴ｜が所定値Ｂより小さくなるに従って、その値が零より減少するように（図１０Ｂの例ではリニアに小さくなるように）、電流増減量ΔＩγ＊が設定される。
【００９７】
操舵トルク変化量δＴに対する加算角αの比の絶対値｜α／δＴ｜は、加算角αに対する操舵トルク変化量δＴの比の絶対値｜δＴ／α｜が大きくなるほど小さくなるので、絶対値｜α／δＴ｜に対する電流増減量ΔＩγ＊の増減方向が、絶対値｜δＴ／α｜に対する電流増減量ΔＩγ＊の増減方向と逆になっている。
図１０Ｃは、指示電流値Ｉγ＊に対する増減量ゲインＧの設定例を示している。図１０Ｃの例では、現在の指示電流値Ｉγ＊（指示電流値Ｉγ＊の前回値）が大きいほど単調に減少する特性に従って増減量ゲインＧが設定されている。より具体的には、現在の指示電流値Ｉγ＊が零のときには、増減量ゲインＧは１とされる。そして、現在の指示電流値Ｉγ＊が零以上の範囲では、増減量ゲインＧは、１から単調（図１０Ｃの例ではリニア）に減少する特性に従って設定される。増減量ゲインＧに関して図１０Ｃに示すような設定が行われている理由について説明する。
【００９８】
図１２は、図１１と同様に負荷角θＬとアシストトルクＴＡとの関係を示している。図１２において、曲線Ｓ１はγ軸電流Ｉγが比較的大きい場合の特性を示し、曲線Ｓ２はγ軸電流Ｉγが比較的小さい場合の特性を示している。
図１０Ａまたは図１０Ｂに示す特性に従って演算された電流増減量ΔＩγ＊の基本値が負の値である場合、すなわち、指示電流値Ｉγ＊を減少させる場合について説明する。電流増減量ΔＩγ＊の基本値が負の値になるのは、前述したように、前記絶対値｜δＴ／α｜が大きい場合（前記絶対値｜α／δＴ｜が小さい場合）、すなわち、負荷角θＬの変化量δθＬに対するアシストトルクＴＡの変化量δＴＡが大きい場合である。
【００９９】
たとえば、図１２において、アシストトルク特性がγ軸電流Ｉγが小さい場合の曲線Ｓ２であり、負荷角θＬが曲線Ｓ２上の点ｄに対応する０°付近の角度になっている場合には、前記絶対値｜δＴ／α｜が大きくなる。このような場合には、前述したように、γ軸電流Ｉγに対するアシストトルクＴＡの効率を高くするために、γ軸電流Ｉγが小さくされる。これにより、負荷角θＬが０°付近の角度に変化する。このように、γ軸電流Ｉγが小さくかつ前記絶対値｜δＴ／α｜が大きいとき（たとえば、曲線Ｓ２上の点ｄに動作点がある場合）に、γ軸電流Ｉγを減少させかつ同じ大きさのアシストトルクを得ようとする場合には、図１２に矢印Ｙ２で示すように、γ軸電流Ｉγを比較的大幅に下げることが可能である。
【０１００】
図１２において、曲線Ｓ２上の点ｄにおける勾配（前記絶対値｜δＴ／α｜に相当する）と同じ大きさの勾配を有する特性曲線Ｓ１上の点はｅとなる。つまり、絶対値｜δＴ／α｜が同じであるとすると、γ軸電流Ｉγが大きい場合（曲線Ｓ１上の点ｅ）は、γ軸電流Ｉγが小さい場合（曲線Ｓ２上の点ｄ）に比べて、負荷角θＬが９０°により近い角度となる。従って、γ軸電流Ｉγが大きくかつ前記絶対値｜δＴ／α｜が大きいとき（たとえば、曲線Ｓ１上の点ｅに動作点がある場合）に、γ軸電流Ｉγを減少させかつ同じ大きさのアシストトルクを得ようとする場合には、図１２に矢印Ｙ１で示すように、γ軸電流Ｉγの下げ幅は比較的小さくなる。そこで、γ軸電流Ｉγを低下させるために、指示電流値Ｉγ＊を減少させる場合には、現在の指示電流値Ｉγ＊が大きいほど、その減少量を小さくすることが好ましい。
【０１０１】
電流増減量ΔＩγ＊の基本値が正の値である場合、すなわち、指示電流値Ｉγ＊を増加させる場合について説明する。電流増減量ΔＩγ＊の基本値が正の値になるのは、前述したように、前記絶対値｜δＴ／α｜が小さい場合（前記絶対値｜α／δＴ｜が大きい場合）、すなわち、負荷角θＬの変化量δθＬに対するアシストトルクＴＡの変化量が小さい場合である。つまり、負荷角θＬが９０゜（または−９０°）付近にあると考えられる場合である。このような場合には、前述したように、アシストトルクを増加させるために、γ軸電流Ｉγを増加させることが好ましい。しかし、既にγ軸電流Ｉγが大きいときに、その増加量を大きくすると、γ軸電流Ｉγが過大となるおそれがある。そこで、γ軸電流Ｉγを増加させるために、指示電流値Ｉγ＊を増加させる場合には、現在の指示電流値Ｉγ＊が大きいほど、その増加量を小さくすることが好ましい。以上のような理由から、図１０Ｃに示すように、現在の指示電流値Ｉγ＊が大きいほど、増減量ゲインＧを小さくしているのである。
【０１０２】
図１０Ｃの特性に基づいて求められた増減量ゲインＧが、図１０Ａまたは図１０Ｂの特性に基づいて演算された電流増減量ΔＩγ＊の基本値に乗算されることにより、最終的な電流増減量ΔＩγ＊が求められる。
指示電流増減量演算部７０Ａによって演算された電流増減量ΔＩγ＊は、加算器７０Ｂにおいて、指示電流値Ｉγ＊の前回値Ｉγ＊（n-1）（ｎは今演算周期の番号）に加算される（Ｚ−１は信号の前回値を表す）。これにより、今演算周期での指示電流値Ｉγ＊が演算される。ただし、指示電流値Ｉγ＊の初期値は予め定められた値（例えば零）である。加算器７０Ｂによって得られた指示電流値Ｉγ＊は、上下限リミッタ７０Ｃに与えられる。上下限リミッタ７０Ｃは、加算器７０Ｂによって得られた指示電流値Ｉγ＊を、所定の下限値ξmin（ξmin≧０）と上限値ξmax（ξmax＞ξmin）との間の値に制限する。
【０１０３】
つまり、加算器７０Ｂによって得られた指示電流値Ｉγ＊が、下限値ξmin以上でかつ上限値ξmax以下であるときには、上下限リミッタ７０Ｃは、当該指示電流値Ｉγ＊をそのまま出力する。加算器７０Ｂによって得られた指示電流値Ｉγ＊が下限値ξminより小さいときには、上下限リミッタ７０Ｃは、下限値ξminを今演算周期の指示電流値Ｉγ＊として出力する。加算器７０Ｂによって得られた指示電流値Ｉγ＊が上限値ξmaxより大きいときには、上下限リミッタ７０Ｃは、上限値ξmaxを今演算周期の指示電流値Ｉγ＊として出力する。
【０１０４】
図１３は、この発明の第４の実施形態に係るモータ制御装置を適用した電動パワーステアリング装置の構成を説明するためのブロック図である。この図１３において、前述の図１の各部に対応する部分には図１と同じ符号を付して示す。
この実施形態では、マイクロコンピュータ１１は、機能処理部としての誘起電圧推定部３７を、さらに含んでいる。また、この実施形態では、図１に示されている指示電流値生成部３０の代わりに、指示電流値生成部８０が設けられている。指示電流値生成部８０は、γ軸指示電流値Ｉγ＊を有意値とする一方で、δ軸指示電流値Ｉδ＊を零とする。より具体的には、指示電流値生成部８０は、指示操舵トルク設定部２１によって設定される指示操舵トルクＴ＊と、トルクセンサ１によって検出される検出操舵トルクＴと、誘起電圧推定部３７によって推定される推定誘起電圧Ｅ^αβとに基づいて、γ軸指示電流値Ｉγ＊を設定する。
【０１０５】
ＵＶＷ／γδ変換部３６は、ＵＶＷ／αβ変換部３６Ａとαβ／γδ変換部３６Ｂとからなる。ＵＶＷ／αβ変換部３６Ａは、電流検出部１３によって検出されるＵＶＷ座標系の三相検出電流ＩＵＶＷ（Ｕ相検出電流ＩＵ、Ｖ相検出電流ＩＶおよびＷ相検出電流ＩＷ）を二相固定座標系であるαβ座標系の二相検出電流ＩαおよびＩβ（以下総称するときには「二相検出電流Ｉαβ」という。）に変換する。αβ座標系は、図２に示すように、ロータ５０の回転中心を原点として、ロータ５０の回転平面内にα軸およびこれに直交するβ軸（図２の例ではＵ軸と同軸）を定めた固定座標系である。
【０１０６】
αβ／γδ変換部３６Ｂは、二相検出電流Ｉαβをγδ座標系の二相検出電流ＩγおよびＩδ（以下総称するときには「二相検出電流Ｉγδ」という。）に変換する。これらが電流偏差演算部３２に与えられるようになっている。αβ／γδ変換部３６Ｂにおける座標変換には、制御角演算部２６で演算される制御角θＣが用いられる。
γδ／ＵＶＷ変換部３４は、γδ／αβ変換部３４Ａとαβ／ＵＶＷ変換部３４Ｂとからなる。γδ／αβ変換部３４Ａは、ＰＩ制御部３３から出力される二相指示電圧Ｖγδ＊をαβ座標系の二相指示電圧Ｖαβ＊に変換する。この座標変換には、制御角演算部２６で演算された制御角θＣが用いられる。二相指示電圧Ｖαβ＊は、α軸指示電圧Ｖα＊およびβ軸指示電圧Ｖβ＊からなる。αβ／ＵＶＷ変換部３４Ｂは、二相指示電圧Ｖαβ＊に対して座標変換演算を行うことによって、三相指示電圧ＶＵＶＷ＊を生成する。三相指示電圧ＶＵＶＷ＊は、Ｕ相指示電圧ＶＵ＊、Ｖ相指示電圧ＶＶ＊およびＷ相指示電圧ＶＷ＊からなる。この三相指示電圧ＶＵＶＷ＊は、ＰＷＭ制御部３５に与えられる。
【０１０７】
誘起電圧推定部３７は、モータ３の回転によって生じる誘起電圧を推定するものである。図１４は、誘起電圧推定部３７の構成を説明するためのブロック図である。誘起電圧推定部３７は、二相検出電流Ｉαβと二相指示電圧Ｖαβ＊とに基づいて、モータ３の誘起電圧を推定する。より具体的には、誘起電圧推定部３７は、モータ３の数学モデルであるモータモデルに基づき、モータ３の誘起電圧を外乱として推定する外乱オブザーバとしての形態を有している。モータモデルは、たとえば、（Ｒ＋ｐＬ）−１と表すことができる。ただし、Ｒは電機子巻線抵抗、Ｌはαβ軸インダクタンス、ｐは微分演算子である。モータ３には、二相指示電圧Ｖαβ＊と誘起電圧Ｅαβ（α軸誘起電圧Ｅαおよびβ軸誘起電圧Ｅβ）とが印加されると考えることができる。
【０１０８】
誘起電圧推定部３７は、二相検出電流Ｉαβを入力としてモータ電圧を推定する逆モータモデル（モータモデルの逆モデル）６５と、この逆モータモデル６５によって推定されるモータ電圧と二相指示電圧Ｖαβ＊との偏差を求める電圧偏差演算部６６とで構成することができる。電圧偏差演算部６６は、二相指示電圧Ｖαβ＊に対する外乱を求めることになるが、図１４から明らかなとおり、この外乱は誘起電圧Ｅαβに相当する推定値Ｅ^αβ（α軸誘起電圧推定値Ｅ^αおよびβ軸誘起電圧推定値Ｅ^β（以下、まとめて「推定誘起電圧Ｅ^αβ」という。）になる。逆モータモデル６５は、たとえば、Ｒ＋ｐＬで表される。
【０１０９】
指示電流値生成部８０は、指示電流増減量演算部８０Ａと、出力制御部８０Ｂと、加算器８０Ｃと、上下限リミッタ８０Ｄとを含んでいる。指示電流増減量演算部８０Ａは、所定の演算周期毎に、指示操舵トルクＴ＊と検出操舵トルクＴに基づいて、指示電流値Ｉγ＊に対する電流増減量ΔＩγ＊を演算する。具体的には、指示電流増減量演算部８０Ａは、指示操舵トルクＴ＊の符号と、指示操舵トルクＴ＊と検出操舵トルクＴとの偏差ΔＴ（＝Ｔ−Ｔ＊）とに基づいて、電流増減量ΔＩγ＊を演算する。
【０１１０】
指示電流増減量演算部８０Ａによる電流増減量ΔＩγ＊の演算方法の基本的な考え方について説明する。トルク偏差ΔＴの絶対値が所定値Ｅ（Ｅ＞０，図１５Ａ，図１５Ｂ参照）より大きくかつ検出操舵トルクＴの絶対値が指示操舵トルクＴ＊の絶対値よりも大きい場合には、アシストトルク不足を補うために、指示電流値Ｉγ＊を零より大きな値とする。つまり、指示電流増減量演算部８０Ａは、指示電流値Ｉγ＊を増加させるための電流増減量（以下、「電流増加量」という場合がある）ΔＩγ＊（ΔＩγ＊＞０）を演算する。
【０１１１】
一方、トルク偏差ΔＴの絶対値が所定値Ｅ未満である場合およびトルク偏差ΔＴの絶対値が所定値Ｅ以上でありかつ検出操舵トルクＴの絶対値が指示操舵トルクＴ＊の絶対値よりも小さい場合には、省電力化を図るとともにモータの発熱を抑制するために、指示電流値Ｉγ＊を零より小さな値とする。つまり、指示電流増減量演算部８０Ａは、指示電流値Ｉγ＊を減少させるための電流増減量（「電流減少量」）ΔＩγ＊（ΔＩγ＊＜０）を演算する。指示電流増減量演算部８０Ａの詳細については、後述する。
【０１１２】
出力制御部８０Ｂは、指示電流増減量演算部８０Ａによって演算された電流増減量ΔＩγ＊が「電流増加量」である場合（ΔＩγ＊＞０）には、その電流増減量ΔＩγ＊を出力する。一方、指示電流増減量演算部８０Ａによって演算された電流増減量ΔＩγ＊が「電流減少量」である場合（ΔＩγ＊＜０）には、出力制御部８０Ｂは、前回に指示電流値Ｉγ＊が減少された時点から予め設定された所定時間Ｔｓ以上の時間が経過しており、かつモータ３（ロータ５０）が停止している（回転していない）と判定したときにのみ、その電流増減量ΔＩγ＊を出力する。
【０１１３】
言い換えれば、出力制御部８０Ｂは、前回に指示電流値Ｉγ＊が減少された時点から予め設定された所定時間Ｔｓ以上の時間が経過していないとき、またはモータ３が回転しているときには、電流増減量ΔＩγ＊を出力しない。所定時間Ｔｓは、指示電流値Ｉγ＊を連続して減少させる場合の最小の周期となる。
モータ３が停止しているか否かは、この実施形態では、誘起電圧推定部３７によって推定される推定誘起電圧Ｅ^αβに基づいて判別される。具体的には、α軸誘起電圧Ｅ^αおよびβ軸誘起電圧Ｅ^βの二乗和（Ｅ^α２＋Ｅ^β２）が所定のしきい値Ｈ以下であれば、出力制御部８０Ｂは、モータ３が停止していると判別する。一方、前記二乗和（Ｅ^α２＋Ｅ^β２）がしきい値Ｈより大きければ、出力制御部８０Ｂは、モータ３が回転していると判別する。しきい値Ｈは、前記二乗和（Ｅ^α２＋Ｅ^β２）の推定誤差より大きな値に設定される。
【０１１４】
前記所定期間Ｔｓは、次のように設定される。指示電流値Ｉγ＊を減少させると、同じ大きさのアシストトルク（モータトルク）が発生するように、負荷角θＬが制御される。前記所定期間Ｔｓは、指示電流値Ｉγ＊を減少させてから、同じ大きさのアシストトルクが発生される角度に負荷角θＬが収束するのに要する時間の最大値に設定される。この最大値Ｔｓは、たとえば、不適切なアシストトルクの継続を許容できると考えられる最大時間（以下、「不適切状態の許容最大時間」という）に設定される。この「不適切状態の許容最大時間」は、たとえば、１００ｍｓに設定される。
【０１１５】
指示電流値Ｉγ＊が減少されてから、同じ大きさのアシストトルクが発生される角度に負荷角θＬが収束するより前に、指示電流値Ｉγ＊がさらに減少されると、負荷角が適切値に収束しなくなるおそれがある。そこで、この実施形態では、前回に指示電流値Ｉγ＊が減少された時点から予め設定された所定時間Ｔｓ以上の時間が経過していないときには、指示電流値Ｉγ＊を減少させるような電流増減量ΔＩγ＊を出力しないようにしている。
【０１１６】
また、モータ３（ステアリングホイール１０）が回転しているときに、運転者がステアリングホイール１０を手放しすると、検出操舵トルクＴの絶対値が小さくなるから、指示電流値Ｉγ＊が低下しすぎるおそれがある。そうすると、本来必要となるアシストトルクが得られなくなるおそれがある。このような状態を回避するために、この実施形態では、モータ３（ステアリングホイール１０）が回転しているときには、電流増減量ΔＩγ＊を出力しないようにしている。
【０１１７】
指示電流増減量演算部８０Ａについて、詳しく説明する。指示操舵トルクＴ＊の符号が正（Ｔ＊≧０）である場合の、トルク偏差ΔＴに対する電流増減量ΔＩγ＊の設定例は、図１５Ａに示されている。トルク偏差ΔＴが所定値＋Ｅ（Ｅ＞０）である場合には、電流増減量ΔＩγ＊は零に設定される。この所定値Ｅは、トルクセンサ１の出力のばらつきに応じた値（ばらつきによる検出誤差の最大値）に設定されている。トルク偏差ΔＴが所定値＋Ｅより大きな所定値＋Ｆ（Ｆ＞０）以上である場合には、電流増減量ΔＩγ＊は、零より大きな最大値＋ΔＩγｍａｘ＊（ΔＩγｍａｘ＊＞０）に固定される。所定値Ｆは、たとえば、２Ｎｍに設定される。トルク偏差ΔＴが所定値Ｅと所定値Ｆの間にある場合には、電流増減量ΔＩγ＊は、零から最大値＋ΔＩγｍａｘ＊までの範囲内において、トルク偏差ΔＴが大きくなるに従って、その値が大きくなるように（図１５Ａの例ではリニアに大きくなるように）設定される。
【０１１８】
また、トルク偏差ΔＴが所定値＋Ｅより小さな所定値＋Ｄ（Ｄ＞０）以下である場合には、電流増減量ΔＩγ＊は、零より小さい最小値−ΔＩγｍｉｎ＊（ΔＩγｍｉｎ＊＞０）に固定される。トルク偏差ΔＴが所定値＋Ｅと所定値＋Ｄの間にある場合には、変化電流増減量ΔＩγ＊は、零から最小値−ΔＩγｍｉｎ＊までの範囲内において、トルク偏差ΔＴが小さくなるに従って、その値が小さくなるように（図１５Ａの例ではリニアに小さくなるように）設定される。
【０１１９】
電流増減量ΔＩγ＊の最大値＋ΔＩγｍａｘ＊の絶対値ΔＩγｍａｘ＊は、「電流増加量」の最大値である。この最大値＋ΔＩγｍａｘ＊は、電流増減量ΔＩγ＊が最大値＋ΔＩγｍａｘ＊に設定された場合に、前記「不適切状態の許容最大時間（この例では１００ｍｓ）」以内に、指示電流値Ｉγ＊が指示電流上限値（上下限リミッタ８０Ｄの上限値）に達するような値に設定されている。より具体的に説明すると、指示電流増減量演算部８０Ａによる電流増減量ΔＩγ＊の演算周期は、前記「不適切状態の許容最大時間（この例では１００ｍｓ）」より短く設定されている。そして、前記最大値＋ΔＩγｍａｘ＊は、指示電流値Ｉγ＊が下限値（上下限リミッタ８０Ｄの下限値）となっている状態から、前記「不適切状態の許容最大時間（この例では１００ｍｓ）」に相当する時間に亘って、電流増減量ΔＩγ＊として最大値＋ΔＩγｍａｘ＊が演算されたときに、指示電流値Ｉγ＊が指示電流上限値に達するような値に設定されている。
【０１２０】
これにより、トルク偏差ΔＴが所定値＋Ｆ以上である場合には、指示電流値Ｉγ＊を「不適切状態の許容最大時間（この例では１００ｍｓ）」以内に、上限値まで上昇させることが可能となる。一方、「電流増加量」を、零から最大値＋ΔＩγｍａｘ＊に変化させると、アシストトルクが急激に変化するので好ましくない。そこで、トルク偏差ΔＴが所定値＋Ｅ以上で所定値＋Ｆ以下の場合（アシストトルクの不足量が小さい場合）には、「電流増加量」を、零から最大値＋ΔＩγｍａｘ＊まで徐々に増加させるようにしている。このようにすると、トルク偏差ΔＴが所定値＋Ｅ以上で所定値＋Ｆ以下の場合には、指示電流値Ｉγ＊を「不適切状態の許容最大時間」以内に上限値まで上昇させることができない可能性があるが、アシストトルクの不足量（トルク偏差ΔＴ）が小さいため、問題は生じないと考えられる。
【０１２１】
電流増減量ΔＩγ＊の最小値−ΔＩγｍｉｎ＊の絶対値ΔＩγｍｉｎ＊は、「電流減少量」の最大値である。この絶対値ΔＩγｍｉｎ＊は、対応するアシストトルク変化量が所定値（たとえば、２Ｎｍ）以下であり、かつ指示電流値Ｉγ＊を減少させてから、同じ大きさのアシストトルクが発生される角度に負荷角θＬが収束するのに要する時間が前記「不適切状態の許容最大時間（この例では１００ｍｓ）」以下となる大きさに設定される。
【０１２２】
指示操舵トルクＴ＊の符号が正（Ｔ＊≧０）である場合において、トルク偏差ΔＴ（＝Ｔ−Ｔ＊）が零より小さい場合とは、検出操舵トルクＴの絶対値が指示操舵トルクＴ＊の絶対値よりも小さい場合である。この場合には、アシストトルクが不足していないと考えられる。ただし、トルクセンサ１の出力にばらつきがある場合には、前述したようにばらつきによる検出誤差の最大値をＥとすると、実際のトルク偏差ΔＴが零である場合でも、演算されたトルク偏差ΔＴは−Ｅ〜＋Ｅの範囲内の値をとる可能性がある。
【０１２３】
そこで、実際のトルク偏差ΔＴが零になっている可能性がある場合、つまり、演算されたトルク偏差ΔＴが−Ｅ〜＋Ｅの範囲内にある場合には、省電力化を図るとともにモータの発熱を抑制するために、指示電流値Ｉγ＊を減少させるようにしている。  また、演算されたトルク偏差ΔＴが−Ｅ未満の場合にも、省電力化を図るとともにモータの発熱を抑制するために、電流増減量ΔＩγ＊が負の値にされている。より具体的には、トルク偏差ΔＴが所定値＋Ｅと所定値＋Ｄの間の値である場合には、トルク偏差ΔＴが小さくなるにしたがって、電流増減量ΔＩγ＊も小さくなる（「電流減少量」が大きくなる）。また、トルク偏差ΔＴが所定値＋Ｄ以下の値である場合には、電流増減量ΔＩγ＊は最小値−ΔＩγｍｉｎ＊（「電流減少量」の最大値）となる。
【０１２４】
一方、指示操舵トルクＴ＊の符号が正（Ｔ＊≧０）である場合において、トルク偏差ΔＴ（＝Ｔ−Ｔ＊）が零以上である場合とは、検出操舵トルクＴの絶対値が指示操舵トルクＴ＊の絶対値よりも大きい場合である。従って、この場合には、モータトルク（アシストトルク）が不足していると考えられる。そこで、トルク偏差ΔＴが所定値＋Ｅより大きい場合には、アシストトルク不足を補うように、電流増減量ΔＩγ＊が正の値にされている。より具体的には、トルク偏差ΔＴが所定値＋Ｅと所定値＋Ｆの間の値である場合には、トルク偏差ΔＴが大きくなるにしたがって、電流増減量ΔＩγ＊も大きくなる（「電流増加量」が大きくなる）。また、トルク偏差ΔＴが所定値＋Ｆ以上の値である場合には、電流増減量ΔＩγ＊は最大値＋ΔＩγｍａｘ＊（「電流増加量」の最大値）となる。
【０１２５】
指示操舵トルクＴ＊の符号が負（Ｔ＊＜０）である場合の、トルク偏差ΔＴに対する電流増減量ΔＩγ＊の設定例は、図１５Ｂに示されている。トルク偏差ΔＴが所定値−Ｅのときには、電流増減量ΔＩγ＊は零に設定される。トルク偏差ΔＴが所定値−Ｅより小さな所定値−Ｆ以下である場合には、電流増減量ΔＩγ＊は、零より大きな最大値＋ΔＩγｍａｘ＊（ΔＩγｍａｘ＊＞０）に固定される。トルク偏差ΔＴが所定値−Ｅと所定値−Ｆの間にある場合には、電流増減量ΔＩγ＊は、零から最大値＋ΔＩγｍａｘ＊までの範囲内において、トルク偏差ΔＴが小さくなるに従って、その値が大きくなるように（図１５Ｂの例ではリニアに大きくなるように）設定される。
【０１２６】
また、トルク偏差ΔＴが所定値−Ｅより大きな所定値−Ｄ以上である場合には、電流増減量ΔＩγ＊は、零より小さい最小値−ΔＩγｍｉｎ＊（ΔＩγｍｉｎ＊＞０）に固定される。トルク偏差ΔＴが所定値−Ｅと所定値−Ｄの間にある場合には、電流増減量ΔＩγ＊は、零から最小値−ΔＩγｍｉｎ＊までの範囲内において、トルク偏差ΔＴが大きくなるに従って、その値が小さくなるように（図１５Ｂの例ではリニアに小さくなるように）設定される。
【０１２７】
指示操舵トルクＴ＊の符号が負（Ｔ＊＜０）である場合において、トルク偏差ΔＴ（＝Ｔ−Ｔ＊）が零より大きい場合とは、検出操舵トルクＴの絶対値が指示操舵トルクＴ＊の絶対値よりも小さい場合である。従って、この場合は、アシストトルクが不足していないと考えられる。ただし、トルクセンサ１の出力にばらつきがある場合には、ばらつきによる検出誤差の最大値をＥとすると、実際のトルク偏差ΔＴが零である場合でも、演算されたトルク偏差ΔＴは−Ｅ〜＋Ｅの範囲内の値をとる可能性がある。そこで、実際のトルク偏差ΔＴが零になっている可能性がある場合、つまり、演算されたトルク偏差ΔＴが−Ｅ〜＋Ｅの範囲内にある場合には、省電力化を図るとともにモータの発熱を抑制するために、指示電流値Ｉγ＊を減少させるようにしている。
【０１２８】
また、演算されたトルク偏差ΔＴが所定値−Ｅより大きな場合にも、省電力化を図るとともにモータの発熱を抑制するために、電流増減量ΔＩγ＊が負の値にされている。より具体的には、トルク偏差ΔＴが所定値−Ｅと所定値−Ｄの間の値である場合には、トルク偏差ΔＴが大きくなるにしたがって、電流増減量ΔＩγ＊が小さくなる（「電流減少量」が大きくなる）。また、トルク偏差ΔＴが所定値−Ｄ以上の値である場合には、電流増減量ΔＩγ＊は最小値−ΔＩγｍｉｎ＊（「電流減少量」の最大値）となる。
【０１２９】
一方、トルク偏差ΔＴ（＝Ｔ−Ｔ＊）が零以下である場合とは、検出操舵トルクＴの絶対値が指示操舵トルクＴ＊の絶対値よりも大きい場合である。従って、この場合には、アシストトルクが不足している場合であると考えられる。そこで、トルク偏差ΔＴが所定値−Ｅ未満の場合には、アシストトルク不足を補うように、電流増減量ΔＩγ＊が正の値にされている。より具体的には、トルク偏差ΔＴが所定値−Ｅと所定値−Ｆの間の値である場合には、トルク偏差ΔＴが小さくなるにしたがって、電流増減量ΔＩγ＊が大きくなる（「電流増加量」が大きくなる）。また、トルク偏差ΔＴが所定値−Ｆ以下の値である場合には、電流増減量ΔＩγ＊は最大値＋ΔＩγｍａｘ＊（「電流増加量」の最大値）となる。
【０１３０】
指示電流増減量演算部８０Ａによって演算された電流増減量ΔＩγ＊は、出力制御部８０Ｂに与えられる。出力制御部８０Ｂは、前述したような処理を行なう。
図１６は、指示電流増減量演算部８０Ａおよび出力制御部８０Ｂの動作を示すフローチャートである。図１６に示される処理は、所定の演算周期毎に実行される。
指示電流増減量演算部８０Ａによって、電流増減量ΔＩγ＊が演算されると（ステップＳ１１）、出力制御部８０Ｂは、指示電流増減量演算部８０Ａによって演算された電流増減量ΔＩγ＊が「電流減少量」であるか否かを判別する（ステップＳ１２）。具体的には、出力制御部８０Ｂは、指示電流増減量演算部８０Ａによって演算された電流増減量ΔＩγ＊が負の値であれば、今回演算された電流増減量ΔＩγ＊は「電流減少量」であると判別し、電流増減量ΔＩγ＊が正の値であれば、今回演算された電流増減量ΔＩγ＊は「電流増加量」であると判別する。
【０１３１】
指示電流増減量演算部８０Ａによって演算された電流増減量ΔＩγ＊が「電流増加量」である場合には（ステップＳ１２：ＮＯ）、出力制御部８０Ｂは、今回演算された電流増減量ΔＩγ＊（「電流増加量」）を出力する（ステップＳ１３）。そして、今演算周期の処理を終了する。
一方、指示電流増減量演算部８０Ａによって演算された電流増減量ΔＩγ＊が「電流減少量」であると判別された場合には（ステップＳ１２：ＹＥＳ）、出力制御部８０Ｂは、前回に指示電流Ｉγ＊が減少された時点から所定時間Ｔｓ以上の時間が経過しているか否かを判別する（ステップＳ１４）。所定時間Ｔｓは、指示電流Ｉγ＊を連続して減少させる場合の最小の周期であり、この例では、１００ｍｓである。ステップＳ１４の判別は、たとえば、出力制御部８０Ｂによって「電流減少量」が出力された最新の時点から、所定時間Ｔｓが経過しているか否かを判別することによって行なわれる。
【０１３２】
前回に指示電流Ｉγ＊が減少された時点から所定時間Ｔｓ以上の時間が経過している場合には（ステップＳ１４：ＹＥＳ）、誘起電圧推定部３７によって推定される推定誘起電圧Ｅ^αβの二乗和（Ｅ^α２＋Ｅ^β２）が所定のしきい値Ｈ以下であるか否かを判別する（ステップＳ１５）。推定誘起電圧Ｅ^αβの二乗和（Ｅ^α２＋Ｅ^β２）がしきい値Ｈ以下である場合には（ステップＳ１５：ＹＥＳ）、出力制御部８０Ｂは、今回演算された電流増減量ΔＩγ＊（「電流減少量」）を出力する（ステップＳ１６）。そして、今演算周期の処理を終了する。
【０１３３】
前記ステップＳ１４において、前回に指示電流Ｉγ＊が減少された時点から所定時間Ｔｓ以上の時間が経過していないと判別された場合には（ステップＳ１４：ＮＯ）または前記ステップＳ１５において、推定誘起電圧Ｅ^αβの二乗和（Ｅ^α２＋Ｅ^β２）がしきい値Ｈより大きいと判別された場合には（ステップＳ１５：ＮＯ）、出力制御部８０Ｂは、今回演算された電流増減量ΔＩγ＊（「電流減少量」）を出力することなく（ステップＳ１７）、今演算周期の処理を終了する。
【０１３４】
図１３に戻り、出力制御部８０Ｂから出力された電流増減量ΔＩγ＊は、加算器８０Ｃにおいて、指示電流値Ｉγ＊の前回値Ｉγ＊（n-1）（ｎは今演算周期の番号）に加算される（Ｚ−１は信号の前回値を表す）。これにより、今演算周期での指示電流値Ｉγ＊が演算される。ただし、指示電流値Ｉγ＊の初期値は予め定められた値（例えば零）である。加算器８０Ｃによって得られた指示電流値Ｉγ＊は、上下限リミッタ８０Ｄに与えられる。上下限リミッタ８０Ｄは、加算器８０Ｃによって得られた指示電流値Ｉγ＊を、所定の下限値ξmin（ξmin≧０）と上限値ξmax（ξmax＞ξmin）との間の値に制限する。
【０１３５】
つまり、加算器８０Ｃによって得られた指示電流値Ｉγ＊が、下限値ξmin以上でかつ上限値ξmax以下であるときには、上下限リミッタ８０Ｄは、当該指示電流値Ｉγ＊をそのまま出力する。加算器８０Ｃによって得られた指示電流値Ｉγ＊が下限値ξminより小さいときには、上下限リミッタ８０Ｄは、下限値ξminを今演算周期の指示電流値Ｉγ＊として出力する。加算器８０Ｃによって得られた指示電流値Ｉγ＊が上限値ξmaxより大きいときには、上下限リミッタ８０Ｄは、上限値ξmaxを今演算周期の指示電流値Ｉγ＊として出力する。
【０１３６】
上記実施形態では、モータ３が停止しているか否かを推定誘起電圧の二乗和（Ｅ^α２＋Ｅ^β２）に基づいて判別しているが、舵角センサ４によって検出される操舵角の所定時間当たりの変化量に基づいて、判別するようにしてもよい。具体的には、所定時間当たりの操舵角変化量が所定のしきい値以下であればモータ３が停止していると判別され、所定時間当たりの操舵角変化量が所定のしきい値より大きければモータ３が回転していると判別される。
【０１３７】
図１に示される第１の実施形態および図９に示される第３の実施形態においても、指示電流増減量演算部３０Ａ，７０Ａによって演算された電流増減量ΔＩγ＊に対して、第４の実施形態における出力制御部８０Ｂと同様な出力制御を行なうようにしてもよい。つまり、
図１および図９に破線で示すように、指示電流増減量演算部３０Ａ，７０Ａと加算器３０Ｂ，７０Ｂとの間に、第４の実施形態における出力制御部８０Ｂと同様な出力制御を行う出力制御部８０Ｂを設けてもよい。この場合、モータ３（ロータ５０）が停止しているか否かを判別するために、第４の実施形態における誘起電圧推定部３７と同様な誘起電圧推定部を設けてもよい。また、舵角センサ４によって検出される操舵角の所定時間当たりの変化量に基づいて、モータ３が停止しているか否かを判別してもよい。
【０１３８】
図１７は、この発明の第５の実施形態に係るモータ制御装置を適用した電動パワーステアリング装置の構成を説明するためのブロック図である。この図１７において、前述の図１の各部に対応する部分には図１と同じ符号を付して示す。
前述した第４の実施形態（図１３参照）では、たとえば、図１５Ａに示すように、指示操舵トルクＴ＊の符号が正（Ｔ＊≧０）である場合において、トルク偏差ΔＴが所定値Ｅ未満である場合には、省電力化を図るとともにモータの発熱を抑制するために、指示電流値Ｉγ＊が零より小さな値にされている。図１５Ａでは、指示操舵トルクＴ＊の符号が正（Ｔ＊≧０）である場合において、トルク偏差ΔＴが負であるときには、電流増減量ΔＩγ＊は最小値−ΔＩγｍｉｎ＊となる。
【０１３９】
運転者が右操舵に切り込んだ後に、中立位置方向への切り戻し操舵を行った場合には、指示操舵トルクＴ＊および検出操舵トルクＴの符号は正であり、検出操舵トルクＴの絶対値が減少する。このため、トルク偏差ΔＴ（＝Ｔ−Ｔ＊）が負となる。前記切り戻し操舵によってトルク偏差ΔＴが負となると、電流増減量ΔＩγ＊は最小値−ΔＩγｍｉｎ＊となるため、指示電流値Ｉγ＊が減少し、アシストトルクが零になるおそれがある。そうすると、運転者は、それまで発生していたアシストトルクが無くなるため、切り戻し操舵時に違和感を感じる。第５の実施形態では、切り戻し操舵時にもアシストトルクを発生させることにより、切り戻し操舵時に運転者に違和感を感じさせないようにする。
【０１４０】
第５の実施形態では、図１に示されている指示電流値生成部３０の代わりに、指示電流値生成部９０が設けられている。指示電流値生成部９０は、γ軸指示電流値Ｉγ＊を有意値とする一方で、δ軸指示電流値Ｉδ＊を零とする。より具体的には、指示電流値生成部９０は、指示操舵トルク設定部２１によって設定される指示操舵トルクＴ＊と、トルクセンサ１によって検出される検出操舵トルクＴとに基づいて、γ軸指示電流値Ｉγ＊を設定する。
【０１４１】
指示電流値生成部９０は、指示電流増減量演算部９０Ａと、加算器９０Ｂと、上下限リミッタ９０Ｃとを含んでいる。指示電流増減量演算部９０Ａは、所定の演算周期毎に、指示操舵トルクＴ＊と検出操舵トルクＴに基づいて、指示電流値Ｉγ＊に対する電流増減量ΔＩγ＊を演算する。具体的には、指示電流増減量演算部９０Ａは、指示操舵トルクＴ＊の符号と、指示操舵トルクＴ＊と検出操舵トルクＴとの偏差ΔＴ（＝Ｔ−Ｔ＊）とに基づいて、電流増減量ΔＩγ＊を演算する。
【０１４２】
指示電流増減量演算部９０Ａによる電流増減量ΔＩγ＊の演算方法の基本的な考え方について説明する。検出操舵トルクＴの絶対値が指示操舵トルクＴ＊の絶対値よりも大きく、かつトルク偏差ΔＴの絶対値が第１の所定値Ｅ（Ｅ＞０，図１８Ａ，図１８Ｂ参照）より大きい場合には、アシストトルク不足を補うために、指示電流値Ｉγ＊を零より大きな値とする。つまり、指示電流増減量演算部９０Ａは、指示電流値Ｉγ＊を増加させるための電流増減量（以下、「電流増加量」という場合がある）ΔＩγ＊（ΔＩγ＊＞０）を演算する。
【０１４３】
また、検出操舵トルクＴの絶対値が指示操舵トルクＴ＊の絶対値よりも小さく、かつトルク偏差ΔＴの絶対値が第２の所定値Ｈ（Ｈ＞０，図１８Ａ，図１８Ｂ参照）より大きい場合には、切り戻し操舵時にアシストトルクを発生させるために、指示電流値Ｉγ＊を零より大きな値とする。つまり、指示電流増減量演算部９０Ａは、指示電流値Ｉγ＊を増加させるための電流増減量（「電流増加量」）ΔＩγ＊（ΔＩγ＊＞０）を演算する。
【０１４４】
そして、検出操舵トルクＴの絶対値が指示操舵トルクＴ＊の絶対値よりも大きく、かつトルク偏差ΔＴの絶対値が第１の所定値Ｅ以下である場合および検出操舵トルクＴの絶対値が指示操舵トルクＴ＊の絶対値よりも小さく、かつトルク偏差ΔＴの絶対値が第２の所定値Ｈ以下の場合には、省電力化を図るとともにモータの発熱を抑制するために、指示電流値Ｉγ＊を零より小さな値とする。つまり、指示電流増減量演算部９０Ａは、指示電流値Ｉγ＊を減少させるための電流増減量（「電流減少量」）ΔＩγ＊（ΔＩγ＊＜０）を演算する。
【０１４５】
指示操舵トルクＴ＊の符号が正（Ｔ＊≧０）である場合の、トルク偏差ΔＴに対する電流増減量ΔＩγ＊の設定例は、図１８Ａに示されている。トルク偏差ΔＴが所定値＋Ｅ（Ｅ＞０，第１の所定値Ｅ）である場合または所定値−Ｈ（Ｈ＞０，第２の所定値Ｈに負の符号を付けた値）にある場合には、電流増減量ΔＩγ＊は零に設定される。第１の所定値Ｅは、トルクセンサ１の出力のばらつきに応じた値（ばらつきによる検出誤差の最大値）に設定されている。トルク偏差ΔＴが所定値＋Ｅより大きな所定値＋Ｆ（Ｆ＞０）以上である場合には、電流増減量ΔＩγ＊は、零より大きな最大値＋ΔＩγｍａｘ＊（ΔＩγｍａｘ＊＞０）に固定される。所定値＋Ｆは、たとえば、２Ｎｍに設定される。トルク偏差ΔＴが所定値＋Ｅと所定値＋Ｆの間にある場合には、電流増減量ΔＩγ＊は、零から最大値＋ΔＩγｍａｘ＊までの範囲内において、トルク偏差ΔＴが大きくなるに従って、その値が大きくなるように（図１８Ａの例ではリニアに大きくなるように）設定される。
【０１４６】
所定値−Ｈの絶対値（第２の所定値Ｈ）は、第１の所定値Ｅ以上の値に設定される。第２の所定値Ｈは、たとえば、２Ｎｍ〜３Ｎｍの範囲内の値に設定される。運転者が右操舵で切り込んだ後に切り戻し操舵（中立位置方向への操舵)を行った場合には、検出操舵トルクＴの絶対値が減少するため、トルク偏差ΔＴは負になる。この実施形態では、トルクセンサ１のばらつきによる検出誤差の最大値Ｅを考慮して、トルク偏差ΔＴが−Ｅ以下の所定値−Ｈ未満であるときに、前記切り戻し操舵が行われていると判定している。
【０１４７】
トルク偏差ΔＴが所定値−Ｈより小さな所定値−Ｇ（Ｇ＞０）以下である場合には、電流増減量ΔＩγ＊は、零より大きな最大値＋ΔＩγｍａｘ＊（ΔＩγｍａｘ＊＞０）に固定される。所定値Ｇは、たとえば、５Ｎｍに設定される。トルク偏差ΔＴが所定値−Ｈと所定値−Ｇの間にある場合には、電流増減量ΔＩγ＊は、零から最大値＋ΔＩγｍａｘ＊までの範囲内において、トルク偏差ΔＴが小さくなるに従って、その値が大きくなるように（図１８Ａの例ではリニアに大きくなるように）設定される。
【０１４８】
トルク偏差ΔＴが、所定値−Ｈより大きな所定値−Ｉ（Ｉ＞０）以上でかつ所定値＋Ｅより小さな所定値＋Ｄ（Ｄ＞０）以下の範囲内にある場合には、電流増減量ΔＩγ＊は、零より小さい最小値−ΔＩγｍｉｎ＊（ΔＩγｍｉｎ＊＞０）に固定される。トルク偏差ΔＴが所定値−Ｈと所定値−Ｉの間にある場合には、電流増減量ΔＩγ＊は、零から最小値−ΔＩγｍｉｎ＊までの範囲内において、トルク偏差ΔＴが大きくなるに従って、その値が小さくなるように（図１８Ａの例ではリニアに小さくなるように）設定される。トルク偏差ΔＴが所定値＋Ｅと所定値＋Ｄの間にある場合には、電流増減量ΔＩγ＊は、零から最小値−ΔＩγｍｉｎ＊までの範囲内において、トルク偏差ΔＴが小さくなるに従って、その値が小さくなるように（図１８Ａの例ではリニアに小さくなるように）設定される。
【０１４９】
電流増減量ΔＩγ＊の最大値＋ΔＩγｍａｘ＊の絶対値ΔＩγｍａｘ＊は、「電流増加量」の最大値である。この最大値＋ΔＩγｍａｘ＊は、電流増減量ΔＩγ＊が最大値＋ΔＩγｍａｘ＊に設定された場合に、前記「不適切状態の許容最大時間（この例では１００ｍｓ）」以内に、指示電流値Ｉγ＊が指示電流上限値（上下限リミッタ８０Ｄの上限値）に達するような値に設定されてもよい。
【０１５０】
電流増減量ΔＩγ＊の最小値−ΔＩγｍｉｎ＊の絶対値ΔＩγｍｉｎ＊は、「電流減少量」の最大値である。この絶対値ΔＩγｍｉｎ＊は、対応するアシストトルク変化量が所定値（たとえば、２Ｎｍ）以下であり、かつ指示電流値Ｉγ＊を減少させてから、同じ大きさのアシストトルクが発生される角度に負荷角θＬが収束するのに要する時間が前記「不適切状態の許容最大時間（この例では１００ｍｓ）」以下となる大きさに設定されてもよい。
【０１５１】
指示操舵トルクＴ＊の符号が正（Ｔ＊≧０）である場合において、トルク偏差ΔＴ（＝Ｔ−Ｔ＊）が零以上である場合とは、検出操舵トルクＴの絶対値が指示操舵トルクＴ＊の絶対値よりも大きく、従ってアシストトルクが不足している場合であると考えられる。そこで、トルク偏差ΔＴが所定値＋Ｅより大きい場合には、アシストトルク不足を補うように、電流増減量ΔＩγ＊が正の値にされている。
【０１５２】
前述したように、運転者が右操舵で切り込んだ後に切り戻し操舵を行った場合には、検出操舵トルクＴの絶対値が減少するため、トルク偏差ΔＴ（＝Ｔ−Ｔ＊）が零より小さくなる。そこで、トルク偏差ΔＴが所定値−Ｈ未満となった場合には、切り戻し操舵時にアシストトルクを発生させるために、発生電流増減量ΔＩγ＊が正の値にされている。これにより、違和感のない切り戻し操舵が可能となる。
【０１５３】
トルク偏差ΔＴが所定値−Ｈ以上で所定値＋Ｅ以下の場合には、省電力化を図るとともにモータの発熱を抑制するために、電流増減量ΔＩγ＊が負の値にされている。
指示操舵トルクＴ＊の符号が負（Ｔ＊＜０）である場合の、トルク偏差ΔＴに対する電流増減量ΔＩγ＊の設定例は、図１８Ｂに示されている。トルク偏差ΔＴが所定値−Ｅである場合または所定値＋Ｈにある場合には、電流増減量ΔＩγ＊は零に設定される。トルク偏差ΔＴが所定値−Ｅより小さな所定値−Ｆ以下である場合には、電流増減量ΔＩγ＊は、零より大きな最大値＋ΔＩγｍａｘ＊（ΔＩγｍａｘ＊＞０）に固定される。トルク偏差ΔＴが所定値−Ｅと所定値−Ｆの間にある場合には、電流増減量ΔＩγ＊は、零から最大値＋ΔＩγｍａｘ＊までの範囲内において、トルク偏差ΔＴが小さくなるに従って、その値が大きくなるように（図１８Ｂの例ではリニアに大きくなるように）設定される。
【０１５４】
運転者が左操舵で切り込んだ後に切り戻し操舵（中立位置方向への操舵)を行った場合には、検出操舵トルクＴの絶対値が減少するため、トルク偏差ΔＴ（＝Ｔ−Ｔ＊）は正になる。この実施形態では、トルクセンサ１のばらつきによる検出誤差の最大値Ｅを考慮して、トルク偏差ΔＴが＋Ｅ以上の所定値＋Ｈより大きいときに、前記切り戻し操舵が行われていると判定している。
【０１５５】
トルク偏差ΔＴが所定値＋Ｈより大きな所定値＋Ｇ以上ある場合には、電流増減量ΔＩγ＊は、零より大きな最大値＋ΔＩγｍａｘ＊（ΔＩγｍａｘ＊＞０）に固定される。トルク偏差ΔＴが所定値＋Ｈと所定値＋Ｇの間にある場合には、電流増減量ΔＩγ＊は、零から最大値＋ΔＩγｍａｘ＊までの範囲内において、トルク偏差ΔＴが大きくなるに従って、その値が大きくなるように（図１８Ｂの例ではリニアに大きくなるように）設定される。
【０１５６】
トルク偏差ΔＴが、所定値−Ｅより大きな所定値−Ｄ以上でかつ所定値＋Ｈより小さな所定値＋Ｉ以下の範囲内にある場合には、電流増減量ΔＩγ＊は、零より小さい最小値−ΔＩγｍｉｎ＊（ΔＩγｍｉｎ＊＞０）に固定される。トルク偏差ΔＴが所定値＋Ｈと所定値＋Ｉの間にある場合には、電流増減量ΔＩγ＊は、零から最小値−ΔＩγｍｉｎ＊までの範囲内において、トルク偏差ΔＴが小さくなるに従って、その値が小さくなるように（図１８Ｂの例ではリニアに小さくなるように）設定される。トルク偏差ΔＴが所定値−Ｅと所定値−Ｄの間にある場合には、電流増減量ΔＩγ＊は、零から最小値−ΔＩγｍｉｎ＊までの範囲内において、トルク偏差ΔＴが大きくなるに従って、その値が小さくなるように（図１８Ｂの例ではリニアに小さくなるように）設定される。
【０１５７】
指示操舵トルクＴ＊の符号が負（Ｔ＊＜０）である場合において、トルク偏差ΔＴ（＝Ｔ−Ｔ＊）が零以下である場合とは、検出操舵トルクＴの絶対値が指示操舵トルクＴ＊の絶対値よりも大きく、従ってアシストトルクが不足している場合であると考えられる。そこで、トルク偏差ΔＴが所定値−Ｅより小さい場合には、アシストトルク不足を補うように、電流増減量ΔＩγ＊が正の値にされている。
【０１５８】
前述したように、運転者が左操舵で切り込んだ後に切り戻し操舵を行った場合には、検出操舵トルクＴの絶対値が減少するため、トルク偏差ΔＴ（＝Ｔ−Ｔ＊）が零より大きくなる。そこで、トルク偏差ΔＴが所定値＋Ｈより大きくなった場合には、切り戻し操舵時にアシストトルクを発生させるために、発生電流増減量ΔＩγ＊が正の値にされている。これにより、違和感のない切り戻し操舵が可能となる。
【０１５９】
トルク偏差ΔＴが所定値−Ｅ以上でかつ所定値＋Ｈ以下の範囲内にある場合には、省電力化を図るとともにモータの発熱を抑制するために、電流増減量ΔＩγ＊が負の値にされている。
図１７に戻り、指示電流増減量演算部９０Ａから出力された電流増減量ΔＩγ＊は、加算器９０Ｂにおいて、指示電流値Ｉγ＊の前回値Ｉγ＊（n-1）（ｎは今演算周期の番号）に加算される（Ｚ−１は信号の前回値を表す）。これにより、今演算周期での指示電流値Ｉγ＊が演算される。ただし、指示電流値Ｉγ＊の初期値は予め定められた値（例えば零）である。加算器９０Ｂによって得られた指示電流値Ｉγ＊は、上下限リミッタ９０Ｃに与えられる。上下限リミッタ９０Ｃは、加算器９０Ｂによって得られた指示電流値Ｉγ＊を、所定の下限値ξmin（ξmin≧０）と上限値ξmax（ξmax＞ξmin）との間の値に制限する。
【０１６０】
つまり、加算器９０Ｂによって得られた指示電流値Ｉγ＊が、下限値ξmin以上でかつ上限値ξmax以下であるときには、上下限リミッタ９０Ｃは、当該指示電流値Ｉγ＊をそのまま出力する。加算器９０Ｂによって得られた指示電流値Ｉγ＊が下限値ξminより小さいときには、上下限リミッタ９０Ｃは、下限値ξminを今演算周期の指示電流値Ｉγ＊として出力する。加算器９０Ｂによって得られた指示電流値Ｉγ＊が上限値ξmaxより大きいときには、上下限リミッタ９０Ｃは、上限値ξmaxを今演算周期の指示電流値Ｉγ＊として出力する。
【０１６１】
図１７に示される第５の実施形態においても、指示電流増減量演算部９０Ａによって演算された電流増減量ΔＩγ＊に対して、第４の実施形態における出力制御部８０Ｂと同様な出力制御を行なうようにしてもよい。つまり、図１７に破線で示すように、指示電流増減量演算部９０Ａと加算器９０Ｂとの間に、第４の実施形態における出力制御部８０Ｂと同様な出力制御を行う出力制御部８０Ｂを設けてもよい。この場合、モータ３（ロータ５０）が停止しているか否かを判別するために、第４の実施形態における誘起電圧推定部３７と同様な誘起電圧推定部を設けてもよい。また、舵角センサ４によって検出される操舵角の所定時間当たりの変化量に基づいて、モータ３が停止しているか否かを判別してもよい。  以上、この発明のいくつかの実施形態について説明したが、この発明はさらに他の形態で実施することもできる。たとえば、前述の実施形態では、ＰＩ制御部２３によって加算角αを求めているが、ＰＩ制御部２３に代えて、ＰＩＤ（比例・積分・微分）演算部を用いて加算角αを求める構成とすることもできる。
【０１６２】
また、前述の実施形態では、回転角センサを備えずに、専らセンサレス制御によってモータ３を駆動する構成について説明したが、レゾルバ等の回転角センサを備え、この回転角センサの故障時に前述のようなセンサレス制御を行う構成としてもよい。これにより、回転角センサの故障時にもモータ３の駆動を継続できるから、操舵補助を継続できる。
この場合、回転角センサを用いるときには、指示電流値生成部３０において、操舵トルクおよび車速に応じて、所定のアシスト特性に従ってδ軸指示電流値Ｉδ＊を発生させるようにすればよい。
【０１６３】
さらに、前述の実施形態では、電動パワーステアリング装置にこの発明が適用された例について説明したが、この発明は、電動ポンプ式油圧パワーステアリング装置のためのモータの制御や、パワーステアリング装置以外にも、ステア・バイ・ワイヤ（ＳＢＷ）システム、可変ギヤレシオ（ＶＧＲ）ステアリングシステムその他の車両用操舵装置に備えられたブラシレスモータの制御のために用いることができる。むろん、車両用操舵装置に限らず、他の用途のモータの制御のためにも本発明のモータ制御装置を適用できる。
【０１６４】
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【０１６５】
１…トルクセンサ、３…モータ、５…モータ制御装置、１０…ステアリングホイール、１１…マイクロコンピュータ、２３…ＰＩ制御部、２６…制御角演算部、３０，６０，７０,８０，９０…指示電流値生成部、５０…ロータ、５１，５２，５３…ステータ巻線、５５…ステータ
【図１】
0005614583.tif 000002
【図２】
0005614583.tif 000003
【図３】
0005614583.tif 000004
【図４】
0005614583.tif 000005
【図５】
0005614583.tif 000006
【図６】
0005614583.tif 000007
【図７】
0005614583.tif 000008
【図８】
0005614583.tif 000009
【図９】
0005614583.tif 000010
【図１０】
0005614583.tif 000011
【図１１】
0005614583.tif 000012
【図１２】
0005614583.tif 000013
【図１３】
0005614583.tif 000014
【図１４】
0005614583.tif 000015
【図１５】
0005614583.tif 000016
【図１６】
0005614583.tif 000017
【図１７】
0005614583.tif 000018
【図１８】
0005614583.tif 000019