(57)【要約】【課題】回転角センサを用いない新たな制御方式でモータを制御することができるモータ制御装置を提供する。【解決手段】仮想回転座標系であるγδ座標系のγ軸電流Ｉγでモータが駆動される。γδ座標系は制御上の回転角である制御角θＣに従う座標系である。制御角θＣとロータ角θＭとの差（負荷角θＬ）に応じたアシストトルクが発生する。検出操舵トルクＴがフィードバックされ、検出操舵トルクＴを指示操舵トルクＴ＊に近づけるように、加算角αが生成される。加算角αが制御角θＣの前回値θＣ(n-1)に加算されることにより、制御角θＣの今回値θＣ(n)が求められる。ロータ角変位演算部３０は、演算周期当たりのロータ角変位Δθを求める。加算角ガード４１は、たとえば、Ｔ＞Ｔ＊のときΔθ＋Ａ≧α≧Δθとなり、Ｔ＜Ｔ＊のときΔθ−Ａ≦α≦Δθとなるように、加算角αを必要に応じて補正する。【選択図】図１
2010239854.tif 000002
【特許請求の範囲】
【請求項１】
ロータと、このロータに対向するステータとを備えたモータを制御するためのモータ制御装置であって、
制御上の回転角である制御角に従う回転座標系の軸電流値で前記モータを駆動する電流駆動手段と、
前記制御角に加算すべき加算角を演算する加算角演算手段と、
所定の演算周期毎に、前記加算角演算手段によって演算された加算角を制御角の前回値に加算することによって制御角の今回値を求める制御角演算手段と、
モータによって駆動される駆動対象に加えられる、モータトルク以外のトルクを検出するためのトルク検出手段と、
前記駆動対象に作用させるべき指示トルクを設定する指示トルク設定手段と、
前記指示トルク設定手段によって設定される指示トルクと前記トルク検出手段によって検出される検出トルクとを比較し、その比較結果に応じて前記加算角を増減する加算角補正手段と
を含む、モータ制御装置。
【請求項２】
前記演算周期当たりの前記ロータの角変位を演算する角変位演算手段をさらに含み、
前記加算角補正手段は、前記角変位演算手段によって演算された角変位に基づいて定められる所定範囲内の値となるように前記加算角を補正する、請求項１記載のモータ制御装置。
【請求項３】
前記加算角補正手段は、前記検出トルクが前記指示トルクよりも大きいときには、前記加算角を前記角変位演算手段によって演算された角変位以上の値に補正し、前記検出トルクが前記指示トルクよりも小さいときには、前記加算角を前記角変位演算手段によって演算された角変位以下の値に補正する、請求項２記載のモータ制御装置。
【請求項４】
前記加算角補正手段は、前記検出トルクが前記指示トルクよりも大きいときには、前記加算角を前記角変位演算手段によって演算された角変位よりも所定の変化制限値だけ大きい値以下の値に補正し、前記検出トルクが前記指示トルクよりも小さいときには、前記加算角を前記角変位演算手段によって演算された角変位よりも所定の変化制限値だけ小さい値以上の値に補正する、請求項２または３記載のモータ制御装置。
【請求項５】
前記加算角補正手段は、前記検出トルクが前記指示トルクよりも小さいときには、前記加算角を前記角変位演算手段によって演算された角変位以上の値に補正し、前記検出トルクが前記指示トルクよりも大きいときには、前記加算角を前記角変位演算手段によって演算された角変位以下の値に補正する、請求項２記載のモータ制御装置。
【請求項６】
前記加算角補正手段は、前記検出トルクが前記指示トルクよりも小さいときには、前記加算角を前記角変位演算手段によって演算された角変位よりも所定の変化制限値だけ大きい値以下の値に補正し、前記検出トルクが前記指示トルクよりも大きいときには、前記加算角を前記角変位演算手段によって演算された角変位よりも所定の変化制限値だけ小さい値以上の値に補正する、請求項２または５記載のモータ制御装置。
【請求項７】
前記加算角補正手段は、前記角変位演算手段によって演算された角変位に前記角変位の演算誤差に関する値を加算した値と、前記角変位演算手段によって演算された角変位から前記角変位の演算誤差に関する値を減算した値とに基づいて、前記所定範囲を規定するものである、請求項２記載のモータ制御装置。
【請求項８】
前記角変位演算手段が、前記モータの誘起電圧を推定する誘起電圧推定手段と、前記誘起電圧推定手段によって推定された誘起電圧に基づいて前記演算周期当たりの前記ロータの角変位を演算する手段と、を含んでおり、
前記誘起電圧推定手段によって推定された誘起電圧が所定のしきい値より大きくなったときに、前記モータの制御を停止させる手段をさらに含む、請求項１〜７のいずれか一項に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ブラシレスモータを駆動するためのモータ制御装置に関する。ブラシレスモータは、たとえば、車両用操舵装置の駆動源として使用可能である。車両用操舵装置の一例は、電動パワーステアリング装置である。
【背景技術】
【０００２】
ブラシレスモータを駆動制御するためのモータ制御装置は、一般に、ロータの回転角を検出するための回転角センサの出力に応じてモータ電流の供給を制御するように構成されている。回転角センサとしては、一般的には、ロータ回転角（電気角）に対応した正弦波信号および余弦波信号を出力するレゾルバが用いられる。しかし、レゾルバは、高価であり、配線数が多く、また、設置スペースも大きい。そのため、ブラシレスモータを備えた装置のコスト削減および小型化が阻害されるという課題がある。
【０００３】
そこで、回転角センサを用いることなくブラシレスモータを駆動するセンサレス駆動方式が提案されている。センサレス駆動方式は、ロータの回転に伴う誘起電圧を推定することによって、磁極の位相（ロータの電気角）を推定する方式である。ロータ停止時および極低速回転時には、磁極の位相を推定できないので、別の方式で磁極の位相が推定される。具体的には、ステータに対してセンシング信号を注入し、このセンシング信号に対するモータの応答が検出される。このモータ応答に基づいて、ロータ回転位置が推定される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2007-267549号公報
【特許文献２】特開平10-243699号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のセンサレス駆動方式は、誘起電圧やセンシング信号を用いてロータの回転位置を推定し、その推定によって得られた回転位置に基づいてモータを制御するものである。しかし、この駆動方式は、いずれの用途にも適しているわけではなく、たとえば、車両の舵取り機構に操舵補助力を与える電動パワーステアリング装置その他の車両用操舵装置の駆動源として用いられるブラシレスモータの制御に適用するための手法は未だ確立されていない。そのため、別の方式によるセンサレス制御の実現が望まれている。
【０００６】
そこで、この発明の目的は、回転角センサを用いない新たな制御方式でモータを制御することができるモータ制御装置を提供することである。
【課題を解決するための手段】
【０００７】
上記の目的を達成するための請求項１記載の発明は、ロータ（５０）と、このロータに対向するステータ（５５）とを備えたモータ（３）を制御するためのモータ制御装置（５）であって、制御上の回転角である制御角（θＣ）に従う回転座標系の軸電流値（Ｉγ＊）で前記モータを駆動する電流駆動手段（３１〜３６）と、前記制御角に加算すべき加算角（α）を演算する加算角演算手段（２２，２３）と、所定の演算周期毎に、前記加算角演算手段によって演算された加算角を制御角の前回値に加算することによって、制御角の今回値を求める制御角演算手段（２６）と、モータによって駆動される駆動対象（２）に加えられる、モータトルク以外のトルク（Ｔ）を検出するためのトルク検出手段（１）と、前記駆動対象に作用させるべき指示トルク（Ｔ＊：モータトルク以外のトルクの指示値）を設定する指示トルク設定手段（２１）と、前記指示トルク設定手段によって設定される指示トルクと前記トルク検出手段によって検出される検出トルクとを比較し、その比較結果に応じて前記加算角を増減する加算角補正手段（４０，４１）とを含む、モータ制御装置である。なお、括弧内の英数字は後述の実施形態における対応構成要素等を表す。以下、この項において同じ。
【０００８】
この構成によれば、制御角に従う回転座標系（γδ座標系。以下「仮想回転座標系」といい、この仮想回転座標系の座標軸を「仮想軸」という。）の軸電流値（以下「仮想軸電流値」という。）によってモータが駆動される一方で、制御角は、演算周期毎に加算角を加算することによって更新される。これにより、制御角を更新しながら、すなわち、仮想回転座標系の座標軸（仮想軸）を更新しながら、仮想軸電流値でモータを駆動することによって、必要なトルクを発生させることができる。こうして、回転角センサを用いることなく、モータから適切なトルクを発生させることができる。
【０００９】
さらに、この発明では、駆動対象に加えられる、モータトルク以外のトルクがトルク検出手段によって検出される。また、駆動対象に作用させるべき指示トルクが指示トルク設定手段によって設定される。加算角演算手段は、たとえば、トルク検出手段によって検出される検出トルクを指示トルクに一致させるべく、加算角を演算するように動作する。これにより、指示トルクに応じたトルク（モータトルク以外のトルク）が駆動対象に加えられる状態となるように、モータトルクが制御される。モータトルクは、ロータの磁極方向に従う回転座標系（ｄｑ座標系）の座標軸と前記仮想軸とのずれ量である負荷角に対応する。負荷角は、制御角とロータ角との差で表される。モータトルクの制御は、負荷角を調整することによって達成され、この負荷角の調整が加算角を制御することによって達成される。
【００１０】
一方、指示トルクと検出トルクとが比較され、その比較結果に応じて、加算角が増減される。これにより、たとえば、指示トルクと検出トルクとの大小関係に合致しない加算角が演算された場合に、このような加算角を妥当な値に補正することができる。
請求項２記載の発明は、前記演算周期当たりの前記ロータの角変位を演算する角変位演算手段（３０）をさらに含み、前記加算角補正手段は、前記角変位演算手段によって演算された角変位に基づいて定められる所定範囲内の値となるように前記加算角を補正する、請求項１記載のモータ制御装置である。
【００１１】
制御角は、演算周期間で加算角だけ変化する。つまり、演算周期当たりの制御角の変化は加算角に等しい。加算角が演算周期当たりのロータの角変位よりも大きいとき、負荷角が増加する。したがって、負荷角とモータトルクとに正の相関がある場合、負荷角の増加に応じてモータトルクが増加する。また、負荷角とモータトルクとに負の相関がある場合には、負荷角の増加に応じてモータトルクが減少する。このように、負荷角とモータトルクとの間には相関関係がある。
【００１２】
駆動対象に対して全体として或るトルクを作用させるべき場合（たとえば、モータトルクによって不足のトルクが補われる場合）、モータトルクが増加することによって、駆動対象に加えられるモータトルク以外のトルクが減少するので、検出トルクが減少することになる。一方、モータトルクが減少すれば、駆動対象に加えられるモータトルク以外のトルクが増加するので、検出トルクが増加することになる。したがって、指示トルクと検出トルクとの大小関係と、演算周期当たりのロータ角変位と加算角との大小関係とが適切であれば、検出トルクを指示トルクへと近づけることができる。そこで、加算角補正手段は、検出トルクが指示トルクとの比較結果に応じて、ロータの角変位に基づいて定められる所定範囲の値となるように加算角を補正する。
【００１３】
より具体的には、負荷角とモータトルクとに正の相関がある場合、請求項３に記載されているように、前記加算角補正手段は、前記検出トルクが前記指示トルクよりも大きいときには、前記加算角を前記角変位演算手段によって演算された角変位以上の値に補正し、前記検出トルクが前記指示トルクよりも小さいときには、前記加算角を前記角変位演算手段によって演算された角変位以下の値に補正することが好ましい。
【００１４】
負荷角とモータトルクとに正の相関がある場合には、検出トルクが指示トルクよりも大きい場合には、演算周期当たりのロータ角変位よりも加算角が大きければ、検出トルクを指示トルクへと近づけることができる。そこで、加算角補正手段は、検出トルクが指示トルクよりも大きい場合において、加算角が演算周期当たりのロータ角変位よりも小さいときには、加算角を演算周期当たりのロータ角変位以上の値に補正する。また、検出トルクが指示トルクよりも小さい場合には、演算周期当たりのロータ角変位よりも加算角が小さければ、検出トルクを指示トルクへと近づけることができる。そこで、加算角補正手段は、検出トルクが指示トルクよりも小さい場合において、加算角が演算周期当たりのロータ角変位よりも大きいときには、加算角を演算周期当たりのロータ角変位以下の値に補正する。
【００１５】
このようにして、検出トルクと指示トルクとの大小関係に応じて、加算角を妥当な値に補正することができるので、検出トルクを指示トルクに近づけるように、妥当な制御を行うことができる。
また、負荷角とモータトルクとに正の相関がある場合に、検出トルクが指示トルクよりも大きいときに、演算周期当たりのロータ角変位よりも加算角が過度に大きいと、加算角を適値に収束させるのに時間がかかる。また、検出トルクが指示トルクよりも小さいときに、演算周期当たりのロータ角変位よりも加算角が過度に小さいと、加算角を適値に収束させるのに時間がかかる。そこで、請求項４に記載されているように、前記加算角補正手段は、前記検出トルクが前記指示トルクよりも大きいときには、前記加算角を前記角変位演算手段によって演算された角変位よりも所定の変化制限値だけ大きい値以下の値に補正し、前記検出トルクが前記指示トルクよりも小さいときには、前記加算角を前記角変位演算手段によって演算された角変位よりも所定の変化制限値だけ小さい値以上の値に補正することが好ましい。これにより、加算角が適値に収束しやすくなるので、制御の安定化を図ることができ、制御異常が生じたときでも正常状態への復帰を効果的に促すことができる。とくに、請求項３および請求項４の特徴を組み合わせることで、加算角の下限および上限の両方が演算周期当たりの角変位に応じて定められることになるから、一層妥当な制御を実現できる。
【００１６】
一方、負荷角とモータトルクとに負の相関がある場合、請求項５に記載されているように、前記加算角補正手段は、前記検出トルクが前記指示トルクよりも小さいときには、前記加算角を前記角変位演算手段によって演算された角変位以上の値に補正し、前記検出トルクが前記指示トルクよりも大きいときには、前記加算角を前記角変位演算手段によって演算された角変位以下の値に補正することが好ましい。
【００１７】
負荷角とモータトルクとに負の相関がある場合には、検出トルクが指示トルクよりも小さい場合に、演算周期当たりのロータ角変位よりも加算角が大きければ、検出トルクを指示トルクへと近づけることができる。そこで、加算角補正手段は、検出トルクが指示トルクよりも小さい場合において、加算角が演算周期当たりのロータ角変位よりも小さいときには、加算角を演算周期当たりのロータ角変位以上の値に補正する。また、検出トルクが指示トルクよりも大きい場合に、演算周期当たりのロータ角変位よりも加算角が小さければ、検出トルクを指示トルクへと近づけることができる。そこで、加算角補正手段は、検出トルクが指示トルクよりも大きい場合において、加算角が演算周期当たりのロータ角変位よりも大きいときには、加算角を演算周期当たりのロータ角変位以下の値に補正する。
【００１８】
このようにして、検出トルクと指示トルクとの大小関係に応じて、加算角を妥当な値に補正することができるので、検出トルクを指示トルクに近づけるように、妥当な制御を行うことができる。
また、負荷角とモータトルクとに負の相関がある場合に、検出トルクが指示トルクよりも小さいときに、演算周期当たりのロータ角変位よりも加算角が過度に大きいと、加算角を適値に収束させるのに時間がかかる。また、検出トルクが指示トルクよりも大きいときに、演算周期当たりのロータ角変位よりも加算角が過度に小さいと、加算角を適値に収束させるのに時間がかかる。そこで、請求項６に記載されているように、前記加算角補正手段は、前記検出トルクが前記指示トルクよりも小さいときには、前記加算角を前記角変位演算手段によって演算された角変位よりも所定の変化制限値だけ大きい値以下の値に補正し、前記検出トルクが前記指示トルクよりも大きいときには、前記加算角を前記角変位演算手段によって演算された角変位よりも所定の変化制限値だけ小さい値以上の値に補正することが好ましい。これにより、加算角が適値に収束しやすくなるので、制御の安定化を図ることができ、制御異常が生じたときでも正常状態への復帰を効果的に促すことができる。とくに、請求項５および請求項６の特徴を組み合わせることで、加算角の下限および上限の両方が演算周期当たりの角変位に応じて定められることになるから、一層妥当な制御を実現できる。
【００１９】
請求項７記載の発明は、前記加算角補正手段は、前記角変位演算手段によって演算された角変位（Δθ）に前記角変位の演算誤差に関する値（ε）を加算した値（Δθ＋ε）と、前記角変位演算手段によって演算された角変位から前記角変位の演算誤差に関する値を減算した値（Δθ−ε）とに基づいて、前記所定範囲を規定するものである、請求項２記載のモータ制御装置である。
【００２０】
負荷角とモータトルクとに正の相関がある場合に、検出トルクが指示トルクよりも大きいときには、前述したように、演算周期当たりの実際のロータ角変位よりも加算角が大きければ、検出トルクを指示トルクへと近づけることができる。そこで、検出トルクが指示トルクよりも大きい場合において、加算角が、角変位演算手段によって演算された演算周期当たりのロータ角変位（実際のロータ角変位と区別するために「推定ロータ角変位」ということにする）よりも小さいときには、加算角を推定ロータ角変位以上の値に補正することが考えられる。
【００２１】
しかし、推定ロータ角変位に誤差がある場合、たとえば、推定ロータ角変位が実際のロータ角変位より小さい場合には、加算角を推定ロータ角変位以上に補正しても、加算角が実際のロータ角変位以上とならない場合がある。この発明では、加算角補正手段は、検出トルクが指示トルクよりも大きいときには、加算角を、推定ロータ角変位にその誤差を加算した値以上に補正することが可能となる。このため、検出トルクが指示トルクよりも大きいときに、加算角を実際のロータ角変位以上とすることができる。
【００２２】
一方、検出トルクが指示トルクよりも小さい場合には、前述したように、演算周期当たりのロータ角変位よりも加算角が小さければ、検出トルクを指示トルクへと近づけることができる。そこで、検出トルクが指示トルクよりも小さい場合において、加算角が推定ロータ角変位よりも大きいときには、加算角を推定ロータ角変位以下の値に補正することが考えられる。
【００２３】
しかし、推定ロータ角変位に誤差がある場合、たとえば、推定ロータ角変位が実際のロータ角変位より大きい場合には、加算角を推定ロータ角変位以下に補正しても、加算角が実際のロータ角変位以下とならない場合がある。この発明では、加算角補正手段は、検出トルクが指示トルクよりも小さいときには、加算角を、推定ロータ角変位からその誤差を減算した値以下に補正することが可能となる。このため、検出トルクが指示トルクよりも小さいときに、加算角を実際のロータ角変位以下とすることができる。
【００２４】
また、この発明では、負荷角とモータトルクとに負の相関がある場合に、検出トルクが指示トルクよりも大きいときには、加算角を、推定ロータ角変位からその誤差を減算した値以下に補正することが可能となる。負荷角とモータトルクとに負の相関がある場合に、検出トルクが指示トルクよりも小さいときには、加算角を、推定ロータ角変位にその誤差を加算した値以下に補正することが可能となる。つまり、この発明では、角変位演算手段によって演算された角変位に誤差が発生している場合でも、検出トルクを指示トルクに近づけるように、妥当な制御を行うことが可能となる。
【００２５】
角変位の演算誤差に関する値は、たとえば、予め求められた、角変位演算手段の誤差の最大値であってもよい。また、検出トルクと指示トルクとの大小関係が交互に逆転するような場合には、角変位の演算誤差に関する値を、前記誤差の最大値より小さくするようにしてもよい。この場合、検出トルクと指示トルクとの大小関係の逆転現象の繰り返し回数が多いほど、角変位の演算誤差に関する値を小さくするようにしてもよい。
【００２６】
請求項８記載の発明は、前記角変位演算手段が、前記モータの誘起電圧を推定する誘起電圧推定手段（２８）と、前記誘起電圧推定手段によって推定された誘起電圧に基づいて前記演算周期当たりの前記ロータの角変位を演算する手段（２９，３０）と、を含んでおり、前記誘起電圧推定手段によって推定された誘起電圧が所定のしきい値より大きくなったときに、前記モータの制御を停止させる手段（２７，３０）をさらに含む、請求項１〜７のいずれか一項に記載のモータ制御装置である。この構成では、角変位演算手段は、誘起電圧推定手段によって推定された誘起電圧に基づいて演算周期当たりのロータの角変位を演算する。また、誘起電圧推定手段によって推定された誘起電圧が所定のしきい値より大きくなったときに、モータの制御が停止される。しきい値は、たとえば、予め定められた固定値であってもよいし、モータの駆動回路の電源であるバッテリの出力電圧の検出値であってもよい。
【００２７】
モータの回転速度が、たとえば外力によってモータの無負荷速度より大きくなると、モータから発生する誘起電圧の波形が歪む。モータから発生する誘起電圧が歪むと、誘起電圧推定手段の誘起電圧推定機能が正常に働かなくなり、角変位演算手段によって演算される演算周期当たりのロータ角変位の誤差が大きくなるおそれがある。そうすると、加算角補正手段の加算角補正機能が正常に働かなくなるおそれがある。この構成によれば、モータの回転速度がモータの無負荷速度より大きくなり、加算角補正手段の加算角補正機能が正常に働かなくなるおそれがある状態となったときに、モータの制御を停止させることができる。このため、加算角補正手段の加算角補正機能が正常に働かない状態で、モータ制御が行なわれるのを回避することができる。
【００２８】
前記モータ制御装置は、前記加算角を所定の制限値（ω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)を求める。
加算角監視部２５は、加算角リミッタ２４から生成される加算角αを監視している。具体的には、加算角監視部２５は、加算角αの絶対値が前記制限値ωmaxよりも小さな加算角しきい値に達したかどうかを監視する。加算角監視部２５は、加算角絶対値｜α｜が当該加算角しきい値以上のときには、このことをゲイン変更部２７に通知する。
【００５０】
ゲイン変更部２７は、加算角監視部２５から、加算角絶対値｜α｜が過大である（加算角しきい値以上である）ことを通知されると、これに応答して、ＰＩ制御部２３のゲイン（比例ゲインおよび積分ゲイン）を通常値よりも小さな値に変更する。これにより、操舵速度が大きい場合などには、加算角リミッタ２４が作動するよりも前にＰＩ制御部２３のゲインが減少する。これにより、加算角リミッタ２４による制限を受けにくくなるので、制御の安定化を図ることができ、操舵フィーリングを向上できる。
【００５１】
なお、ＰＩ制御部２３のゲインの変更は、加算角絶対値｜α｜が加算角しきい値以上であるときに減少する以外にも、加算角絶対値｜α｜が大きいほどゲインを小さくするようにして行うこともできる。
誘起電圧推定部２８は、モータ３の回転によって生じる誘起電圧を推定するものである。そして、回転角推定部２９は、誘起電圧推定部２８によって推定された誘起電圧に基づいて、ロータ５０の回転角の推定値（推定回転角）θＥを演算するものである。誘起電圧推定部２８および回転角推定部２９の具体例については、後述する。
【００５２】
ロータ角変位演算部３０は、演算周期間の推定回転角θＥの変化量を求めることによって、演算周期当たりのロータ５０の角変位Δθ（回転角速度に相当する値）を求める。
指示電流値生成部３１は、制御上の回転角である前記制御角θＣに対応する仮想回転座標系であるγδ座標系の座標軸（仮想軸）に流すべき電流値を指示電流値として生成するものである。具体的には、γ軸指示電流値Ｉγ＊およびδ軸指示電流値Ｉδ＊（以下、これらを総称するときには「二相指示電流値Ｉγδ＊」という。）を生成する。指示電流値生成部３１は、γ軸指示電流値Ｉγ＊を有意値とする一方で、δ軸指示電流値Ｉδ＊を零とする。より具体的には、指示電流値生成部３１は、トルクセンサ１によって検出される検出操舵トルクＴに基づいてγ軸指示電流値Ｉγ＊を設定する。
【００５３】
検出操舵トルクＴに対するγ軸指示電流値Ｉγ＊の設定例は、図６に示されている。検出操舵トルクＴが零付近の領域には不感帯ＮＲが設定されている。γ軸指示電流値Ｉγ＊は、不感帯ＮＲの外側の領域で急峻に立ち上がり、所定のトルク以上でほぼ一定値となるように設定される。これにより、運転者がステアリングホイール１０を操作していないときには、モータ３への通電が停止され、不必要な電力消費が抑制される。
【００５４】
電流偏差演算部３２は、指示電流値生成部３１によって生成されるγ軸指示電流値Ｉγ＊に対するγ軸検出電流Ｉγの偏差Ｉγ＊−Ｉγと、δ軸指示電流値Ｉδ＊（＝０）に対するδ軸検出電流Ｉδの偏差Ｉδ＊−Ｉδとを演算する。γ軸検出電流Ｉγおよびδ軸検出電流Ｉδは、αβ／γδ変換部３６Ｂから偏差演算部３２に与えられるようになっている。
【００５５】
ＵＶＷ／αβ変換部３６Ａは、電流検出部１３によって検出されるＵＶＷ座標系の三相検出電流ＩＵＶＷ（Ｕ相検出電流ＩＵ、Ｖ相検出電流ＩＶおよびＷ相検出電流ＩＷ）を二相固定座標系であるαβ座標系の二相検出電流ＩαおよびＩβ（以下総称するときには「二相検出電流Ｉαβ」という。）に変換する。αβ座標系は、図２に示すように、ロータ５０の回転中心を原点として、ロータ５０の回転平面内にα軸およびこれに直交するβ軸（図２の例ではＵ軸と同軸）を定めた固定座標系である。αβ／γδ変換部３６Ｂは、二相検出電流Ｉαβをγδ座標系の二相検出電流ＩγおよびＩδ（以下総称するときには「二相検出電流Ｉγδ」という。）に変換する。これらが電流偏差演算部３２に与えられるようになっている。αβ／γδ変換部３６Ｂにおける座標変換には、制御角演算部２６で演算される制御角θＣが用いられる。
【００５６】
ＰＩ制御部３３は、電流偏差演算部３２によって演算された電流偏差に対するＰＩ演算を行うことにより、モータ３に印加すべき二相指示電圧Ｖγδ＊（γ軸指示電圧Ｖγ＊およびδ軸指示電圧Ｖδ＊）を生成する。この二相指示電圧Ｖγδ＊が、γδ／αβ変換部３４Ａに与えられる。
γδ／αβ変換部３４Ａは、二相指示電圧Ｖγδ＊をαβ座標系の二相指示電圧Ｖαβ＊に変換する。この座標変換には、制御角演算部２６で演算された制御角θＣが用いられる。二相指示電圧Ｖαβ＊は、α軸指示電圧Ｖα＊およびβ軸指示電圧Ｖβ＊からなる。αβ／ＵＶＷ変換部３４Ｂは、二相指示電圧Ｖαβ＊に対して座標変換演算を行うことによって、三相指示電圧ＶＵＶＷ＊を生成する。三相指示電圧ＶＵＶＷ＊は、Ｕ相指示電圧ＶＵ＊、Ｖ相指示電圧ＶＶ＊およびＷ相指示電圧ＶＷ＊からなる。この三相指示電圧ＶＵＶＷ＊は、ＰＷＭ制御部３５に与えられる。
【００５７】
ＰＷＭ制御部３５は、Ｕ相指示電圧ＶＵ＊、Ｖ相指示電圧ＶＶ＊およびＷ相指示電圧ＶＷ＊にそれぞれ対応するデューティのＵ相ＰＷＭ制御信号、Ｖ相ＰＷＭ制御信号およびＷ相ＰＷＭ制御信号を生成し、駆動回路１２に供給する。
駆動回路１２は、Ｕ相、Ｖ相およびＷ相に対応した三相インバータ回路からなる。このインバータ回路を構成するパワー素子がＰＷＭ制御部３５から与えられるＰＷＭ制御信号によって制御されることにより、三相指示電圧ＶＵＶＷ＊に相当する電圧がモータ３の各相のステータ巻線５１，５２、５３に印加されることになる。
【００５８】
電流偏差演算部３２およびＰＩ制御部３３は、電流フィードバック制御手段を構成している。この電流フィードバック制御手段の働きによって、モータ３に流れるモータ電流が、指示電流値生成部３１によって設定される二相指示電流値Ｉγδ＊に近づくように制御される。
トルク偏差監視部４０は、トルク偏差演算部２２によって演算されるトルク偏差ΔＴの符号を監視することにより、指示操舵トルクＴ＊と検出操舵トルクＴとの大小関係を判定する。その判定結果は、加算角ガード４１に与えられるようになっている。
【００５９】
加算角ガード４１は、ＰＩ制御部２３が生成する加算角αに対して加算角ガード処理を施すためのものである。加算角ガード処理とは、ＰＩ制御部２３によって生成された加算角αが、指示操舵トルクＴ＊と検出操舵トルクＴとの大小関係と矛盾する場合に、この矛盾を解消するように加算角αを補正する処理である。より具体的には、加算角ガード４１は、必要時において、ロータ角変位演算部３０によって求められるロータ角変位Δθに基づいて加算角αを補正する。
【００６０】
図３は、前記電動パワーステアリング装置の制御ブロック図である。ただし、説明を簡単にするために、加算角ガード４１および加算角リミッタ２４の機能は省略してある。
指示操舵トルクＴ＊と検出操舵トルクＴとの偏差（トルク偏差）ΔＴに対するＰＩ制御（ＫＰは比例係数、ＫＩは積分係数、１／ｓは積分演算子である。）によって、加算角αが生成される。この加算角αが制御角θＣの前回値θＣ(n-1)に対して加算されることによって、制御角θＣの今回値θＣ(n)＝θＣ(n-1)＋αが求められる。このとき、制御角θＣとロータ５０の実際のロータ角θＭとの偏差が負荷角θＬ＝θＣ−θＭとなる。
【００６１】
したがって、制御角θＣに従うγδ座標系（仮想回転座標系）のγ軸（仮想軸）にγ軸指示電流値Ｉγ＊に従ってγ軸電流Ｉγが供給されると、ｑ軸電流Ｉｑ＝ＩγsinθＬとなる。このｑ軸電流Ｉｑがロータ５０の発生トルクに寄与する。すなわち、モータ３のトルク定数ＫＴをｑ軸電流Ｉｑ（＝ＩγsinθＬ）に乗じた値が、アシストトルクＴＡ（＝ＫＴ・ＩγsinθＬ）として、減速機構７を介して、舵取り機構２に伝達される。このアシストトルクＴＡを舵取り機構２からの負荷トルクＴＬから減じた値が、運転者がステアリングホイール１０に与えるべき操舵トルクＴである。この操舵トルクＴがフィードバックされることによって、この操舵トルクＴを指示操舵トルクＴ＊に導くように系が動作する。つまり、検出操舵トルクＴを指示操舵トルクＴ＊に一致させるべく、加算角αが求められ、それに応じて制御角θＣが制御される。
【００６２】
このように制御上の仮想軸であるγ軸に電流を流す一方で、指示操舵トルクＴ＊と検出操舵トルクＴとの偏差ΔＴに応じて求められる加算角αで制御角θＣを更新していくことにより、負荷角θＬが変化し、この負荷角θＬに応じたトルクがモータ３から発生するようになっている。これにより、操舵角および車速に基づいて設定される指示操舵トルクＴ＊に応じたトルクをモータ３から発生させることができるので、操舵角および車速に対応した適切な操舵補助力を舵取り機構２に与えることができる。すなわち、操舵角の絶対値が大きいほど操舵トルクが大きく、かつ、車速が大きいほど操舵トルクが小さくなるように、操舵補助制御が実行される。
【００６３】
このようにして、回転角センサを用いることなくモータ３を適切に制御して、適切な操舵補助を行うことができる電動パワーステアリング装置を実現できる。これにより、構成を簡単にすることができ、コストの削減を図ることができる。
この実施形態では、負荷角θＬとモータトルク（アシストトルク）とが正の相関を有する領域で負荷角θＬが調整されるように、加算角αが制御される。具体的には、ｑ軸電流Ｉｑ＝ＩγsinθＬであるから、−９０°≦θＬ≦９０°となるように、加算角αが制御される。むろん、負荷角θＬとモータトルク（アシストトルク）とが負の相関を有する領域で負荷角θＬが調整されるように、加算角αを制御することもできる。この場合、９０°≦θＬ≦２７０°となるように、加算角αが制御される。ＰＩ制御部２３のゲインを正にすれば正の相関領域での制御となり、ＰＩ制御部２３のゲインを負にすれば負の相関領域での制御となる。
【００６４】
図７は、加算角リミッタ２４の働きを説明するためのフローチャートである。加算角リミッタ２４は、ＰＩ制御部２３によって求められ、加算角ガート゛４１によって補正された加算角αを上限値ＵＬと比較し（ステップＳ１）、加算角αが上限値ＵＬを超えている場合（ステップＳ１：ＹＥＳ）には、上限値ＵＬを加算角αに代入する（ステップＳ２）。したがって、制御角θＣに対して上限値ＵＬ（＝＋ωmax）が加算されることになる。
【００６５】
ＰＩ制御部２３によって求められ、加算角ガート゛４１によって補正された加算角αが上限値ＵＬ以下であれば（ステップＳ１：ＮＯ）、加算角リミッタ２４は、さらに、その加算角αを下限値ＬＬと比較する（ステップＳ３）。そして、その加算角αが下限値未満であれば（ステップＳ３：ＹＥＳ）、下限値ＬＬを加算角αに代入する（ステップＳ４）。したがって、制御角θＣに対して下限値ＬＬ（＝−ωmax）が加算されることになる。
【００６６】
ＰＩ制御部２３によって求められ、加算角ガート゛４１によって補正された加算角αが下限値ＬＬ以上上限値ＵＬ以下（ステップＳ３：ＮＯ）であれば、その加算角αがそのまま制御角θＣへの加算のために用いられる。
このようにして、加算角αを上限値ＵＬと下限値ＬＬとの間に制限することができるので、制御の安定化を図ることができる。より具体的には、電流不足時や制御開始時に制御不安定状態（アシスト力が不安定な状態）が発生しても、この状態から安定な制御状態への遷移を促すことができる。
【００６７】
図８Ａは、加算角ガード処理を説明するためのフローチャートである。ただし、負荷角θＬとモータトルク（アシストトルク）とが正の相関を有する領域で負荷角θＬが調整されるように、加算角αが制御される場合の処理例が示されている。
トルク偏差監視部４０は、トルク偏差演算部２２によって演算されるトルク偏差ΔＴの符号を監視しており、指示操舵トルクＴ＊と検出操舵トルクＴとの大小関係に関する情報を加算角ガード４１に与える。
【００６８】
検出操舵トルクＴが指示操舵トルクＴ＊よりも大きいとき（ステップＳ１１：ＹＥＳ）、加算角ガード４１は、ＰＩ制御部２３によって求められた加算角αが、ロータ角変位演算部３０によって求められた演算周期当たりのロータ角変位Δθよりも小さいかどうかを判断する（ステップＳ１２）。この判断が肯定されると、加算角ガード４１は、加算角αにロータ角変位Δθを代入する（ステップＳ１３）。すなわち、加算角αがロータ角変位Δθに補正される。加算角αがロータ角変位Δθ以上であれば（ステップＳ１２：ＮＯ）、加算角ガード４１は、さらに、加算角αを、ロータ角変位Δθよりも所定の変化制限値Ａ（Ａ＞０。たとえばＡ＝７deg）だけ大きな値（Δθ＋Ａ）と比較する（ステップＳ１４）。加算角αが当該値（Δθ＋Ａ）よりも大きいときには（ステップＳ１４：ＹＥＳ）、加算角ガード４１は、加算角αに当該値（Δθ＋Ａ）を代入する（ステップＳ１５）。加算角αが当該値（Δθ＋Ａ）以下であれば（ステップＳ１４：ＮＯ）、加算角αの補正は行われない。
【００６９】
一方、検出操舵トルクＴが指示操舵トルクＴ＊よりも小さいとき（ステップＳ１１：ＮＯ。ステップＳ１６：ＹＥＳ）、加算角ガード４１は、ＰＩ制御部２３によって求められた加算角αがロータ角変位Δθよりも大きいかどうかを判断する（ステップＳ１７）。この判断が肯定されると、加算角ガード４１は、加算角αにロータ角変位Δθを代入し（ステップＳ１３）、加算角αをロータ角変位Δθに補正する。加算角αがロータ角変位Δθ以下であれば（ステップＳ１７：ＮＯ）、加算角ガード４１は、さらに、加算角αを、ロータ角変位Δθよりも前記変化制限値Ａだけ小さな値（Δθ−Ａ）と比較する（ステップＳ１８）。加算角αが当該値（Δθ−Ａ）よりも小さいときには（ステップＳ１８：ＹＥＳ）、加算角ガード４１は、加算角αに当該値（Δθ−Ａ）を代入する（ステップＳ１９）。加算角αが当該値（Δθ−Ａ）以上であれば（ステップＳ１８：ＮＯ）、加算角αの補正は行われない。
【００７０】
また、検出操舵トルクＴが指示操舵トルクＴ＊に等しいとき（ステップＳ１１およびステップＳ１６の判断がいずれも否定）、加算角ガード４１は、加算角αにロータ角変位Δθを代入する（ステップＳ２１）。
加算角αは、演算周期間の制御角θＣの変化量であり、γδ座標軸の演算周期当たりの角変位（回転速度に相当する。）に等しい。よって、加算角αが演算周期当たりのロータ角変位Δθよりも大きければ負荷角θＬが大きくなり、加算角αがロータ角変位Δθよりも小さければ負荷角θＬが小さくなる。そして、負荷角θＬとモータトルク（アシストトルク）とに正の相関がある場合には、負荷角θＬが大きくなればモータトルクが大きくなり、負荷角θＬが小さくなればモータトルクが小さくなる。
【００７１】
一方、検出操舵トルクＴが指示操舵トルクＴ＊よりも大きい場合とは、モータトルク（アシストトルク）が不足している状態である。したがって、モータトルクを増加させるために、負荷角θＬを増加させればよい。つまり、加算角αがロータ角変位Δθ以上であれば、検出操舵トルクＴを指示操舵トルクＴ＊に近づけることができる。そこで、この実施形態では、図８ＡのステップＳ１１〜Ｓ１３の処理によって、検出操舵トルクＴが指示操舵トルクＴ＊よりも大きい場合に、加算角αをロータ角変位Δθ以上に制限する加算角ガード処理が行われる。換言すれば、検出操舵トルクＴが指示操舵トルクＴ＊よりも大きいにも拘わらず、加算角αがロータ角変位Δθ未満であれば、制御の目的に合致せず、矛盾が生じている。たとえば、ＰＩ制御部２３の応答性によっては、このような状況が生じ得る。そこで、このような場合には、加算角αをロータ角変位Δθ以上の値（この実施形態ではロータ角変位Δθに等しい値）に補正することとしている。むろん、加算角αをロータ角変位Δθよりも大きい値（たとえば所定値（変化制限値Ａよりも小さな値）だけ大きな値）に補正してもよい。
【００７２】
同様に考察すると、検出操舵トルクＴが指示操舵トルクＴ＊よりも小さい場合とは、モータトルク（アシストトルク）が過剰となっている状態である。したがって、モータトルクを減少させるために、負荷角θＬを減少させればよい。つまり、加算角αがロータ角変位Δθ以下であれば、検出操舵トルクＴを指示操舵トルクＴ＊に近づけることができる。そこで、この実施形態では、図８ＡのステップＳ１６，Ｓ１７およびＳ１３の処理によって、検出操舵トルクＴが指示操舵トルクＴ＊よりも小さい場合に、加算角αをロータ角変位Δθ以下に制限する加算角ガード処理が行われる。換言すれば、検出操舵トルクＴが指示操舵トルクＴ＊よりも小さいにも拘わらず、加算角αがロータ角変位Δθを超えていれば、制御の目的に合致せず、矛盾が生じている。たとえば、ＰＩ制御部２３の応答性によっては、このような状況が生じ得る。そこで、このような場合には、加算角αをロータ角変位Δθ以下の値（この実施形態ではロータ角変位Δθに等しい値）に補正することとしている。むろん、加算角αをロータ角変位Δθよりも小さい値（たとえば所定値（変化制限値Ａよりも小さな値）だけ小さな値）に補正してもよい。
【００７３】
さらにこの実施形態では、検出操舵トルクＴが指示操舵トルクＴ＊よりも大きい場合（ステップＳ１１：ＹＥＳ）において、加算角αがロータ角変位Δθに変化制限値Ａを加算した値よりも大きいときは（ステップＳ１２：ＮＯ。ステップＳ１４：ＹＥＳ）、加算角αをΔθ＋Ａに補正することとしている（ステップＳ１５）。これは、演算周期当たりのロータ角変位Δθよりも加算角αが過度に大きいと、加算角αを適値に収束させるのに時間がかかるからである。また、検出トルクＴが指示トルクＴ＊よりも小さい場合において、（ステップＳ１６：ＹＥＳ）において、加算角αがロータ角変位Δθから変化制限値Ａを減算した値よりも小さいときは（ステップＳ１７：ＮＯ。ステップＳ１８：ＹＥＳ）、加算角αをΔθ−Ａに補正することとしている（ステップＳ１９）。これは、演算周期当たりのロータ角変位Δθよりも加算角αが過度に小さいと、加算角を適値に収束させるのに時間がかかる。このような補正を行うことにより、加算角αが適値に収束しやすくなるから、制御の安定化を図ることができ、制御異常が生じたときでも正常状態への復帰を効果的に促すことができる。
【００７４】
このように、図８Ａのガード処理では、検出操舵トルクＴが指示操舵トルクＴ＊よりも大きいときには、Δθ＋Ａ≧α≧Δθの範囲に加算角αが制限され、検出操舵トルクＴが指示操舵トルクＴ＊よりも小さいときには、Δθ≧α≧Δθ−Ａの範囲に加算角αが制限される。こうして、加算角αは、ロータ角変位Δθに応じた妥当な値をとることができる。
【００７５】
負荷角θＬとモータトルク（アシストトルク）とが負の相関を有する領域で負荷角θＬが調整されるように、加算角αが制御される場合の加算角ガード処理の例を図８Ｂに示す。図８Ｂにおいて、図８Ａに示された各ステップと同様の処理が行われるステップには、図８Ａ中と同一参照符号を付して示す。
図８Ｂに示す処理では、検出操舵トルクＴと指示操舵トルクＴ＊との大小関係に応じた処理が、図８Ａの処理とは逆になっている。すなわち、検出操舵トルクＴが指示操舵トルクＴ＊よりも小さいとき（ステップＳ１１Ａ：ＹＥＳ）、加算角ガード４１は、加算角αが、ロータ角変位Δθよりも小さいかどうかを判断する（ステップＳ１２）。この判断が肯定されると、加算角ガード４１は、加算角αにロータ角変位Δθを代入する（ステップＳ１３）。すなわち、加算角αがロータ角変位Δθに補正される。加算角αがロータ角変位Δθ以上であれば（ステップＳ１２：ＮＯ）、加算角ガード４１は、さらに、加算角αを、ロータ角変位よりも変化制限値Ａだけ大きな値（Δθ＋Ａ）と比較する（ステップＳ１４）。加算角αが当該値（Δθ＋Ａ）よりも大きいときには（ステップＳ１４：ＹＥＳ）、加算角ガード４１は、加算角αに当該値（Δθ＋Ａ）を代入する（ステップＳ１５）。加算角αが当該値（Δθ＋Ａ）以下であれば（ステップＳ１４：ＮＯ）、加算角αの補正は行われない。
【００７６】
一方、検出操舵トルクＴが指示操舵トルクＴ＊よりも大きいとき（ステップＳ１１Ａ：ＮＯ。ステップＳ１６Ａ：ＹＥＳ）、加算角ガード４１は、加算角αがロータ角変位Δθよりも大きいかどうかを判断する（ステップＳ１７）。この判断が肯定されると、加算角ガード４１は、加算角αにロータ角変位Δθを代入し（ステップＳ１３）、加算角αをロータ角変位Δθに補正する。加算角αがロータ角変位Δθ以下であれば（ステップＳ１７：ＮＯ）、加算角ガード４１は、さらに、加算角αを、ロータ角変位Δθよりも前記変化制限値Ａだけ小さな値（Δθ−Ａ）と比較する（ステップＳ１８）。加算角αが当該値（Δθ−Ａ）よりも小さいときには（ステップＳ１８：ＹＥＳ）、加算角ガード４１は、加算角αに当該値（Δθ−Ａ）を代入する（ステップＳ１９）。加算角αが当該値（Δθ−Ａ）以上であれば（ステップＳ１８：ＮＯ）、加算角αの補正は行われない。
【００７７】
また、検出操舵トルクＴが指示操舵トルクＴ＊に等しいとき（ステップＳ１１ＡおよびステップＳ１６Ａの判断がいずれも否定）、加算角ガード４１は、加算角αにロータ角変位Δθを代入する（ステップＳ２１）。
負荷角θＬとモータトルク（アシストトルク）とに負の相関がある場合には、負荷角θＬが大きくなればモータトルクが小さくなり、負荷角θＬが小さくなればモータトルクが大きくなる。
【００７８】
一方、検出操舵トルクＴが指示操舵トルクＴ＊よりも小さい場合とは、モータトルク（アシストトルク）が過剰な状態である。したがって、モータトルクを減少させるために、負荷角θＬを増加させればよい。つまり、加算角αがロータ角変位Δθ以上であれば、検出操舵トルクＴを指示操舵トルクＴ＊に近づけることができる。そこで、この実施形態では、図８ＢのステップＳ１１Ａ〜Ｓ１３の処理によって、検出操舵トルクＴが指示操舵トルクＴ＊よりも小さい場合に、加算角αをロータ角変位Δθ以上に制限する加算角ガード処理が行われる。換言すれば、検出操舵トルクＴが指示操舵トルクＴ＊よりも小さいにも拘わらず、加算角αがロータ角変位Δθ未満であれば、制御の目的に合致せず、矛盾が生じている。そこで、このような場合には、加算角αをロータ角変位Δθ以上の値（この実施形態ではロータ角変位Δθに等しい値）に補正することとしている。むろん、加算角αをロータ角変位Δθよりも大きい値（たとえば所定値（変化制限値Ａよりも小さな値）だけ大きな値）に補正してもよい。
【００７９】
同様に考察すると、検出操舵トルクＴが指示操舵トルクＴ＊よりも大きい場合とは、モータトルク（アシストトルク）が不足している状態である。したがって、モータトルクを増加させるために、負荷角θＬを減少させればよい。つまり、加算角αがロータ角変位Δθ以下であれば、検出操舵トルクＴを指示操舵トルクＴ＊に近づけることができる。そこで、この実施形態では、図８ＢのステップＳ１６Ａ，Ｓ１７およびＳ１３の処理によって、検出操舵トルクＴが指示操舵トルクＴ＊よりも大きい場合に、加算角αをロータ角変位Δθ以下に制限する加算角ガード処理が行われる。換言すれば、検出操舵トルクＴが指示操舵トルクＴ＊よりも大きいにも拘わらず、加算角αがロータ角変位Δθを超えていれば、制御の目的に合致せず、矛盾が生じている。そこで、このような場合には、加算角αをロータ角変位Δθ以下の値（この実施形態ではロータ角変位Δθに等しい値）に補正することとしている。むろん、加算角αをロータ角変位Δθよりも小さい値（たとえば所定値（変化制限値Ａよりも小さな値）だけ小さな値）に補正してもよい。
【００８０】
さらに図８Ｂの処理では、検出操舵トルクＴが指示操舵トルクＴ＊よりも小さい場合（ステップＳ１１Ａ：ＹＥＳ）において、加算角αがロータ角変位Δθに変化制限値Ａを加算した値よりも大きいときは（ステップＳ１２：ＮＯ。ステップＳ１４：ＹＥＳ）、加算角αをΔθ＋Ａに補正することとしている（ステップＳ１５）。これは、演算周期当たりのロータ角変位Δθよりも加算角αが過度に大きいと、加算角αを適値に収束させるのに時間がかかるからである。また、検出トルクＴが指示トルクＴ＊よりも大きい場合において、（ステップＳ１６Ａ：ＹＥＳ）において、加算角αがロータ角変位Δθから変化制限値Ａを減算した値よりも小さいときは（ステップＳ１７：ＮＯ。ステップＳ１８：ＹＥＳ）、加算角αをΔθ−Ａに補正することとしている（ステップＳ１９）。これは、演算周期当たりのロータ角変位Δθよりも加算角αが過度に小さいと、加算角を適値に収束させるのに時間がかかる。このような補正を行うことにより、加算角αが適値に収束しやすくなるから、制御の安定化を図ることができ、制御異常が生じたときでも正常状態への復帰を効果的に促すことができる。
【００８１】
このような処理が行われることによって、検出操舵トルクＴが指示操舵トルクＴ＊よりも小さいときには、Δθ＋Ａ≧α≧Δθの範囲に加算角αが制限され、検出操舵トルクＴが指示操舵トルクＴ＊よりも大きいときには、Δθ≧α≧Δθ−Ａの範囲に加算角αが制限される。こうして、加算角αは、ロータ角変位Δθに応じた妥当な値をとることができる。
【００８２】
図９は、誘起電圧推定部２８および回転角推定部２９の構成を説明するためのブロック図である。誘起電圧推定部２８は、二相検出電流Ｉαβと二相指示電圧Ｖαβ＊とに基づいて、モータ３の誘起電圧を推定する。より具体的には、誘起電圧推定部２８は、モータ３の数学モデルであるモータモデルに基づき、モータ３の誘起電圧を外乱として推定する外乱オブザーバとしての形態を有している。モータモデルは、たとえば、（Ｒ＋ｐＬ）−１と表すことができる。ただし、Ｒは電機子巻線抵抗、Ｌはαβ軸インダクタンス、ｐは微分演算子である。モータ３には、二相指示電圧Ｖαβ＊と誘起電圧Ｅαβ（α軸誘起電圧Ｅαおよびβ軸誘起電圧Ｅβ）とが印加されると考えることができる。
【００８３】
誘起電圧推定部２８は、二相検出電流Ｉαβを入力としてモータ電圧を推定する逆モータモデル（モータモデルの逆モデル）６５と、この逆モータモデル６５によって推定されるモータ電圧と二相指示電圧Ｖαβ＊との偏差を求める電圧偏差演算部６６とで構成することができる。電圧偏差演算部６６は、二相指示電圧Ｖαβ＊に対する外乱を求めることになるが、図９から明らかなとおり、この外乱は誘起電圧Ｅαβに相当する推定値Ｅ^αβ（α軸誘起電圧推定値Ｅ^αおよびβ軸誘起電圧推定値Ｅ^β（以下、まとめて「推定誘起電圧Ｅ^αβ」という。）になる。逆モータモデル６５は、たとえば、Ｒ＋ｐＬで表される。
【００８４】
誘起電圧Ｅαβは、次の(6)式で表すことができる。ただし、ＫＥは誘起電圧定数、θＭはロータ角、ωはロータ回転角速度である。
【００８５】
【数１】
2010239854.tif 000003
【００８６】
したがって、推定誘起電圧Ｅ^αβが求まれば、次の(7)式に従って、推定回転角θＥが求まる。この演算が、回転角推定部２９によって行われる。
【００８７】
【数２】
2010239854.tif 000004
【００８８】
加算角ガード４１によって実行される加算角ガード処理の変形例について説明する。前述したように、誘起電圧推定部２８は、電機子抵抗Ｒおよびαβ軸インダクタンスＬを用いて表されるモータモデルと、二相指示電圧Ｖαβ＊と、二相検出電流Ｉαβとに基づいて、モータ３の誘起電圧を推定している。回転角推定部２９は、誘起電圧推定部２８によって演算された推定誘起電圧Ｅ^αβに基づいて、推定回転角θＥを演算している。そして、ロータ角変位演算部３０は、回転角推定部２９によって演算された推定回転角θＥに基づいて、演算周期当たりのロータ角変位Δθを演算している。
【００８９】
したがって、誘起電圧推定のために設定される電機子抵抗Ｒおよびαβ軸インダクタンスＬの設定誤差（実際値との差）、二相検出電流Ｉαβの検出誤差などに起因して、誘起電圧推定部２８によって推定される推定誘起電圧Ｅ^αβに誤差が発生する可能性がある。推定誘起電圧Ｅ^αβに誤差が発生すると、ロータ角変位演算部３０によって演算される演算周期当たりのロータ角変位Δθにも誤差が生じる。
【００９０】
演算周期当たりのロータ角変位Δθに誤差が生じている場合には、前述したような加算角ガード処理を行なったとしても、加算角αが適値に収束されないおそれがある。そこで、この変形例では、ロータ角変位Δθの誤差を考慮した加算角ガード処理を行なう。この変形例における加算角ガード処理の考え方について説明する。
負荷角θＬとアシストトルクとが正の相関を有する領域で負荷角θＬが調整されるように、加算角αが調整される場合において、検出操舵トルクＴが指示操舵トルクＴ＊よりも大きいときには、アシストトルクが不足している状態である。したがって、モータトルクを増加させるために、負荷角θＬを増加させればよい。つまり、加算角αを実際のロータ角変位Δθtrue以上とすれば、検出操舵トルクＴを指示操舵トルクＴ＊に近づけることができる。
【００９１】
そこで、前述した加算角ガード処理では、たとえば、加算角αがロータ角変位演算部３０によって演算されたロータ角変位Δθより小さいときには、加算角αをΔθに補正している（図８ＡのステップＳ１２，Ｓ１３参照）。しかし、ロータ角変位演算部３０によって演算されたロータ角変位Δθに誤差がある場合、たとえば、演算されたロータ角変位Δθが実際のロータ角変位Δθtrueより小さい場合（Δθ＜Δθtrue）には、加算角αをΔθに補正しても、加算角αは実際のロータ角変位Δθtrue以上とならない。このような場合には、加算角αを、ロータ角変位演算部３０によって演算されたロータ角変位Δθにその誤差を加算した値に補正すれば、加算角αを実際のロータ角変位Δθtrue以上とすることができる。
【００９２】
この変形例では、電機子抵抗Ｒおよびαβ軸インダクタンスＬの設定誤差の最大値および二相検出電流Ｉαβの検出誤差の最大値に基づいて、演算周期当たりのロータ角変位Δθの誤差の最大値（以下、「角変位最大誤差εmax」という）を予め求めておく。そして、検出操舵トルクＴが指示操舵トルクＴ＊よりも大きい場合には、基本的には、加算角αをロータ角変位演算部３０によって演算されたロータ角変位Δθに角変位最大誤差εmaxを加算した値（Δθ＋εmax）以上に制限する。たとえば、加算角αが、ロータ角変位Δθに角変位最大誤差εmaxを加算した値（Δθ＋εmax）より小さいときには、加算角αを、ロータ角変位Δθに角変位最大誤差εmaxを加算した値（Δθ＋εmax）に補正する。このように加算角αを制限することにより、ロータ角変位Δθに誤差があったとしても（たとえば、Δθ＝Δθtrue−εmaxであったとしても）、検出操舵トルクＴが指示操舵トルクＴ＊よりも大きい場合に、加算角αを実際のロータ角変位Δθtrue以上の値に設定することができる。
【００９３】
一方、検出操舵トルクＴが指示操舵トルクＴ＊よりも小さいときには、アシストトルクが過剰となっている状態である。したがって、モータトルクを減少させるために、負荷角θＬを減少させればよい。つまり、加算角αを実際のロータ角変位Δθtrue以下とすれば、検出操舵トルクＴを指示操舵トルクＴ＊に近づけることができる。
そこで、前述した加算角ガード処理では、たとえば、加算角αがロータ角変位演算部３０によって演算されたロータ角変位Δθより大きいときには、加算角αをΔθに補正している（図８ＡのステップＳ１７，Ｓ１３参照）。しかし、ロータ角変位演算部３０によって演算されたロータ角変位Δθに誤差がある場合、たとえば、演算されたロータ角変位Δθが実際のロータ角変位Δθtrueより大きい場合（Δθ＞Δθtrue）には、加算角αをΔθに補正しても、加算角αは実際のロータ角変位Δθtrue以下とならない。このような場合には、加算角αを、ロータ角変位演算部３０によって演算されたロータ角変位Δθからロータ角変位の誤差（角変位誤差）を減算した値に補正すれば、加算角αを実際のロータ角変位Δθtrue以下とすることができる。
【００９４】
この変形例では、検出操舵トルクＴが指示操舵トルクＴ＊よりも小さい場合には、基本的には、加算角αをロータ角変位演算部３０によって演算されたロータ角変位Δθから角変位最大誤差εmaxを減算した値（Δθ−εmax）以下に制限する。たとえば、加算角αが、ロータ角変位Δθから角変位最大誤差εmaxを減算した値（Δθ−εmax）より大きいときには、加算角αを、ロータ角変位Δθから角変位最大誤差εmaxを減算した値（Δθ−εmax）に補正する。このように加算角αを制限することにより、ロータ角変位Δθに誤差があったとしても（たとえば、Δθ＝Δθtrue＋εmaxであったとしても）、検出操舵トルクＴが指示操舵トルクＴ＊よりも小さい場合に、加算角αを実際のロータ角変位Δθtrue以下の値に設定することができる。
【００９５】
以下、この変形例について、詳しく説明する。
図１０Ａは、加算角ガード処理の変形例を説明するためのフローチャートである。ただし、負荷角θＬとモータトルク（アシストトルク）とが正の相関を有する領域で負荷角θＬが調整されるように、加算角αが制御される場合の処理例が示されている。
トルク偏差監視部４０は、トルク偏差演算部２２によって演算されるトルク偏差ΔＴの符号を監視しており、指示操舵トルクＴ＊と検出操舵トルクＴとの大小関係に関する情報を加算角ガード４１に与える。
【００９６】
加算角ガード４１は、今演算周期において加算角αを補正するために用いられる角変位誤差εを決定するための処理（以下、「角変位誤差εの決定処理」という）を行なう（ステップＳ１１０）。角変位誤差εの初期値は、前述した角変位最大誤差εmaxである。角変位誤差εの決定処理の詳細については、後述する。
角変位誤差εの決定処理により角変位誤差εが決定されると、加算角ガード４１は、検出操舵トルクＴが指示操舵トルクＴ＊よりも大きいか否かを判別する（ステップＳ１１１）。検出操舵トルクＴが指示操舵トルクＴ＊よりも大きいとき（ステップＳ１１１：ＹＥＳ）、加算角ガード４１は、ＰＩ制御部２３によって求められた加算角αが、ロータ角変位演算部３０によって求められた演算周期当たりのロータ角変位Δθに角変位誤差εを加算した値（以下、「誤差加算値（Δθ＋ε）」という）よりも小さいかどうかを判断する（ステップＳ１１２）。この判断が肯定されると、加算角ガード４１は、加算角αに前記誤差加算値（Δθ＋ε）を代入する（ステップＳ１１３）。すなわち、加算角αが前記誤差加算値（Δθ＋ε）に補正される。加算角αが、前記誤差加算値（Δθ＋ε）以上であれば（ステップＳ１１２：ＮＯ）、加算角ガード４１は、さらに、加算角αを、前記加算値（Δθ＋ε）よりも所定の変化制限値Ａ（Ａ＞０。たとえばＡ＝７deg）だけ大きな値（Δθ＋ε＋Ａ）と比較する（ステップＳ１１４）。加算角αが当該値（Δθ＋ε＋Ａ）よりも大きいときには（ステップＳ１１４：ＹＥＳ）、加算角ガード４１は、加算角αに当該値（Δθ＋ε＋Ａ）を代入する（ステップＳ１１５）。加算角αが当該値（Δθ＋ε＋Ａ）以下であれば（ステップＳ１１４：ＮＯ）、加算角αの補正は行われない。
【００９７】
一方、検出操舵トルクＴが指示操舵トルクＴ＊よりも小さいとき（ステップＳ１１１：ＮＯ。ステップＳ１１６：ＹＥＳ）、加算角ガード４１は、ＰＩ制御部２３によって求められた加算角αが、ロータ角変位Δθから角変位誤差εを減算した値（以下、「誤差減算値（Δθ−ε）という）よりも大きいかどうかを判断する（ステップＳ１１７）。この判断が肯定されると、加算角ガード４１は、加算角αに前記誤差減算値（Δθ−ε）を代入し（ステップＳ１２０）、加算角αを前記誤差減算値（Δθ−ε）に補正する。加算角αが前記誤差減算値（Δθ−ε）以下であれば（ステップＳ１１７：ＮＯ）、加算角ガード４１は、さらに、加算角αを、前記誤差減算値（Δθ−ε）よりも前記変化制限値Ａだけ小さな値（Δθ−ε−Ａ）と比較する（ステップＳ１１８）。加算角αが当該値（Δθ−ε−Ａ）よりも小さいときには（ステップＳ１１８：ＹＥＳ）、加算角ガード４１は、加算角αに当該値（Δθ−ε−Ａ）を代入する（ステップＳ１１９）。加算角αが当該値（Δθ−ε−Ａ）以上であれば（ステップＳ１１８：ＮＯ）、加算角ガード４１は、加算角αにロータ角変位Δθを代入する（ステップＳ１２１）。
【００９８】
また、検出操舵トルクＴが指示操舵トルクＴ＊に等しいとき（ステップＳ１１１およびステップＳ１１６の判断がいずれも否定）、加算角αの補正は行われない。
このように、図１０Ａのガード処理では、検出操舵トルクＴが指示操舵トルクＴ＊よりも大きいときには、Δθ＋ε＋Ａ≧α≧Δθ＋εの範囲に加算角αが制限され、検出操舵トルクＴが指示操舵トルクＴ＊よりも小さいときには、Δθ−ε≧α≧Δθ−ε−Ａの範囲に加算角αが制限される。こうして、加算角αは、ロータ角変位Δθに角変位誤差εを加算した値（Δθ＋ε）およびロータ角変位Δθから角変位誤差εを減算した値（Δθ−ε）に応じた妥当な値をとることができる。
【００９９】
負荷角θＬとモータトルク（アシストトルク）とが負の相関を有する領域で負荷角θＬが調整されるように、加算角αが制御される場合の加算角ガード処理の例を図１０Ｂに示す。図１０Ｂにおいて、図１０Ａに示された各ステップと同様の処理が行われるステップには、図１０Ａ中と同一参照符号を付して示す。
図１０Ｂに示す処理においても、加算角ガード４１は、まず、角変位誤差εの決定処理を行なう（ステップＳ１１０）。角変位誤差εの決定処理により角変位誤差εが決定された後においては、図１０Ｂに示す処理では、検出操舵トルクＴと指示操舵トルクＴ＊との大小関係に応じた処理が、図１０Ａの処理とは逆になっている。すなわち、検出操舵トルクＴが指示操舵トルクＴ＊よりも小さいとき（ステップＳ１１１Ａ：ＹＥＳ）、加算角ガード４１は、加算角αが、ロータ角変位Δθに角変位誤差εを加算した値（誤差加算値（Δθ＋ε））よりも小さいかどうかを判断する（ステップＳ１１２）。この判断が肯定されると、加算角ガード４１は、加算角αに前記誤差加算値（Δθ＋ε）を代入する（ステップＳ１１３）。すなわち、加算角αが前記誤差加算値（Δθ＋ε）に補正される。加算角αが前記誤差加算値（Δθ＋ε）以上であれば（ステップＳ１１２：ＮＯ）、加算角ガード４１は、さらに、加算角αを、前記誤差加算値（Δθ＋ε）よりも変化制限値Ａだけ大きな値（Δθ＋ε＋Ａ）と比較する（ステップＳ１１４）。加算角αが当該値（Δθ＋ε＋Ａ）よりも大きいときには（ステップＳ１１４：ＹＥＳ）、加算角ガード４１は、加算角αに当該値（Δθ＋ε＋Ａ）を代入する（ステップＳ１１５）。加算角αが当該値（Δθ＋ε＋Ａ）以下であれば（ステップＳ１１４：ＮＯ）、加算角αの補正は行われない。
【０１００】
一方、検出操舵トルクＴが指示操舵トルクＴ＊よりも大きいとき（ステップＳ１１１Ａ：ＮＯ。ステップＳ１１６Ａ：ＹＥＳ）、加算角ガード４１は、加算角αが、ロータ角変位Δθから角変位誤差εを減算した値（誤差減算値（Δθ−ε））よりも大きいかどうかを判断する（ステップＳ１１７）。この判断が肯定されると、加算角ガード４１は、加算角αに前記誤差減算値（Δθ−ε）を代入し（ステップＳ１２０）、加算角αを前記誤差減算値（Δθ−ε）に補正する。加算角αが前記誤差減算値（Δθ−ε）以下であれば（ステップＳ１１７：ＮＯ）、加算角ガード４１は、さらに、加算角αを、前記誤差減算値（Δθ−ε）よりも前記変化制限値Ａだけ小さな値（Δθ−ε−Ａ）と比較する（ステップＳ１１８）。加算角αが当該値（Δθ−ε−Ａ）よりも小さいときには（ステップＳ１１８：ＹＥＳ）、加算角ガード４１は、加算角αに当該値（Δθ−ε−Ａ）を代入する（ステップＳ１１９）。加算角αが当該値（Δθ−ε−Ａ）以上であれば（ステップＳ１１８：ＮＯ）、加算角αの補正は行われない。
【０１０１】
また、検出操舵トルクＴが指示操舵トルクＴ＊に等しいとき（ステップＳ１１１ＡおよびステップＳ１１６Ａの判断がいずれも否定）、加算角ガード４１は、加算角αにロータ角変位Δθを代入する（ステップＳ１２１）。
このような処理が行われることによって、検出操舵トルクＴが指示操舵トルクＴ＊よりも小さいときには、Δθ＋ε＋Ａ≧α≧Δθ＋εの範囲に加算角αが制限され、検出操舵トルクＴが指示操舵トルクＴ＊よりも大きいときには、Δθ−ε≧α≧Δθ−ε−Ａの範囲に加算角αが制限される。こうして、加算角αは、ロータ角変位Δθに角変位誤差εを加算した値（Δθ＋ε）およびロータ角変位Δθから角変位誤差εを減算した値（Δθ−ε）に応じた妥当な値をとることができる。
【０１０２】
図１１は、図１０Ａまたは図１０ＢのステップＳ１１０で実行される角変位誤差εの決定処理の手順を示すフローチャートである。
角変位最大誤差εmaxは角変位誤差の最大値であるため、実際の角変位誤差は、通常は、角変位最大誤差εmaxより小さいと考えられる。したがって、角変位誤差εを角変位最大誤差εmaxに設定して、図１０Ａまたは図１０Ｂに示すような加算角ガード処理を行なった場合には、加算角αを増加補正したときに加算角αが大きくなりすぎたり、加算角αを減少補正したときに加算角αが小さくなりすぎたりするおそれがある。そうすると、加算角αが、適値を挟んでそれより大きい値とそれより小さい値とに交互に変化し、加算角αが適値に収束しにくくなるおそれがある。そこで、角変位誤差εの決定処理では、検出操舵トルクＴと指示操舵トルクＴ＊との大小関係が演算周期毎に逆転するような状況においては、角変位誤差εが角変位最大誤差εmaxより小さくされる。これにより、加算角αが適値に収束しやくする。
【０１０３】
角変位誤差εの決定処理においては、まず、加算角ガード４１は、検出操舵トルクＴと指示操舵トルクＴ＊との大小関係が前回と逆転したか否かを判別する（ステップＳ１３１）。具体的には、加算角ガード４１は、前演算周期での検出操舵トルクＴと指示操舵トルクＴ＊との大小関係を記憶している。そして、加算角ガード４１は、今演算周期において、トルク偏差監視部４０から与えられた指示操舵トルクＴ＊と検出操舵トルクＴとの大小関係に関する情報と、前演算周期での両トルク間の大小関係とに基づいて、両トルク間の大小関係が前回と逆転したか否かを判別する。
【０１０４】
検出操舵トルクＴと指示操舵トルクＴ＊との大小関係が前回と逆転していない場合には（ステップＳ１３１：ＮＯ）、加算角ガード４１は、変数Ｋを０にリセットする（ステップＳ１３２）。そして、ステップＳ１３４に移行する。この変数Ｋは、検出操舵トルクＴと指示操舵トルクＴ＊との大小関係が演算周期毎に逆転するような場合に、その逆転現象の繰り返し回数を計数するための変数である。変数Ｋの初期値は０である。
【０１０５】
前記ステップＳ１３１において、検出操舵トルクＴと指示操舵トルクＴ＊との大小関係が前回と逆転していると判別された場合には（ステップＳ１３１：ＹＥＳ）、加算角ガード４１は、変数Ｋを１だけインクリメントする（ステップＳ１３３）。そして、ステップＳ１３４に移行する。
ステップＳ１３４では、加算角ガード４１は、変数Ｋ、つまり、逆転現象の繰り返し回数に基づいて、角変位誤差εを決定する。具体的には、加算角ガード４１は、逆転現象の繰り返し回数Ｋが大きいほど、角変位誤差εを小さくする。より具体的には、図１２に示すように、加算角ガード４１は、逆転現象の繰り返し回数Ｋが０以上所定値Ｋ１未満の範囲では、角変位誤差εを角変位最大誤差εmaxに設定する。逆転現象の繰り返し回数Ｋが所定値Ｋ１以上である場合には、加算角ガード４１は、逆転現象の繰り返し回数Ｋが大きいほど、角変位誤差εを小さい値に設定する。
【０１０６】
図１３は、この発明の他の実施形態に係る電動パワーステアリング装置の構成を示すためのブロック図である。この図１３において、前述の図１に示された各部に対応する部分には同一参照符号を付して示す。
この実施形態では、誘起電圧監視部２７と、指示電流値変更部３０とが、マイクロコンピュータ１１の機能処理部として備えられている。駆動回路１２には、電源リレー１５を介してバッテリ１４が接続されている。駆動回路１２は、モータリレー８を介してモータ３に接続されている。
【０１０７】
モータ３の回転速度（ロータ５０の角速度）が、外力によって無負荷回転速度より大きな速度になったときには、モータ３から発生する誘起電圧の波形が歪む。たとえば、誘起電圧の波形が正弦波でなくなる。モータ３から発生する誘起電圧の波形が歪むと、誘起電圧推定部２８の誘起電圧推定機能が正常に働かなくなり、ロータ角変位演算部３０によって演算される演算周期当たりのロータ角変位Δθの誤差が大きくなる。そうすると、加算角ガード４１の加算角補正機能が正常に働かなくなる。そこで、この実施形態では、誘起電圧推定部２８によって推定される推定誘起電圧Ｅ^αβがしきい値Ｅｔｈより大きくなったときに、モータ３の回転速度が無負荷回転速度より大きな速度になったと判別し、モータ３のトルク制御を停止させる。
【０１０８】
誘起電圧監視部２７は、誘起電圧推定部２８によって推定される推定誘起電圧Ｅ^αβを監視している。具体的には、誘起電圧監視部２７は、推定誘起電圧Ｅ^αβがしきい値Ｅｔｈよりも大きな値に達したかどうかを監視する。より具体的には、α軸誘起電圧推定値Ｅ^αおよびβ軸誘起電圧推定値Ｅ^βのうちの少なくとも一方がしきい値Ｅｔｈよりも大きな値に達したかどうかを監視する。しきい値Ｅｔｈは、たとえば、バッテリ電圧の検出値、インバータ電圧の検出値または予め設定された固定値とされる。
【０１０９】
誘起電圧監視部２７は、推定誘起電圧Ｅ^αβがしきい値Ｅｔｈより大きな値になったときには、すなわち、α軸誘起電圧推定値Ｅ^αおよびβ軸誘起電圧推定値Ｅ^βのうちの少なくとも一方がしきい値Ｅｔｈよりも大きな値になったときには、そのことを指示電流値変更部３０に通知する。指示電流値変更部３０は、誘起電圧監視部２７から推定誘起電圧Ｅ^αβがしきい値Ｅｔｈより大きくなったことが通知されると、指示電流値を０に変更する。つまり、誘起電圧監視部２７と指示電流値変更部３０とによって、モータ３の制御態様が変更される。推定誘起電圧に基づいて、モータ３の制御態様を変更する処理を、「推定誘起電圧に基づく制御態様変更処理」ということにする。
【０１１０】
図１４は、誘起電圧監視部２７と指示電流値変更部３０とによって実行される、推定誘起電圧に基づく制御態様変更処理の手順を示すフローチャートである。この処理は、演算周期毎に繰り返し行なわれる。誘起電圧監視部２７は、推定誘起電圧Ｅ^αβがしきい値Ｅｔｈより大きいか否かを判別する（ステップＳ１４１）。推定誘起電圧Ｅ^αβがしきい値Ｅｔｈ以下である場合には、すなわち、α軸誘起電圧推定値Ｅ^αおよびβ軸誘起電圧推定値Ｅ^βの両方がともにしきい値Ｅｔｈ以下である場合には（ステップＳ１４１：ＮＯ）、誘起電圧監視部２７は、指示電流値変更部３０に対して何ら通知を行わない。このため、指示電流値変更部３０は、指示電流値生成部３２によって生成された指示電流値をそのまま出力する（ステップＳ１４２）。
【０１１１】
一方、推定誘起電圧Ｅ^αβがしきい値Ｅｔｈより大きい場合には、すなわち、α軸誘起電圧推定値Ｅ^αおよびβ軸誘起電圧推定値Ｅ^βのうちの少なくとも一方がしきい値Ｅｔｈよりも大きい場合には（ステップＳ１４１：ＹＥＳ）、誘起電圧監視部２７は、そのことを指示電流値変更部３０に通知する。指示電流値変更部３０は、推定誘起電圧Ｅ^αβがしきい値Ｅｔｈより大きくなったことが通知されると、指示電流値を０に変更する（ステップＳ１４３）。これにより、モータ３のトルク制御が停止されるから、操舵補助力が働かないマニュアルステア状態となる。
【０１１２】
図１５は、推定誘起電圧に基づく制御態様変更処理の他の例を示すフローチャートである。この処理は、演算周期毎に繰り返し行なわれる。誘起電圧監視部２７は、推定誘起電圧Ｅ^αβがしきい値Ｅｔｈより大きいか否かを判別する（ステップＳ１５１）。推定誘起電圧Ｅ^αβがしきい値Ｅｔｈ以下である場合には（ステップＳ１５１：ＮＯ）、誘起電圧監視部２７は、電源リレー１５およびモータリレー８のうち、オフとなっているものがあれば、オンにする（ステップＳ１５２）。
【０１１３】
一方、推定誘起電圧Ｅ^αβがしきい値Ｅｔｈより大きい場合には（ステップＳ１５１：ＹＥＳ）、誘起電圧監視部２７は、電源リレー１５およびモータリレー８の少なくとも一方をオフにする（ステップＳ１５３）。これにより、モータ３のトルク制御が停止されるから、操舵補助力が働かないマニュアルステア状態となる。
以上、この発明のいくつかの実施形態について説明したが、この発明はさらに他の形態で実施することもできる。たとえば、前述の実施形態では、誘起電圧推定部２８等の働きによってロータ角変位Δθを求めているが、図１に二点鎖線で示すように、舵角センサ４によって検出される操舵角の変化を演算周期当たりのロータ角変位Δθに変換するロータ角変位演算部３０Ａを設けてもよい。
【０１１４】
また、前述の実施形態では、回転角センサを備えずに、専らセンサレス制御によってモータ３を駆動する構成について説明したが、レゾルバ等の回転角センサを備え、この回転角センサの故障時に前述のようなセンサレス制御を行う構成としてもよい。これにより、回転角センサの故障時にもモータ３の駆動を継続できるから、操舵補助を継続できる。
この場合、回転角センサを用いるときには、指示電流値生成部３１において、操舵トルクおよび車速に応じて、所定のアシスト特性に従ってδ軸指示電流値Ｉδ＊を発生させるようにすればよい。
【０１１５】
さらに、前述の実施形態では、電動パワーステアリング装置にこの発明が適用された例について説明したが、この発明は、電動ポンプ式油圧パワーステアリング装置のためのモータの制御や、パワーステアリング装置以外にも、ステア・バイ・ワイヤ（ＳＢＷ）システム、可変ギヤレシオ（ＶＧＲ）ステアリングシステムその他の車両用操舵装置に備えられたブラシレスモータの制御のために用いることができる。むろん、車両用操舵装置に限らず、他の用途のモータの制御のためにも本発明のモータ制御装置を適用できる。
【０１１６】
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【０１１７】
１…トルクセンサ、３…モータ、５…モータ制御装置、１１…マイクロコンピュータ、２６…制御角演算部、５０…ロータ、５１，５２，５３…ステータ巻線、５５…ステータ
【図１】
2010239854.tif 000005
【図２】
2010239854.tif 000006
【図３】
2010239854.tif 000007
【図４】
2010239854.tif 000008
【図５】
2010239854.tif 000009
【図６】
2010239854.tif 000010
【図７】
2010239854.tif 000011
【図８Ａ】
2010239854.tif 000012
【図８Ｂ】
2010239854.tif 000013
【図９】
2010239854.tif 000014
【図１０Ａ】
2010239854.tif 000015
【図１０Ｂ】
2010239854.tif 000016
【図１１】
2010239854.tif 000017
【図１２】
2010239854.tif 000018
【図１３】
2010239854.tif 000019
【図１４】
2010239854.tif 000020
【図１５】
2010239854.tif 000021
【手続補正書】
【提出日】平成21年11月13日(2009.11.13)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００９７
【補正方法】変更
【補正の内容】
【００９７】
一方、検出操舵トルクＴが指示操舵トルクＴ＊よりも小さいとき（ステップＳ１１１：ＮＯ。ステップＳ１１６：ＹＥＳ）、加算角ガード４１は、ＰＩ制御部２３によって求められた加算角αが、ロータ角変位Δθから角変位誤差εを減算した値（以下、「誤差減算値（Δθ−ε）という）よりも大きいかどうかを判断する（ステップＳ１１７）。この判断が肯定されると、加算角ガード４１は、加算角αに前記誤差減算値（Δθ−ε）を代入し（ステップＳ１２０）、加算角αを前記誤差減算値（Δθ−ε）に補正する。加算角αが前記誤差減算値（Δθ−ε）以下であれば（ステップＳ１１７：ＮＯ）、加算角ガード４１は、さらに、加算角αを、前記誤差減算値（Δθ−ε）よりも前記変化制限値Ａだけ小さな値（Δθ−ε−Ａ）と比較する（ステップＳ１１８）。加算角αが当該値（Δθ−ε−Ａ）よりも小さいときには（ステップＳ１１８：ＹＥＳ）、加算角ガード４１は、加算角αに当該値（Δθ−ε−Ａ）を代入する（ステップＳ１１９）。加算角αが当該値（Δθ−ε−Ａ）以上であれば（ステップＳ１１８：ＮＯ）、加算角αの補正は行われない。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００９８
【補正方法】変更
【補正の内容】
【００９８】
また、検出操舵トルクＴが指示操舵トルクＴ＊に等しいとき（ステップＳ１１１およびステップＳ１１６の判断がいずれも否定）、加算角ガード４１は、加算角αにロータ角変位Δθを代入する（ステップＳ１２１）。
このように、図１０Ａのガード処理では、検出操舵トルクＴが指示操舵トルクＴ＊よりも大きいときには、Δθ＋ε＋Ａ≧α≧Δθ＋εの範囲に加算角αが制限され、検出操舵トルクＴが指示操舵トルクＴ＊よりも小さいときには、Δθ−ε≧α≧Δθ−ε−Ａの範囲に加算角αが制限される。こうして、加算角αは、ロータ角変位Δθに角変位誤差εを加算した値（Δθ＋ε）およびロータ角変位Δθから角変位誤差εを減算した値（Δθ−ε）に応じた妥当な値をとることができる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０１１０
【補正方法】変更
【補正の内容】
【０１１０】
図１４は、誘起電圧監視部２７と指示電流値変更部３０とによって実行される、推定誘起電圧に基づく制御態様変更処理の手順を示すフローチャートである。この処理は、演算周期毎に繰り返し行なわれる。誘起電圧監視部２７は、推定誘起電圧Ｅ^αβがしきい値Ｅｔｈより大きいか否かを判別する（ステップＳ１４１）。推定誘起電圧Ｅ^αβがしきい値Ｅｔｈ以下である場合には、すなわち、α軸誘起電圧推定値Ｅ^αおよびβ軸誘起電圧推定値Ｅ^βの両方がともにしきい値Ｅｔｈ以下である場合には（ステップＳ１４１：ＮＯ）、誘起電圧監視部２７は、指示電流値変更部３０に対して何ら通知を行わない。このため、指示電流値変更部３０は、指示電流値生成部３１によって生成された指示電流値をそのまま出力する（ステップＳ１４２）。