上記のセンサレス駆動方式は、誘起電圧やセンシング信号を用いてロータの回転位置を推定し、その推定によって得られた回転位置に基づいてモータを制御するものである。しかし、この駆動方式は、いずれの用途にも適しているわけではなく、たとえば、車両の舵取り機構に操舵補助力を与える電動パワーステアリング装置その他の車両用操舵装置の駆動源として用いられるブラシレスモータの制御に適用するための手法は未だ確立されていない。そのため、別の方式によるセンサレス制御の実現が望まれている。
そこで、この発明の目的は、回転角センサを用いない新たな制御方式でモータを制御することができるモータ制御装置およびそれを備えた車両用操舵装置を提供することである。
上記の目的を達成するための請求項1記載の発明は、ロータ(50)と、このロータに対向するステータ(55)とを備えたモータ(3)を制御するためのモータ制御装置(5)であって、制御上の回転角である制御角(θC)に従う回転座標系の軸電流値(Iγ *)で前記モータを駆動する電流駆動手段(31〜36A,36B)と、前記制御角に加算すべき加算角(α)を演算する加算角演算手段(22,23)と、所定の演算周期毎に、前記加算角演算手段によって演算された加算角を制御角の前回値に加算することによって、制御角の今回値を求める制御角演算手段(26)と、前記モータの駆動値に基づいて、所定時間間隔毎に前記ロータの角速度を演算する角速度演算手段(43)と、前記モータの駆動値の変化量が所定値以上であるか否かを判定する判定手段(42,71)と、前記モータの駆動値の変化量が前記所定値以上になった場合には、前記駆動値の変化量が前記所定値以上になる直前に前記角速度演算手段によって演算されたロータ角速度(ω0)と、前記駆動値の変化量が前記所定値以上になった後に前記角速度演算手段によって演算されるロータ角速度(ωn)に応じて、最終的なロータ角速度(ωF)を演算する角速度補正手段(42,71〜75)と、前記角速度補正手段によって演算された最終的なロータ角速度に基づいて、前記加算角を補正する加算角補正手段(41)と、を含むモータ制御装置である。なお、括弧内の英数字は後述の実施形態における対応構成要素等を表す。以下、この項において同じ。
この構成によれば、制御角に従う回転座標系(γδ座標系。以下「仮想回転座標系」といい、この仮想回転座標系の座標軸を「仮想軸」という。)の軸電流値(以下「仮想軸電流値」という。)によってモータが駆動される一方で、制御角は、演算周期毎に加算角を加算することによって更新される。これにより、制御角を更新しながら、すなわち、仮想回転座標系の座標軸(仮想軸)を更新しながら、仮想軸電流値でモータを駆動することによって、必要なトルクを発生させることができる。こうして、回転角センサを用いることなく、モータから適切なトルクを発生させることができる。
さらに、この発明では、角速度演算手段によって、モータの駆動値に基づいて、所定時間間隔毎にロータの角速度が演算される。また、モータの駆動値の変化が所定値以上であるか否かが判定される。つまり、モータの駆動値が急変したか否かが判別される。モータの駆動値の変化量が所定値以上になった場合には、駆動値の変化量が所定値以上になる直前に角速度演算手段によって演算されたロータ角速度と、駆動値の変化量が所定値以上になった後に角速度演算手段によって演算されるロータ角速度に応じて、最終的なロータ角速度が演算される。そして、最終的なロータ角速度に基づいて、加算角が補正される。
モータの駆動値の変化が所定値以上になった場合、つまり、モータの駆動値が急変した場合には、角速度演算手段によって演算されるロータ角速度の精度が低下するおそれがある。この発明では、モータの駆動値の変化量が所定値以上になった場合には、駆動値の変化量が所定値以上になる直前に角速度演算手段によって演算されたロータ角速度と、駆動値の変化量が所定値以上になった後に角速度演算手段によって演算されるロータ角速度に応じて、最終的なロータ角速度が演算される。これにより、最終的なロータ角速度として精度の高いロータ角速度を求めることができる。そして、精度の高いロータ角速度に基づいて、加算角が補正されるので、モータの制御性能を向上させることができる。
請求項2記載の発明は、前記角速度補正手段は、前記駆動値の変化量が前記所定値以上になる直前に前記角速度演算手段によって演算されたロータ角速度をω0、前記駆動値の変化量が前記所定値以上になった後に前記角速度演算手段によって演算されるロータ角速度をωn、前記駆動値が所定値以上になった時点で0に設定され、その後1まで漸増される重みをξとして、最終的なロータ角速度ωFを、次式(a)に基づいて演算するものである、請求項1に記載のモータ制御装置である。
ωF=ω0・(1−ξ)+ωn・ξ …(a)
この構成では、駆動値の変化量が所定値以上になった場合には、その直後においては、駆動値の変化量が所定値以上になる直前に角速度演算手段によって演算されたロータ角速度ω0に大きな重みを置いて最終的なロータ角速度ωFが求められ、その後は徐々に、角速度演算手段によって演算されるロータ角速度ωnの重みを大きくして最終的なロータ角速度ωFが求められる。このような最終的なロータ角速度ωFの演算方法は、角速度演算手段によって演算されるロータ角速度ωnの精度が、駆動値が急変したときに一時的に悪化するものの、その後は、徐々に回復していくことに適合している。このため、角速度補正手段によって演算される最終的なロータ角速度ωFは、角速度演算手段によって演算されるロータ角速度ωnに比べて精度の高いものとなる。
請求項3記載の発明は、車両の舵取り機構に駆動力を付与するモータと、前記モータを制御する請求項1または2記載のモータ制御装置とを含む、車両用操舵装置である。この構成によれば、モータの駆動値が急変した場合においても、精度の高いロータ角速度を求めることができるから、車両の舵取り機構に駆動力を付与するモータの制御性能を向上させることができる車両用操舵装置が得られる。これにより、操舵フィーリングのよい車両用操舵装置を提供できる。
前記モータ制御装置は、モータによって駆動される駆動対象に加えられる、モータトルク以外のトルク(T)を検出するためのトルク検出手段(1)と、前記駆動対象に加えられるべき指示トルク(T*:モータトルク以外のトルクの指示値)を設定する指示トルク設定手段(21)とをさらに含んでいてもよい。この場合、前記加算角演算手段は、たとえば、トルク検出手段によって検出されるトルクを指示トルクに一致させるべく、加算角を演算するように動作する。これにより、指示トルクに応じたトルク(モータトルク以外のトルク)が駆動対象に加えられる状態となるように、モータトルクが制御される。モータトルクは、ロータの磁極方向に従う回転座標系(dq座標系)の座標軸と前記仮想軸とのずれ量である負荷角に対応する。負荷角は、制御角とロータ角との差で表される。モータトルクの制御は、負荷角を調整することによって達成され、この負荷角の調整が加算角を制御することによって達成される。
前記モータ制御装置は、前記モータのステータ巻線に流れる電流を検出する電流検出手段(13)をさらに含み、前記電流駆動手段は、仮想軸に流すべき電流値を指示電流値として生成する指示電流値生成手段(31)と、前記電流検出手段によって検出される検出電流値と前記指示電流値生成手段によって生成される指示電流値と前記制御角とに応じて、モータのステータ巻線に印加すべき指示電圧を生成する指示電圧生成手段(32,33,34A,34B,36A,36B)とを含むものであってもよい。指示電流値生成手段は、たとえば、トルク検出手段によって検出されるトルクに基づいて、指示電流値を生成するものであってもよい。
この場合、前記モータの駆動値には、たとえば、指示電流値、検出電流値、指示電圧値などが含まれる。モータのステータ巻線に印加されている電圧を検出するための電圧検出手段が設けられている場合には、前記モータの駆動値には、電圧検出手段によって検出される検出電圧値も含まれる。前記角速度演算手段は、たとえば、検出電流値と指示電圧値とに基づいて、所定時間間隔毎にロータの角速度を演算するものであってもよいし、検出電流値と検出電圧値とに基づいて、所定時間間隔毎にロータの角速度を演算するものであってもよい。
前記判定手段は、たとえば、指示電流値の変化量が所定値以上であるか否かを判定するものであってもよいし、検出電流値の変化量が所定値以上であるか否かを判定するものであってもよい。あるいは、前記判定手段は、指示電流値および検出電流値の両方の変化量を監視し、いずれか一方の変化量が所定値以上となったときに、モータの駆動値の変化量が所定値以上であると判定するものであってもよい。
前記加算角補正手段は、たとえば、前記角速度補正手段によって演算された最終的なロータ角速度に基づいて定められる所定範囲内の値となるように加算角を補正するものであってもよい。さらに、前記加算角補正手段は、指示トルクと検出トルクとを比較し、その比較結果に応じて加算角を増減する手段を含んでいてもよい。
制御角は、演算周期間で加算角だけ変化する。つまり、演算周期当たりの制御角の変化は加算角に等しい。前記角速度演算手段が演算周期当たりのロータの角変位をロータ角速度として演算するものであるとすると、加算角がロータ角速度よりも大きいとき、負荷角が増加する。したがって、負荷角とモータトルクとに正の相関がある場合、負荷角の増加に応じてモータトルクが増加する。また、負荷角とモータトルクとに負の相関がある場合には、負荷角の増加に応じてモータトルクが減少する。このように、負荷角とモータトルクとの間には相関関係がある。
駆動対象に対して全体として或るトルクを作用させるべき場合(たとえば、モータトルクによって不足のトルクが補われる場合)、モータトルクが増加することによって、駆動対象に加えられるモータトルク以外のトルクが減少するので、検出トルクが減少することになる。一方、モータトルクが減少すれば、駆動対象に加えられるモータトルク以外のトルクが増加するので、検出トルクが増加することになる。したがって、指示トルクと検出トルクとの大小関係と、ロータ角速度と加算角との大小関係とが適切であれば、検出トルクを指示トルクへと近づけることができる。そこで、加算角補正手段は、検出トルクが指示トルクとの比較結果に応じて、ロータ角速度に基づいて定められる所定範囲の値となるように加算角を補正する。
より具体的には、負荷角とモータトルクとに正の相関がある場合、前記加算角補正手段は、前記検出トルクが前記指示トルクよりも大きいときには、前記加算角を前記角速度補正手段によって演算された最終的なロータ角速度以上の値に補正し、前記検出トルクが前記指示トルクよりも小さいときには、前記加算角を前記角速度補正手段によって演算された最終的なロータ角速度以下の値に補正することが好ましい。
負荷角とモータトルクとに正の相関がある場合には、検出トルクが指示トルクよりも大きい場合には、演算周期当たりのロータ角変位(ロータ角速度)よりも加算角が大きければ、検出トルクを指示トルクへと近づけることができる。そこで、加算角補正手段は、検出トルクが指示トルクよりも大きい場合において、加算角がロータ角速度よりも小さいときには、加算角をロータ角速度以上の値に補正する。また、検出トルクが指示トルクよりも小さい場合には、ロータ角速度よりも加算角が小さければ、検出トルクを指示トルクへと近づけることができる。そこで、加算角補正手段は、検出トルクが指示トルクよりも小さい場合において、加算角がロータ角速度よりも大きいときには、加算角をロータ角速度以下の値に補正する。
このようにして、検出トルクと指示トルクとの大小関係に応じて、加算角を妥当な値に補正することができるので、検出トルクを指示トルクに近づけるように、妥当な制御を行うことができる。
また、負荷角とモータトルクとに正の相関がある場合に、検出トルクが指示トルクよりも大きいときに、ロータ角速度よりも加算角が過度に大きいと、加算角を適値に収束させるのに時間がかかる。また、検出トルクが指示トルクよりも小さいときに、ロータ角速度よりも加算角が過度に小さいと、加算角を適値に収束させるのに時間がかかる。そこで、前記加算角補正手段は、前記検出トルクが前記指示トルクよりも大きいときには、前記加算角を前記角速度補正手段によって演算された最終的なロータ角速度よりも所定の変化制限値だけ大きい値以下の値に補正し、前記検出トルクが前記指示トルクよりも小さいときには、前記加算角を前記角速度補正手段によって演算された最終的なロータ角速度よりも所定の変化制限値だけ小さい値以上の値に補正することが好ましい。これにより、加算角が適値に収束しやすくなるので、制御の安定化を図ることができ、制御異常が生じたときでも正常状態への復帰を効果的に促すことができる。
一方、負荷角とモータトルクとに負の相関がある場合、前記加算角補正手段は、前記検出トルクが前記指示トルクよりも小さいときには、前記加算角を前記角速度補正手段によって演算された最終的なロータ角速度以上の値に補正し、前記検出トルクが前記指示トルクよりも大きいときには、前記加算角を前記角速度補正手段によって演算された最終的なロータ角速度以下の値に補正することが好ましい。
負荷角とモータトルクとに負の相関がある場合には、検出トルクが指示トルクよりも小さい場合に、演算周期当たりのロータ角変位(ロータ角速度)よりも加算角が大きければ、検出トルクを指示トルクへと近づけることができる。そこで、加算角補正手段は、検出トルクが指示トルクよりも小さい場合において、加算角がロータ角速度よりも小さいときには、加算角をロータ角速度以上の値に補正する。また、検出トルクが指示トルクよりも大きい場合に、ロータ角速度よりも加算角が小さければ、検出トルクを指示トルクへと近づけることができる。そこで、加算角補正手段は、検出トルクが指示トルクよりも大きい場合において、加算角がロータ角速度よりも大きいときには、加算角をロータ角速度以下の値に補正する。
このようにして、検出トルクと指示トルクとの大小関係に応じて、加算角を妥当な値に補正することができるので、検出トルクを指示トルクに近づけるように、妥当な制御を行うことができる。
また、負荷角とモータトルクとに負の相関がある場合に、検出トルクが指示トルクよりも小さいときに、ロータ角速度よりも加算角が過度に大きいと、加算角を適値に収束させるのに時間がかかる。また、検出トルクが指示トルクよりも大きいときに、ロータ角速度よりも加算角が過度に小さいと、加算角を適値に収束させるのに時間がかかる。そこで、前記加算角補正手段は、前記検出トルクが前記指示トルクよりも小さいときには、前記加算角を前記角速度補正手段によって演算された最終的なロータ角速度よりも所定の変化制限値だけ大きい値以下の値に補正し、前記検出トルクが前記指示トルクよりも大きいときには、前記加算角を前記角速度補正手段によって演算された最終的なロータ角速度よりも所定の変化制限値だけ小さい値以上の値に補正することが好ましい。これにより、加算角が適値に収束しやすくなるので、制御の安定化を図ることができ、制御異常が生じたときでも正常状態への復帰を効果的に促すことができる。
前記モータ制御装置は、前記加算角を所定の制限値(ωmax)で制限する加算角制限手段をさらに含んでいてもよい。加算角に適切な制限を加えることによって、実際のロータの回転に比して過大な加算角が制御角に加算されることを抑制できる。これにより、適切にモータを制御することができる。
前記制限値は、たとえば、次式によって定められた値であってもよい。ただし、次式における「最大ロータ角速度」とは、電気角でのロータ角速度の最大値である。
制限値=最大ロータ角速度×演算周期
たとえば、モータの回転を所定の減速比の減速機構を介して車両用操舵装置の操舵軸に伝達している場合には、最大ロータ角速度は、最大操舵角速度(操舵軸の最大回転角速度)×減速比×極対数で与えられる。「極対数」とは、ロータが有する磁極対(N極とS極との対)の数である。
前記加算角演算手段は、前記検出トルクを前記指示トルクに近づけるように前記加算角を演算するフィードバック制御手段(22,23)を含むものであってもよい。
前記モータは、車両の舵取り機構(2)に駆動力を付与するものであってもよい。この場合に、前記トルク検出手段は、前記車両の操向のために操作される操作部材(10)に加えられる操舵トルクを検出するものであってもよい。また、前記指示トルク設定手段は、操舵トルクの目標値としての指示操舵トルクを設定するものであってもよい。そして、前記加算角演算手段は、前記指示トルク設定手段によって設定される指示操舵トルクと前記トルク検出手段によって検出される操舵トルクとの偏差に応じて前記加算角を演算するものであってもよい。
この構成によれば、指示操舵トルクが設定され、この指示操舵トルクと操舵トルク(検出値)との偏差に応じて前記加算角が演算される。これにより、操舵トルクが当該指示操舵トルクとなるように加算角が定められ、それに応じた制御角が定められることになる。したがって、指示操舵トルクを適切に定めておくことによって、モータから適切な駆動力を発生させて、これを舵取り機構に付与することができる。すなわち、ロータの磁極方向に従う回転座標系(dq座標系)の座標軸と前記仮想軸とのずれ量(負荷角)が指示操舵トルクに応じた値に導かれる。その結果、適切なトルクがモータから発生され、運転者の操舵意図に応じた駆動力を舵取り機構に付与できる。
前記モータ制御装置または前記車両用操舵装置は、前記操作部材の操舵角を検出する操舵角検出手段(4)をさらに含み、前記指示トルク設定手段は、前記操舵角検出手段によって検出される操舵角に応じて指示操舵トルクを設定するものであることが好ましい。この構成によれば、操作部材の操舵角に応じて指示操舵トルクが設定されるので、操舵角に応じた適切なトルクをモータから発生させることができ、運転者が操作部材に加える操舵トルクを操舵角に応じた値へと導くことができる。これにより、良好な操舵感を得ることができる。
前記指示トルク設定手段は、前記車両の車速を検出する車速検出手段(6)によって検出される当該車速に応じて指示操舵トルクを設定するものであってもよい。この構成によれば、車速に応じて指示操舵トルクが設定されるので、いわゆる車速感応制御を行うことができる。その結果、良好な操舵感を実現できる。たとえば、車速が大きいほど、すなわち、高速走行時ほど指示操舵トルクを小さく設定することより、すぐれた操舵感が得られる。
以下では、この発明の実施の形態を、添付図面を参照して詳細に説明する。
図1は、この発明の一実施形態に係るモータ制御装置を適用した電動パワーステアリング装置(車両用操舵装置の一例)の電気的構成を説明するためのブロック図である。この電動パワーステアリング装置は、車両を操向するための操作部材としてのステアリングホイール10に加えられる操舵トルクTを検出するトルクセンサ1と、車両の舵取り機構2に減速機構7を介して操舵補助力を与えるモータ3(ブラシレスモータ)と、ステアリングホイール10の回転角である操舵角を検出する舵角センサ4と、モータ3を駆動制御するモータ制御装置5と、当該電動パワーステアリング装置が搭載された車両の速度を検出する車速センサ6とを備えている。
モータ制御装置5は、トルクセンサ1が検出する操舵トルク、舵角センサ4が検出する操舵角および車速センサ6が検出する車速に応じてモータ3を駆動することによって、操舵状況および車速に応じた適切な操舵補助を実現する。
モータ3は、この実施形態では、三相ブラシレスモータであり、図2に図解的に示すように、界磁としてのロータ50と、このロータ50に対向するステータ55に配置されたU相、V相およびW相のステータ巻線51,52,53とを備えている。モータ3は、ロータの外部にステータを対向配置したインナーロータ型のものであってもよいし、筒状のロータの内部にステータを対向配置したアウターロータ型のものであってもよい。
各相のステータ巻線51,52,53の方向にU軸、V軸およびW軸をとった三相固定座標(UVW座標系)が定義される。また、ロータ50の磁極方向にd軸(磁極軸)をとり、ロータ50の回転平面内においてd軸と直角な方向にq軸(トルク軸)をとった二相回転座標系(dq座標系。実回転座標系)が定義される。dq座標系は、ロータ50とともに回転する回転座標系である。dq座標系では、q軸電流のみがロータ50のトルク発生に寄与するので、d軸電流を零とし、q軸電流を所望のトルクに応じて制御すればよい。ロータ50の回転角(ロータ角)θMは、U軸に対するd軸の回転角である。dq座標系は、ロータ角θMに従う実回転座標系である。このロータ角θMを用いることによって、UVW座標系とdq座標系との間での座標変換を行うことができる。
一方、この実施形態では、制御上の回転角を表す制御角θCが導入される。制御角θCは、U軸に対する仮想的な回転角である。この制御角θCに対応する仮想的な軸をγ軸とし、このγ軸に対して90°進んだ軸をδ軸として、仮想二相回転座標系(γδ座標系。仮想回転座標系)を定義する。制御角θCがロータ角θMに等しいとき、仮想回転座標系であるγδ座標系と実回転座標系であるdq座標系とが一致する。すなわち、仮想軸としてのγ軸は実軸としてのd軸と一致し、仮想軸としてのδ軸は実軸としてのq軸と一致する。γδ座標系は、制御角θCに従う仮想回転座標系である。UVW座標系とγδ座標系との座標変換は、制御角θCを用いて行うことができる。
制御角θCとロータ角θMとの差を負荷角θL(=θC−θM)と定義する。
制御角θCに従ってγ軸電流Iγをモータ3に供給すると、このγ軸電流Iγのq軸成分(q軸への正射影)がロータ50のトルク発生に寄与するq軸電流Iqとなる。すなわち、γ軸電流Iγとq軸電流Iqとの間に、次式(1)の関係が成立する。
Iq=Iγ・sinθL …(1)
再び図1を参照する。モータ制御装置5は、マイクロコンピュータ11と、このマイクロコンピュータ11によって制御され、モータ3に電力を供給する駆動回路(インバータ回路)12と、モータ3の各相のステータ巻線に流れる電流を検出する電流検出部13とを備えている。
電流検出部13は、モータ3の各相のステータ巻線51,52,53に流れる相電流IU,IV,IW(以下、総称するときには「三相検出電流IUVW」という。)を検出する。これらは、UVW座標系における各座標軸方向の電流値である。
マイクロコンピュータ11は、CPUおよびメモリ(ROMおよびRAMなど)を備えており、所定のプログラムを実行することによって、複数の機能処理部として機能するようになっている。この複数の機能処理部には、操舵トルクリミッタ20と、指示操舵トルク設定部21と、トルク偏差演算部22と、PI(比例積分)制御部23と、加算角リミッタ24と、制御角演算部26と、誘起電圧推定部28と、回転角推定部29と、ロータ角変位演算部30と、指示電流値生成部31と、電流偏差演算部32と、PI制御部33と、γδ/αβ変換部34Aと、αβ/UVW変換部34Bと、PWM(Pulse Width Modulation)制御部35と、UVW/αβ変換部36Aと、αβ/γδ変換部36Bと、トルク偏差監視部40と、加算角ガード41、ロータ角速度補正部42とが含まれている。誘起電圧推定部28と、回転角推定部29と、ロータ角変位演算部30とによって、ロータ50の角速度を推定するための速度推定用オブザーバ(角速度演算手段)43が構成されている。
指示操舵トルク設定部21は、舵角センサ4によって検出される操舵角と、車速センサ6によって検出される車速とに基づいて、指示操舵トルクT*を設定する。たとえば、図4に示すように、操舵角が正の値(右方向へ操舵した状態)のとき指示操舵トルクT*は正の値(右方向へのトルク)に設定され、操舵角が負の値(左方向へ操舵した状態)のとき指示操舵トルクT*は負の値(左方向へのトルク)に設定される。そして、操舵角の絶対値が大きくなるに従って、その絶対値が大きくなるように(図4の例では非線型に大きくなるように)指示操舵トルクT*が設定される。ただし、所定の上限値(正の値。たとえば、+6Nm)および下限値(負の値。たとえば−6Nm)の範囲内で指示操舵トルクT*の設定が行われる。また、指示操舵トルクT*は、車速が大きいほど、その絶対値が小さくなるように設定される。すなわち、車速感応制御が行われる。
操舵トルクリミッタ20は、トルクセンサ1の出力を所定の上限飽和値+Tmax(+Tmax>0。たとえば+Tmax=7Nm)と下限飽和値−Tmax(−Tmax<0。たとえば−Tmax=−7Nm)との間に制限する。具体的には、操舵トルクリミッタ20は、図5に示すように、上限飽和値+Tmaxと下限飽和値−Tmaxの間では、トルクセンサ1の検出操舵トルクTをそのまま出力する。また、操舵トルクリミッタ20は、トルクセンサ1の検出操舵トルクTが上限飽和値+Tmax以上であれば、上限飽和値+Tmaxを出力する。そして、操舵トルクリミッタ20は、トルクセンサ1の検出操舵トルクTが下限飽和値−Tmax以下であれば、下限飽和値−Tmaxを出力する。飽和値+Tmaxおよび−Tmaxは、トルクセンサ1の出力信号が安定な領域(信頼性のある領域)の境界を画定するものである。つまり、トルクセンサ1の出力信号は、上限飽和値Tmaxを超える区間、および下限飽和値−Tmaxを下回る区間では不安定であり、実際の操舵トルクに対応しなくなる。換言すれば、飽和値+Tmax,−Tmaxは、トルクセンサ1の出力特性に応じて定められる。
トルク偏差演算部22は、指示操舵トルク設定部21によって設定される指示操舵トルクT*と、トルクセンサ1によって検出され、操舵トルクリミッタ20による制限処理を受けた操舵トルクT(以下、区別するために「検出操舵トルクT」という。)との偏差(トルク偏差)ΔT(=T*−T)を求める。PI制御部23は、このトルク偏差ΔTに対するPI演算を行う。すなわち、トルク偏差演算部22およびPI制御部23によって、検出操舵トルクTを指示操舵トルクT*に導くためのトルクフィードバック制御手段が構成されている。PI制御部23は、トルク偏差ΔTに対するPI演算を行うことで、制御角θCに対する加算角αを演算する。したがって、前記トルクフィードバック制御手段は、加算角αを演算する加算角演算手段を構成している。
より具体的には、PI制御部23は、比例要素23aと、積分要素23bと、加算器23cとを備えている。ただし、KPは比例ゲイン、KIは積分ゲイン、1/sは積分演算子である。比例要素23aによって比例積分演算の比例項(比例演算値)が求められ、積分要素23bによって比例積分演算の積分項(積分演算値)が求められる。これらの演算結果(比例項および積分項)が加算器23cで加算されることによって、加算角αが求められる。
加算角リミッタ24は、PI制御部23によって求められた加算角αに対して制限を加える加算角制限手段である。より具体的には、加算角リミッタ24は、所定の上限値UL(正の値)と下限値LL(負の値)との間の値に加算角αを制限する。上限値ULおよび下限値LLは、所定の制限値ωmax(ωmax>0。たとえばωmax=45度)に基づいて定められる。この所定の制限値ωmaxは、たとえば、最大操舵角速度に基づいて定められる。最大操舵角速度とは、ステアリングホイール10の操舵角速度として想定され得る最大値であり、たとえば、800deg/sec程度である。
最大操舵角速度のときのロータ50の電気角の変化速度(電気角での角速度。最大ロータ角速度)は、次式(2)のとおり、最大操舵角速度と、減速機構7の減速比と、ロータ50の極対数との積で与えられる。極対数とは、ロータ50が有する磁極対(N極とS極との対)の個数である。
最大ロータ角速度=最大操舵角速度×減速比×極対数 …(2)
制御角θCの演算間(演算周期)におけるロータ50の電気角変化量の最大値(ロータ角変化量最大値)は、次式(3)のとおり、最大ロータ角速度に演算周期を乗じた値となる。
ロータ角変化量最大値=最大ロータ角速度×演算周期
=最大操舵角速度×減速比×極対数×演算周期 …(3)
このロータ角変化量最大値が一演算周期間で許容される制御角θCの最大変化量である。そこで、前記ロータ角変化量最大値を制限値ωmaxとすればよい。この制限値ωmaxを用いて、加算角αの上限値ULおよび下限値LLは、それぞれ次式(4)(5)で表すことができる。
UL=+ωmax …(4)
LL=−ωmax …(5)
加算角リミッタ24による制限処理後の加算角αが、制御角演算部26の加算器26Aにおいて、制御角θCの前回値θC(n-1)(nは今演算周期の番号)に加算される(Z−1は信号の前回値を表す)。ただし、制御角θCの初期値は予め定められた値(たとえば零)である。
制御角演算部26は、制御角θCの前回値θC(n-1)に加算角リミッタ24から与えられる加算角αを加算する加算器26Aを含む。すなわち、制御角演算部26は、所定の演算周期毎に制御角θCを演算する。そして、前演算周期における制御角θCを前回値θC(n-1)とし、これを用いて今演算周期における制御角θCである今回値θC(n)を求める。
誘起電圧推定部28は、モータ3の回転によって生じる誘起電圧を推定するものである。そして、回転角推定部29は、誘起電圧推定部28によって推定された誘起電圧に基づいて、ロータ50の回転角の推定値(推定回転角)θEを演算するものである。誘起電圧推定部28および回転角推定部29の具体例については、後述する。
ロータ角変位演算部30は、演算周期間の推定回転角θEの変化量を求めることによって、演算周期当たりのロータ50の角変位Δθ(回転角速度ωnに相当する値)を求める。つまり、誘起電圧推定部28、回転角推定部29およびロータ角変位演算部30から構成される速度推定用オブザーバ43は、演算周期毎にロータ50の回転角速度ωn(演算周期当たりのロータ50の角変位Δθ)を演算する。速度推定用オブザーバ43によって演算されるロータ50の回転角速度(以下、「ロータ角速度」という)ωnは、加算角αを補正するために用いられる。
指示電流値生成部31は、制御上の回転角である前記制御角θCに対応する仮想回転座標系であるγδ座標系の座標軸(仮想軸)に流すべき電流値を指示電流値として生成するものである。具体的には、γ軸指示電流値Iγ *およびδ軸指示電流値Iδ *(以下、これらを総称するときには「二相指示電流値Iγδ *」という。)を生成する。指示電流値生成部31は、γ軸指示電流値Iγ *を有意値とする一方で、δ軸指示電流値Iδ *を零とする。より具体的には、指示電流値生成部31は、トルクセンサ1によって検出される検出操舵トルクTに基づいてγ軸指示電流値Iγ *を設定する。
検出操舵トルクTに対するγ軸指示電流値Iγ *の設定例は、図6に示されている。検出操舵トルクTが零付近の領域には不感帯NRが設定されている。γ軸指示電流値Iγ *は、不感帯NRの外側の領域で急峻に立ち上がり、所定のトルク以上でほぼ一定値となるように設定される。これにより、運転者がステアリングホイール10を操作していないときには、モータ3への通電が停止され、不必要な電力消費が抑制される。
電流偏差演算部32は、指示電流値生成部31によって生成されるγ軸指示電流値Iγ *に対するγ軸検出電流Iγの偏差Iγ *−Iγと、δ軸指示電流値Iδ *(=0)に対するδ軸検出電流Iδの偏差Iδ *−Iδとを演算する。γ軸検出電流Iγおよびδ軸検出電流Iδは、αβ/γδ変換部36Bから偏差演算部32に与えられるようになっている。
UVW/αβ変換部36Aは、電流検出部13によって検出されるUVW座標系の三相検出電流IUVW(U相検出電流IU、V相検出電流IVおよびW相検出電流IW)を二相固定座標系であるαβ座標系の二相検出電流IαおよびIβ(以下総称するときには「二相検出電流Iαβ」という。)に変換する。αβ座標系は、図2に示すように、ロータ50の回転中心を原点として、ロータ50の回転平面内にα軸およびこれに直交するβ軸(図2の例ではU軸と同軸)を定めた固定座標系である。αβ/γδ変換部36Bは、二相検出電流Iαβをγδ座標系の二相検出電流IγおよびIδ(以下総称するときには「二相検出電流Iγδ」という。)に変換する。これらが電流偏差演算部32に与えられるようになっている。αβ/γδ変換部36Bにおける座標変換には、制御角演算部26で演算される制御角θCが用いられる。
PI制御部33は、電流偏差演算部32によって演算された電流偏差に対するPI演算を行うことにより、モータ3に印加すべき二相指示電圧Vγδ *(γ軸指示電圧Vγ *およびδ軸指示電圧Vδ *)を生成する。この二相指示電圧Vγδ *が、γδ/αβ変換部34Aに与えられる。
γδ/αβ変換部34Aは、二相指示電圧Vγδ *をαβ座標系の二相指示電圧Vαβ *に変換する。この座標変換には、制御角演算部26で演算された制御角θCが用いられる。二相指示電圧Vαβ *は、α軸指示電圧Vα *およびβ軸指示電圧Vβ *からなる。αβ/UVW変換部34Bは、二相指示電圧Vαβ *に対して座標変換演算を行うことによって、三相指示電圧VUVW *を生成する。三相指示電圧VUVW *は、U相指示電圧VU *、V相指示電圧VV *およびW相指示電圧VW *からなる。この三相指示電圧VUVW *は、PWM制御部35に与えられる。
PWM制御部35は、U相指示電圧VU *、V相指示電圧VV *およびW相指示電圧VW *にそれぞれ対応するデューティのU相PWM制御信号、V相PWM制御信号およびW相PWM制御信号を生成し、駆動回路12に供給する。
駆動回路12は、U相、V相およびW相に対応した三相インバータ回路からなる。このインバータ回路を構成するパワー素子がPWM制御部35から与えられるPWM制御信号によって制御されることにより、三相指示電圧VUVW *に相当する電圧がモータ3の各相のステータ巻線51,52、53に印加されることになる。
電流偏差演算部32およびPI制御部33は、電流フィードバック制御手段を構成している。この電流フィードバック制御手段の働きによって、モータ3に流れるモータ電流が、指示電流値生成部31によって設定される二相指示電流値Iγδ *に近づくように制御される。
トルク偏差監視部40は、トルク偏差演算部22によって演算されるトルク偏差ΔTの符号を監視することにより、指示操舵トルクT*と検出操舵トルクTとの大小関係を判定する。その判定結果は、加算角ガード41に与えられるようになっている。
ロータ角速度補正部42は、速度推定用オブザーバ43によって演算されるロータ角速度ωn(演算周期当たりのロータ50の角変位Δθ)を補正する。指示電流値生成部31によって生成される指示電流値(二相指示電流値Iγδ *)が急変した場合には、速度推定用オブザーバ43の速度推定精度が一時的に低下することが判明している。指示電流値の急変は、具体的には、検出操舵トルクTの変化により、γ軸指示電流値Iγ *が、図6の不感帯NRの内側の領域から外側の領域に変化したり、あるいは不感帯NRの外側の領域から内側の領域に変化する場合に生じる。より具体的には、γ軸指示電流値Iγ *は、中立位置にあるステアリングホイール10を操舵した場合や、中立位置以外の位置にあるステアリングホイール10を中立位置に戻した場合に、急変する。
指示電流値Iγ *が急変した場合には、速度推定用オブザーバ43の速度推定精度が低下するため、速度推定用オブザーバ43によって演算されるロータ角速度ωnを、加算角補正のためにそのまま用いることは好ましくない。そこで、ロータ角速度補正部42は、指示電流値Iγ *が急変した場合には、所要期間(一定または可変の期間)、指示電流値の急変前に速度推定用オブザーバ43によって演算されていたロータ角速度と、指示電流値の急変後に速度推定用オブザーバ43によって演算されるロータ角速度とに基づいて、最終的なロータ角速度ωFを演算する。ロータ角速度補正部42の具体例については、後述する。
加算角ガード41は、PI制御部23が生成する加算角αに対して加算角ガード処理を施すためのものである。加算角ガード処理とは、PI制御部23によって生成された加算角αが、指示操舵トルクT*と検出操舵トルクTとの大小関係と矛盾する場合に、この矛盾を解消するように加算角αを補正する処理である。より具体的には、加算角ガード41は、必要時において、ロータ角速度補正部42によって演算される最終的なロータ角速度ωF(演算周期当たりのロータ50の角変位に相当する)に基づいて加算角αを補正する。
図3は、前記電動パワーステアリング装置の制御ブロック図である。ただし、説明を簡単にするために、加算角ガード41および加算角リミッタ24の機能は省略してある。
指示操舵トルクT*と検出操舵トルクTとの偏差(トルク偏差)ΔTに対するPI制御(KPは比例係数、KIは積分係数、1/sは積分演算子である。)によって、加算角αが生成される。この加算角αが制御角θCの前回値θC(n-1)に対して加算されることによって、制御角θCの今回値θC(n)=θC(n-1)+αが求められる。このとき、制御角θCとロータ50の実際のロータ角θMとの偏差が負荷角θL=θC−θMとなる。
したがって、制御角θCに従うγδ座標系(仮想回転座標系)のγ軸(仮想軸)にγ軸指示電流値Iγ *に従ってγ軸電流Iγが供給されると、q軸電流Iq=IγsinθLとなる。このq軸電流Iqがロータ50の発生トルクに寄与する。すなわち、モータ3のトルク定数KTをq軸電流Iq(=IγsinθL)に乗じた値が、アシストトルクTA(=KT・IγsinθL)として、減速機構7を介して、舵取り機構2に伝達される。このアシストトルクTAを舵取り機構2からの負荷トルクTLから減じた値が、運転者がステアリングホイール10に与えるべき操舵トルクTである。この操舵トルクTがフィードバックされることによって、この操舵トルクTを指示操舵トルクT*に導くように系が動作する。つまり、検出操舵トルクTを指示操舵トルクT*に一致させるべく、加算角αが求められ、それに応じて制御角θCが制御される。
このように制御上の仮想軸であるγ軸に電流を流す一方で、指示操舵トルクT*と検出操舵トルクTとの偏差ΔTに応じて求められる加算角αで制御角θCを更新していくことにより、負荷角θLが変化し、この負荷角θLに応じたトルクがモータ3から発生するようになっている。これにより、操舵角および車速に基づいて設定される指示操舵トルクT*に応じたトルクをモータ3から発生させることができるので、操舵角および車速に対応した適切な操舵補助力を舵取り機構2に与えることができる。すなわち、操舵角の絶対値が大きいほど操舵トルクが大きく、かつ、車速が大きいほど操舵トルクが小さくなるように、操舵補助制御が実行される。
このようにして、回転角センサを用いることなくモータ3を適切に制御して、適切な操舵補助を行うことができる電動パワーステアリング装置を実現できる。これにより、構成を簡単にすることができ、コストの削減を図ることができる。
この実施形態では、負荷角θLとモータトルク(アシストトルク)とが正の相関を有する領域で負荷角θLが調整されるように、加算角αが制御される。具体的には、q軸電流Iq=IγsinθLであるから、−90°≦θL≦90°となるように、加算角αが制御される。むろん、負荷角θLとモータトルク(アシストトルク)とが負の相関を有する領域で負荷角θLが調整されるように、加算角αを制御することもできる。この場合、90°≦θL≦270°となるように、加算角αが制御される。PI制御部23のゲインを正にすれば正の相関領域での制御となり、PI制御部23のゲインを負にすれば負の相関領域での制御となる。
図7は、加算角リミッタ24の働きを説明するためのフローチャートである。加算角リミッタ24は、PI制御部23によって生成され、加算角ガード41によって補正された加算角αを上限値ULと比較し(ステップS1)、加算角αが上限値ULを超えている場合(ステップS1:YES)には、上限値ULを加算角αに代入する(ステップS2)。したがって、制御角θCに対して上限値UL(=+ωmax)が加算されることになる。
PI制御部23によって生成され、加算角ガード41によって補正された加算角αが上限値UL以下であれば(ステップS1:NO)、加算角リミッタ24は、さらに、その加算角αを下限値LLと比較する(ステップS3)。そして、その加算角αが下限値未満であれば(ステップS3:YES)、下限値LLを加算角αに代入する(ステップS4)。したがって、制御角θCに対して下限値LL(=−ωmax)が加算されることになる。
PI制御部23によって生成され、加算角ガード41によって補正された加算角αが下限値LL以上上限値UL以下(ステップS3:NO)であれば、その加算角αがそのまま制御角θCへの加算のために用いられる。
このようにして、加算角αを上限値ULと下限値LLとの間に制限することができるので、制御の安定化を図ることができる。より具体的には、電流不足時や制御開始時に制御不安定状態(アシスト力が不安定な状態)が発生しても、この状態から安定な制御状態への遷移を促すことができる。
図8Aは、加算角ガード処理を説明するためのフローチャートである。ただし、負荷角θLとモータトルク(アシストトルク)とが正の相関を有する領域で負荷角θLが調整されるように、加算角αが制御される場合の処理例が示されている。
トルク偏差監視部40は、トルク偏差演算部22によって演算されるトルク偏差ΔTの符号を監視しており、指示操舵トルクT*と検出操舵トルクTとの大小関係に関する情報を加算角ガード41に与える。
検出操舵トルクTが指示操舵トルクT*よりも大きいとき(ステップS11:YES)、加算角ガード41は、PI制御部23によって求められた加算角αが、ロータ角速度補正部42によって演算された最終的なロータ角速度ωF(演算周期当たりのロータ角変位に相当する)よりも小さいかどうかを判断する(ステップS12)。この判断が肯定されると、加算角ガード41は、加算角αにロータ角速度ωFを代入する(ステップS13)。すなわち、加算角αがロータ角速度ωFに補正される。加算角αがロータ角速度ωF以上であれば(ステップS12:NO)、加算角ガード41は、さらに、加算角αを、ロータ角速度ωFよりも所定の変化制限値A(A>0。たとえばA=7deg)だけ大きな値(ωF+A)と比較する(ステップS14)。加算角αが当該値(ωF+A)よりも大きいときには(ステップS14:YES)、加算角ガード41は、加算角αに当該値(ωF+A)を代入する(ステップS15)。加算角αが当該値(ωF+A)以下であれば(ステップS14:NO)、加算角αの補正は行われない。
一方、検出操舵トルクTが指示操舵トルクT*よりも小さいとき(ステップS11:NO。ステップS16:YES)、加算角ガード41は、PI制御部23によって求められた加算角αがロータ角速度ωFよりも大きいかどうかを判断する(ステップS17)。この判断が肯定されると、加算角ガード41は、加算角αにロータ角速度ωFを代入し(ステップS13)、加算角αをロータ角速度ωFに補正する。加算角αがロータ角速度ωF以下であれば(ステップS17:NO)、加算角ガード41は、さらに、加算角αを、ロータ角速度ωFよりも前記変化制限値Aだけ小さな値(ωF−A)と比較する(ステップS18)。加算角αが当該値(ωF−A)よりも小さいときには(ステップS18:YES)、加算角ガード41は、加算角αに当該値(ωF−A)を代入する(ステップS19)。加算角αが当該値(ωF−A)以上であれば(ステップS18:NO)、加算角αの補正は行われない。
また、検出操舵トルクTが指示操舵トルクT*に等しいとき(ステップS11およびステップS16の判断がいずれも否定)、加算角αの補正は行われない。
加算角αは、演算周期間の制御角θCの変化量であり、γδ座標軸の演算周期当たりの角変位(回転速度に相当する。)に等しい。よって、加算角αが、演算周期当たりのロータ角変位に相当するロータ角速度ωFよりも大きければ負荷角θLが大きくなり、加算角αがロータ角速度ωFよりも小さければ負荷角θLが小さくなる。そして、負荷角θLとモータトルク(アシストトルク)とに正の相関がある場合には、負荷角θLが大きくなればモータトルクが大きくなり、負荷角θLが小さくなればモータトルクが小さくなる。
一方、検出操舵トルクTが指示操舵トルクT*よりも大きい場合とは、モータトルク(アシストトルク)が不足している状態である。したがって、モータトルクを増加させるために、負荷角θLを増加させればよい。つまり、加算角αがロータ角速度ωF以上であれば、検出操舵トルクTを指示操舵トルクT*に近づけることができる。そこで、この実施形態では、図8AのステップS11〜S13の処理によって、検出操舵トルクTが指示操舵トルクT*よりも大きい場合に、加算角αをロータ角速度ωF以上に制限する加算角ガード処理が行われる。換言すれば、検出操舵トルクTが指示操舵トルクT*よりも大きいにも拘わらず、加算角αがロータ角速度ωF未満であれば、制御の目的に合致せず、矛盾が生じている。たとえば、PI制御部23の応答性によっては、このような状況が生じ得る。そこで、このような場合には、加算角αをロータ角速度ωF以上の値(この実施形態ではロータ角速度ωFに等しい値)に補正することとしている。むろん、加算角αをロータ角速度ωFよりも大きい値(たとえば所定値(変化制限値Aよりも小さな値)だけ大きな値)に補正してもよい。
同様に考察すると、検出操舵トルクTが指示操舵トルクT*よりも小さい場合とは、モータトルク(アシストトルク)が過剰となっている状態である。したがって、モータトルクを減少させるために、負荷角θLを減少させればよい。つまり、加算角αがロータ角速度ωF以下であれば、検出操舵トルクTを指示操舵トルクT*に近づけることができる。そこで、この実施形態では、図8AのステップS16,S17およびS13の処理によって、検出操舵トルクTが指示操舵トルクT*よりも小さい場合に、加算角αをロータ角速度ωF以下に制限する加算角ガード処理が行われる。換言すれば、検出操舵トルクTが指示操舵トルクT*よりも小さいにも拘わらず、加算角αがロータ角速度ωFを超えていれば、制御の目的に合致せず、矛盾が生じている。たとえば、PI制御部23の応答性によっては、このような状況が生じ得る。そこで、このような場合には、加算角αをロータ角速度ωF以下の値(この実施形態ではロータ角速度ωFに等しい値)に補正することとしている。むろん、加算角αをロータ角速度ωFよりも小さい値(たとえば所定値(変化制限値Aよりも小さな値)だけ小さな値)に補正してもよい。
さらにこの実施形態では、検出操舵トルクTが指示操舵トルクT*よりも大きい場合(ステップS11:YES)において、加算角αがロータ角速度ωFに変化制限値Aを加算した値よりも大きいときは(ステップS12:NO。ステップS14:YES)、加算角αをωF+Aに補正することとしている(ステップS15)。これは、演算周期当たりのロータ角変位に相当するロータ角速度ωFよりも加算角αが過度に大きいと、加算角αを適値に収束させるのに時間がかかるからである。また、検出トルクTが指示トルクT*よりも小さい場合において、(ステップS16:YES)において、加算角αがロータ角速度ωFから変化制限値Aを減算した値よりも小さいときは(ステップS17:NO。ステップS18:YES)、加算角αをωF−Aに補正することとしている(ステップS19)。これは、演算周期当たりのロータ角変位に相当するロータ角速度ωFよりも加算角αが過度に小さいと、加算角を適値に収束させるのに時間がかかる。このような補正を行うことにより、加算角αが適値に収束しやすくなるから、制御の安定化を図ることができ、制御異常が生じたときでも正常状態への復帰を効果的に促すことができる。
このように、図8Aのガード処理では、検出操舵トルクTが指示操舵トルクT*よりも大きいときには、ωF+A≧α≧ωFの範囲に加算角αが制限され、検出操舵トルクTが指示操舵トルクT*よりも小さいときには、ωF≧α≧ωF−Aの範囲に加算角αが制限される。こうして、加算角αは、ロータ角速度ωFに応じた妥当な値をとることができる。
負荷角θLとモータトルク(アシストトルク)とが負の相関を有する領域で負荷角θLが調整されるように、加算角αが制御される場合の加算角ガード処理の例を図8Bに示す。図8Bにおいて、図8Aに示された各ステップと同様の処理が行われるステップには、図8A中と同一参照符号を付して示す。
図8Bに示す処理では、検出操舵トルクTと指示操舵トルクT*との大小関係に応じた処理が、図8Aの処理とは逆になっている。すなわち、検出操舵トルクTが指示操舵トルクT*よりも小さいとき(ステップS11A:YES)、加算角ガード41は、加算角αが、ロータ角速度補正部42によって演算された最終的なロータ角速度ωFよりも小さいかどうかを判断する(ステップS12)。この判断が肯定されると、加算角ガード41は、加算角αにロータ角速度ωFを代入する(ステップS13)。すなわち、加算角αがロータ角速度ωFに補正される。加算角αがロータ角速度ωF以上であれば(ステップS12:NO)、加算角ガード41は、さらに、加算角αを、ロータ角速度ωFよりも変化制限値Aだけ大きな値(ωF+A)と比較する(ステップS14)。加算角αが当該値(ωF+A)よりも大きいときには(ステップS14:YES)、加算角ガード41は、加算角αに当該値(ωF+A)を代入する(ステップS15)。加算角αが当該値(ωF+A)以下であれば(ステップS14:NO)、加算角αの補正は行われない。
一方、検出操舵トルクTが指示操舵トルクT*よりも大きいとき(ステップS11A:NO。ステップS16A:YES)、加算角ガード41は、加算角αがロータ角速度ωFよりも大きいかどうかを判断する(ステップS17)。この判断が肯定されると、加算角ガード41は、加算角αにロータ角速度ωFを代入し(ステップS13)、加算角αをロータ角速度ωFに補正する。加算角αがロータ角速度ωF以下であれば(ステップS17:NO)、加算角ガード41は、さらに、加算角αを、ロータ角速度ωFよりも前記変化制限値Aだけ小さな値(ωF−A)と比較する(ステップS18)。加算角αが当該値(ωF−A)よりも小さいときには(ステップS18:YES)、加算角ガード41は、加算角αに当該値(ωF−A)を代入する(ステップS19)。加算角αが当該値(ωF−A)以上であれば(ステップS18:NO)、加算角αの補正は行われない。
また、検出操舵トルクTが指示操舵トルクT*に等しいとき(ステップS11AおよびステップS16Aの判断がいずれも否定)、加算角αの補正は行われない。
負荷角θLとモータトルク(アシストトルク)とに負の相関がある場合には、負荷角θLが大きくなればモータトルクが小さくなり、負荷角θLが小さくなればモータトルクが大きくなる。
一方、検出操舵トルクTが指示操舵トルクT*よりも小さい場合とは、モータトルク(アシストトルク)が過剰な状態である。したがって、モータトルクを減少させるために、負荷角θLを増加させればよい。つまり、加算角αがロータ角速度ωF以上であれば、検出操舵トルクTを指示操舵トルクT*に近づけることができる。そこで、この実施形態では、図8BのステップS11A〜S13の処理によって、検出操舵トルクTが指示操舵トルクT*よりも小さい場合に、加算角αをロータ角速度ωF以上に制限する加算角ガード処理が行われる。換言すれば、検出操舵トルクTが指示操舵トルクT*よりも小さいにも拘わらず、加算角αがロータ角速度ωF未満であれば、制御の目的に合致せず、矛盾が生じている。そこで、このような場合には、加算角αをロータ角速度ωF以上の値(この実施形態ではロータ角速度ωFに等しい値)に補正することとしている。むろん、加算角αをロータ角速度ωFよりも大きい値(たとえば所定値(変化制限値Aよりも小さな値)だけ大きな値)に補正してもよい。
同様に考察すると、検出操舵トルクTが指示操舵トルクT*よりも大きい場合とは、モータトルク(アシストトルク)が不足している状態である。したがって、モータトルクを増加させるために、負荷角θLを減少させればよい。つまり、加算角αがロータ角速度ωF以下であれば、検出操舵トルクTを指示操舵トルクT*に近づけることができる。そこで、この実施形態では、図8BのステップS16A,S17およびS13の処理によって、検出操舵トルクTが指示操舵トルクT*よりも大きい場合に、加算角αをロータ角速度ωF以下に制限する加算角ガード処理が行われる。換言すれば、検出操舵トルクTが指示操舵トルクT*よりも大きいにも拘わらず、加算角αがロータ角速度ωFを超えていれば、制御の目的に合致せず、矛盾が生じている。そこで、このような場合には、加算角αをロータ角速度ωF以下の値(この実施形態ではロータ角速度ωFに等しい値)に補正することとしている。むろん、加算角αをロータ角速度ωFよりも小さい値(たとえば所定値(変化制限値Aよりも小さな値)だけ小さな値)に補正してもよい。
さらに図8Bの処理では、検出操舵トルクTが指示操舵トルクT*よりも小さい場合(ステップS11A:YES)において、加算角αがロータ角速度ωFに変化制限値Aを加算した値よりも大きいときは(ステップS12:NO。ステップS14:YES)、加算角αを速度ωF+Aに補正することとしている(ステップS15)。これは、演算周期当たりのロータ角速度ωFよりも加算角αが過度に大きいと、加算角αを適値に収束させるのに時間がかかるからである。また、検出トルクTが指示トルクT*よりも大きい場合において、(ステップS16A:YES)において、加算角αがロータ角速度ωFから変化制限値Aを減算した値よりも小さいときは(ステップS17:NO。ステップS18:YES)、加算角αをωF−Aに補正することとしている(ステップS19)。これは、演算周期当たりのロータ角変位に相当する速度ωFよりも加算角αが過度に小さいと、加算角を適値に収束させるのに時間がかかる。このような補正を行うことにより、加算角αが適値に収束しやすくなるから、制御の安定化を図ることができ、制御異常が生じたときでも正常状態への復帰を効果的に促すことができる。
このような処理が行われることによって、検出操舵トルクTが指示操舵トルクT*よりも小さいときには、ωF+A≧α≧ωFの範囲に加算角αが制限され、検出操舵トルクTが指示操舵トルクT*よりも大きいときには、ωF≧α≧ωF−Aの範囲に加算角αが制限される。こうして、加算角αは、ロータ角速度ωFに応じた妥当な値をとることができる。
図9は、誘起電圧推定部28および回転角推定部29の構成を説明するためのブロック図である。誘起電圧推定部28は、二相検出電流Iαβと二相指示電圧Vαβ *とに基づいて、モータ3の誘起電圧を推定する。より具体的には、誘起電圧推定部28は、モータ3の数学モデルであるモータモデルに基づき、モータ3の誘起電圧を外乱として推定する外乱オブザーバとしての形態を有している。モータモデルは、たとえば、(R+pL)−1と表すことができる。ただし、Rは電機子巻線抵抗、Lはαβ軸インダクタンス、pは微分演算子である。モータ3には、二相指示電圧Vαβ *と誘起電圧Eαβ(α軸誘起電圧Eαおよびβ軸誘起電圧Eβ)とが印加されると考えることができる。
誘起電圧推定部28は、二相検出電流Iαβを入力としてモータ電圧を推定する逆モータモデル(モータモデルの逆モデル)65と、この逆モータモデル65によって推定されるモータ電圧と二相指示電圧Vαβ *との偏差を求める電圧偏差演算部66とで構成することができる。電圧偏差演算部66は、二相指示電圧Vαβ *に対する外乱を求めることになるが、図9から明らかなとおり、この外乱は誘起電圧Eαβに相当する推定値E^αβ(α軸誘起電圧推定値E^αおよびβ軸誘起電圧推定値E^β(以下、まとめて「推定誘起電圧E^αβ」という。)になる。逆モータモデル65は、たとえば、R+pLで表される。
誘起電圧Eαβは、次の(6)式で表すことができる。ただし、KEは誘起電圧定数、θMはロータ角、ωはロータ回転角速度である。
したがって、推定誘起電圧E^αβが求まれば、次の(7)式に従って、推定回転角θEが求まる。この演算が、回転角推定部29によって行われる。
図10は、ロータ角速度補正部42の構成を説明するためのブロック図である。ロータ角速度補正部42は、指示電流値監視部71と、電流急変前推定速度保持部72と、第1の乗算部73と、第2の乗算部74と、加算部75とを備えている。
指示電流値監視部71は、γ軸指示電流値Iγ *の演算周期当たりの変化量ΔIγ *を監視し、電流急変前推定速度保持部72、第1の乗算部73および第2の乗算部74を制御する。電流急変前推定速度保持部72は、指示電流値監視部71によってγ軸指示電流値Iγ *が急変したことが検出されたときに、その直前に速度推定用オブザーバ43によって演算されたロータ角速度ωnを、電流急変前推定速度ω0として保持する。第1の乗算部73は、速度推定用オブザーバ43によって演算されたロータ角速度ωnに、指示電流値監視部71によって制御される重み係数ξ(0≦ξ≦1)を乗算する。第2の乗算部74は、電流急変前推定速度保持部72に保持されている電流急変前推定速度ω0に、重み(1−ξ)を乗算する。加算部75は、第1の乗算部73の乗算結果と、第2の乗算部74の乗算結果とを加算することにより、最終的なロータ角速度ωFを算出する。なお、指示電流値監視部71は、γ軸指示電流値Iγ *の変化量ΔIγ *が所定のしきい値Th以上となったときに、γ軸指示電流値Iγ *が急変したことを検出する。
つまり、ロータ角速度補正部42は、γ軸指示電流値Iγ *が急変する直前に速度推定用オブザーバ43によって演算されたロータ角速度をω0、γ軸指示電流値Iγ *が急変した後に速度推定用オブザーバ43によって演算されたロータ角速度をωn、重み係数をξとすると、最終的なロータ角速度ωFを、次の(8)式に基づいて演算する。
ωF=ω0・(1−ξ)+ωn・ξ …(8)
重み係数ξは、通常は1に設定されている。γ軸指示電流値Iγ *が急変したことが検出されたときには、重み係数ξは0に設定された後、1となるまで漸増される。
図11は、ロータ角速度補正部42によるロータ角速度補正処理を説明するためのフローチャートである。このロータ角速度補正処理は、演算周期毎に繰り返される。重み係数ξの初期値は、1である。
まず、γ軸指示電流値Iγ *の急変に基づく補正処理が実行中であることを記憶するためのフラグFがセット(F=1)されているか否かが判別される(ステップS21)。このフラグFの初期値は0である。フラグFがセットされてないときには(ステップS21:NO)、γ軸指示電流値Iγ *の演算周期当たりの変化量ΔIγ *が所定のしきい値Th以上であるか否かが判別される(ステップS22)。変化量ΔIγ *がしきい値Th未満である場合には(ステップS22:NO)、前記式(8)に基づいて、最終的なロータ角速度ωFが算出される(ステップS23)。この場合には、重み係数ξは1となっているため、ωF=ωnとなる。つまり、速度推定用オブザーバ43によって演算されたロータ角速度ωnが、そのまま最終的なロータ角速度ωFとして出力される。ステップS23の処理が行なわれると、今演算周期での処理が終了する。
前記ステップS22において、γ軸指示電流値Iγ *の演算周期当たりの変化量ΔIγ *がしきい値Th以上であると判別された場合には(ステップS22:YES)、γ軸指示電流値Iγ *が急変したと判別され、フラグFがセット(F=1)される(ステップS24)。また、重み係数ξが0に設定される(ステップS25)。また、1演算周期前において速度推定用オブザーバ43によって演算されたロータ角速度ωnが、電流急変前推定速度ω0として設定される(ステップS26)。
そして、前記式(8)に基づいて、最終的なロータ角速度ωFが算出される(ステップS27)。ステップS26からS27に移行した場合には、重み係数ξは0となっているため、ωF=ω0となる。つまり、ステップS26からS27に移行した場合には、1演算周期前において速度推定用オブザーバ43によって演算されたロータ角速度ωn(電流急変前推定速度ω0)が、最終的なロータ角速度ωFとして用いられる。
この後、重み係数ξが、所定の増分Δξ(0<Δξ<1)だけ増加される(ステップS28)。この際、重み係数ξが増分Δξだけ増加された結果、重み係数ξが1を超える場合には、ξ=1とされる。次に、重み係数ξが1に達したか否かが判別される(ステップS29)。そして、重み係数ξが1に達していなければ(ステップS29:NO)、今演算周期での処理が終了する。一方、重み係数ξが1に達していれば、フラグFがリセット(F=0)された後(ステップS30)、今演算周期での処理が終了する。
前記ステップS21において、フラグFがセットされていると判別された場合には(ステップS21:YES)、ステップS27に移行する。ステップS27では、前記式(8)に基づいて、最終的なロータ角速度ωFが算出される。ステップS21からS27に移行した場合には、重み係数ξは0<ξ<1となっているため、ωFは、ωnに重みξが乗算された値と、ω0に重み(1−ξ)が乗算された値との和となる。
なお、重み係数ξは、時間の経過に伴って1まで漸増されるため、ωnに乗算される重みξが漸増し、ω0に乗算される重み(1−ξ)が漸減する。つまり、γ軸指示電流値Iγ *が急変した場合には、その直後においてはその急変前に速度推定用オブザーバ43によって演算されたロータ角速度ω0に大きな重みを置いて最終的なロータ角速度ωFが求められ、その後は徐々に、速度推定用オブザーバ43によって演算されるロータ角速度ωnの重みを大きくして最終的なロータ角速度ωFが求められる。このような最終的なロータ角速度ωFの演算方法は、速度推定用オブザーバ43によって演算されるロータ角速度ωnの精度(推定精度)が、γ軸指示電流値Iγ *の急変時に一時的に悪化するものの、その後は、徐々に回復していくことに適合している。このため、ロータ角速度補正部42によって演算される最終的なロータ角速度ωFは、速度推定用オブザーバ43によって演算されるロータ角速度ωnに比べて精度の高いものとなる。
たとえば、図12(a)に示すように、時点t1においてγ軸指示電流値Iγ *が急変したため、速度推定用オブザーバ43によって演算されたロータ角速度ωnが実線で示すように変化したとする。つまり、γ軸指示電流値Iγ *が急変すると、速度推定用オブザーバ43の速度推定精度が悪化し、速度推定用オブザーバ43によって演算されたロータ角速度ωnは信頼性のないものとなる。
この場合には、重み係数ξは、図12(b)に折れ線L1で示すように、時点t1において1から0に変化し、その後、漸増していき、時点t2で1となる。つまり、重み係数ξは、期間Tにわたって、0から1まで漸増する。したがって、ロータ角速度補正部42によって演算される最終的なロータ角速度ωFは、図12(a)に破線で示すように、時点t1では、その直前に速度推定用オブザーバ43によって演算されたロータ角速度ωnと等しくなり、その後に速度推定用オブザーバ43によって演算されるロータ角速度ωnに徐々に近づいていく。そして、時点t2では、最終的なロータ角速度ωFは、速度推定用オブザーバ43によって演算されるロータ角速度ωnと等しくなる。
なお、γ軸指示電流値Iγ *が急変した後のロータ角速度ωnの最初の極値と急変直前のロータ角速度ω0との差の絶対値Dに基づいて、重み係数ξの演算周期当たりの増分Δξを可変制御するようにしてもよい。つまり、絶対値Dが大きいほど、ロータ角速度の補正期間が長くなるように、重み係数ξの演算周期当たりの増分Δξを小さくする。絶対値Dに応じて増分Δξが規定値(期間Tで0から1まで変化するときの増分Δξ)より小さくされると、重み係数ξは、たとえば、図12(b)に破線L2で示すように変化し、ロータ角速度の補正期間が長くなる。
以上、この発明の一実施形態について説明したが、この発明はさらに他の形態で実施することもできる。たとえば、前述の実施形態では、ロータ角速度補正部42は、指示電流値(γ軸指示電流値Iγ *)を監視し、指示電流値が急変した場合に、速度推定用オブザーバ43によって演算されるロータ角速度ωnを補正している。しかし、ロータ角速度補正部42は、前述した補正に加えてまたはその補正に代えて、電流検出部13によって検出される検出電流値(モータ3の各相のステータ巻線51,52,53に流れる相電流IUVWの検出値またはその座標変換値Iαβ)を監視し、検出電流値が急変した場合に、速度推定用オブザーバ43によって演算されるロータ角速度ωnを補正するようにしてもよい。検出電流値は、たとえば、路面からの外乱によって急変する場合がある。
また、前述の実施形態では、回転角センサを備えずに、専らセンサレス制御によってモータ3を駆動する構成について説明したが、レゾルバ等の回転角センサを備え、この回転角センサの故障時に前述のようなセンサレス制御を行う構成としてもよい。これにより、回転角センサの故障時にもモータ3の駆動を継続できるから、操舵補助を継続できる。
この場合、回転角センサを用いるときには、指示電流値生成部31において、操舵トルクおよび車速に応じて、所定のアシスト特性に従ってδ軸指示電流値Iδ *を発生させるようにすればよい。
さらに、前述の実施形態では、電動パワーステアリング装置にこの発明が適用された例について説明したが、この発明は、電動ポンプ式油圧パワーステアリング装置のためのモータの制御や、パワーステアリング装置以外にも、ステア・バイ・ワイヤ(SBW)システム、可変ギヤレシオ(VGR)ステアリングシステムその他の車両用操舵装置に備えられたブラシレスモータの制御のために用いることができる。むろん、車両用操舵装置に限らず、他の用途のモータの制御のためにも本発明のモータ制御装置を適用できる。
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。