上記のセンサレス駆動方式は、誘起電圧やセンシング信号を用いてロータの回転位置を推定し、その推定によって得られた回転位置に基づいてモータを制御するものである。しかし、この駆動方式は、いずれの用途にも適しているわけではなく、たとえば、車両の舵取り機構に操舵補助力を与える電動パワーステアリング装置その他の車両用操舵装置の駆動源として用いられるブラシレスモータの制御に適用するための手法は未だ確立されていない。そのため、別の方式によるセンサレス制御の実現が望まれている。
そこで、この発明の目的は、回転角センサを用いない新たな制御方式でモータを制御することができるモータ制御装置およびそれを備えた車両用操舵装置を提供することである。
上記の目的を達成するための請求項1記載の発明は、ロータ(50)と、このロータに対向するステータ(55)とを備えたモータ(3)を制御するためのモータ制御装置(5)であって、制御上の回転角である制御角(θC)に従う回転座標系の軸電流値(Iγ)で前記モータを駆動する電流駆動手段(31〜33,34A,34B,35,36A,36B)と、前記制御角に加算すべき加算角(α)を演算する加算角演算手段(22,23)と、所定の演算周期毎に、前記加算角演算手段によって演算された加算角を制御角の前回値に加算することによって、制御角の今回値を求める制御角演算手段(26)と、前記ロータの角速度またはそれに対応する値を求める手段(28,29,30,37)と、前記ロータの角速度またはそれに対応する値に応じて前記加算角を補正する加算角補正手段(41)と、前記ロータの角速度またはそれに対応する値に基づいて、前記軸電流値の目標値である指示電流値(Iγ *)を設定する指示電流設定手段(31)とを含み、前記指示電流設定手段は、前記ロータの角速度またはそれに対応する値が小さいときに、指示電流値を第1の指示電流値(IL)に設定し、前記ロータの角速度またはそれに対応する値が大きいときに、指示電流値を前記第1の指示電流値より大きな第2の指示電流値(IU)に設定するものである、モータ制御装置である。なお、括弧内の英数字は後述の実施形態における対応構成要素等を表すが、むろん、この発明の範囲は当該実施形態に限定されない。以下、この項において同じ。
この構成によれば、制御角に従う回転座標系(γδ座標系。以下「仮想回転座標系」といい、この仮想回転座標系の座標軸を「仮想軸」という。)の軸電流値(以下「仮想軸電流値」という。)によってモータが駆動される一方で、制御角は、演算周期毎に加算角を加算することによって更新される。これにより、制御角を更新しながら、すなわち、仮想回転座標系の座標軸(仮想軸)を更新しながら、仮想軸電流値でモータを駆動することによって、必要なトルクを発生させることができる。こうして、回転角センサを用いることなく、モータから適切なトルクを発生させることができる。
さらに、この発明では、ロータの角速度またはそれに対応する値が求められる。そして、加算角補正手段により、ロータの角速度またはそれに対応する値に応じて加算角が補正される。また、指示電流設定手段により、ロータの角速度またはそれに対応する値に基づいて、軸電流値の目標値である指示電流値が設定される。指示電流設定手段は、ロータの角速度またはそれに対応する値が小さいときに、指示電流値を第1の指示電流値に設定し、ロータの角速度またはそれに対応する値が大きいときに、指示電流値を第1の指示電流値より大きな第2の指示電流値に設定する。
ロータの角速度またはそれに対応する値を検出する場合、ロータの角速度またはそれに対応する値が小さいときには、ロータの角速度またはそれに対応する値が大きいときに比べて、検出誤差が発生する可能性が高い。したがって、ロータの角速度またはそれに対応する値が大きいときには、加算角補正手段による加算角補正が適切に行われるが、ロータの角速度またはそれに対応する値が小さいときには、加算角補正手段による加算角補正が適切に行われないおそれがある。
この発明では、ロータの角速度またはそれに対応する値が小さいとき、つまり、加算角補正手段による加算角補正が適切に行われないおそれがあるときには、指示電流値を比較的小さな第1の指示電流値に設定できるから、加算角補正が適切に行われないことによる悪影響を低減させることができる。一方、ロータの角速度またはそれに対応する値が大きいとき、つまり、加算角補正手段による加算角補正が適切に行われるときには、指示電流値を比較的大きな第2の指示電流値に設定できるから、適切なモータ制御を効率よく行わせることができる。
請求項2記載の発明は、前記指示電流設定手段は、前記第1の指示電流値と前記第2の指示電流値との間で指示電流値が滑らかに変化するように、指示電流値を設定するものである、請求項1に記載のモータ制御装置である。この構成によれば、ロータの角速度またはそれに対応する値が変化することによって、第1の指示電流値と第2の指示電流値との間において指示電流値が切り換るときに、モータトルクを滑らかに変化させることができる。
請求項3記載の発明は、前記ロータの角速度に対応する値が、前記モータの誘起電圧の大きさに関連する値である請求項1または2に記載のモータ制御装置である。この構成では、指示電流設定手段により、モータの誘起電圧の大きさに関連する値に基づいて、軸電流値の目標値である指示電流値が設定される。この場合、前記ロータの角速度に対応する値を求める手段は、たとえば、前記モータの誘起電圧を推定し、推定された誘起電圧の二乗和(Σ)を演算する手段(37)を含むものであってもよい。前記ロータの角速度に対応する値は、モータの誘起電圧の大きさ、その比例値、またはその大きさを用いた各種演算値でもよい。
請求項4記載の発明は、車両の舵取り機構(2)に駆動力を付与するモータ(3)と、前記モータを制御するための、請求項1〜3のいずれか一項に記載のモータ制御装置とを含む、車両用操舵装置である。この構成によれば、加算角補正手段による加算角補正が適切に行われないおそれがあるときには、加算角補正が適切に行われないことによる悪影響を低減させることができる。一方、加算角補正手段による加算角補正が適切に行われるときには、適切なモータ制御を効率よく行わせることができる。これにより、操舵フィーリングのよい車両用操舵装置を提供できる。
前記モータ制御装置は、モータによって駆動される駆動対象に加えられる、モータトルク以外のトルク(T)を検出するためのトルク検出手段(1)と、前記駆動対象に加えられるべき指示トルク(T*:モータトルク以外のトルクの指示値)を設定する指示トルク設定手段(21)とをさらに含んでいてもよい。この場合、前記加算角演算手段は、たとえば、トルク検出手段によって検出されるトルクを指示トルクに一致させるべく、加算角を演算するように動作する。これにより、指示トルクに応じたトルク(モータトルク以外のトルク)が駆動対象に加えられる状態となるように、モータトルクが制御される。モータトルクは、ロータの磁極方向に従う回転座標系(dq座標系)の座標軸と前記仮想軸とのずれ量である負荷角に対応する。負荷角は、制御角とロータ角との差で表される。モータトルクの制御は、負荷角を調整することによって達成され、この負荷角の調整が加算角を制御することによって達成される。
前記モータ制御装置は、前記モータの駆動値に基づいて、所定時間間隔毎に前記ロータの角速度を演算する角速度演算手段(28,29,30)を含み、前記加算角補正手段は、前記角速度演算手段によって演算されるロータ角速度に基づいて加算角を補正するものであってもよい。また、前記加算角補正手段は、たとえば、ロータ角速度に基づいて定められる所定範囲内の値となるように加算角を補正するものであってもよい。さらに、前記加算角補正手段は、指示トルクと検出トルクとを比較し、その比較結果に応じて加算角を増減する手段を含んでいてもよい。
制御角は、演算周期間で加算角だけ変化する。つまり、演算周期当たりの制御角の変化は加算角に等しい。前記角速度演算手段が演算周期当たりのロータの角変位をロータ角速度として演算するものであるとすると、加算角がロータ角速度よりも大きいとき、負荷角が増加する。したがって、負荷角とモータトルクとに正の相関がある場合、負荷角の増加に応じてモータトルクが増加する。また、負荷角とモータトルクとに負の相関がある場合には、負荷角の増加に応じてモータトルクが減少する。このように、負荷角とモータトルクとの間には相関関係がある。
駆動対象に対して全体として或るトルクを作用させるべき場合(たとえば、モータトルクによって不足のトルクが補われる場合)、モータトルクが増加することによって、駆動対象に加えられるモータトルク以外のトルクが減少するので、検出トルクが減少することになる。一方、モータトルクが減少すれば、駆動対象に加えられるモータトルク以外のトルクが増加するので、検出トルクが増加することになる。したがって、指示トルクと検出トルクとの大小関係と、ロータ角速度と加算角との大小関係とが適切であれば、検出トルクを指示トルクへと近づけることができる。そこで、加算角補正手段は、検出トルクが指示トルクとの比較結果に応じて、ロータ角速度に基づいて定められる所定範囲の値となるように加算角を補正する。
より具体的には、負荷角とモータトルクとに正の相関がある場合、前記加算角補正手段は、前記検出トルクが前記指示トルクよりも大きいときには、前記加算角を前記角速度演算手段によって演算されたロータ角速度以上の値に補正し、前記検出トルクが前記指示トルクよりも小さいときには、前記加算角を前記角速度演算手段によって演算されたロータ角速度以下の値に補正することが好ましい。
負荷角とモータトルクとに正の相関がある場合には、検出トルクが指示トルクよりも大きい場合には、演算周期当たりのロータ角変位(ロータ角速度)よりも加算角が大きければ、検出トルクを指示トルクへと近づけることができる。そこで、加算角補正手段は、検出トルクが指示トルクよりも大きい場合において、加算角がロータ角速度よりも小さいときには、加算角をロータ角速度以上の値に補正する。また、検出トルクが指示トルクよりも小さい場合には、ロータ角速度よりも加算角が小さければ、検出トルクを指示トルクへと近づけることができる。そこで、加算角補正手段は、検出トルクが指示トルクよりも小さい場合において、加算角がロータ角速度よりも大きいときには、加算角をロータ角速度以下の値に補正する。
このようにして、検出トルクと指示トルクとの大小関係に応じて、加算角を妥当な値に補正することができるので、検出トルクを指示トルクに近づけるように、妥当な制御を行うことができる。
また、負荷角とモータトルクとに正の相関がある場合に、検出トルクが指示トルクよりも大きいときに、ロータ角速度よりも加算角が過度に大きいと、加算角を適値に収束させるのに時間がかかる。また、検出トルクが指示トルクよりも小さいときに、ロータ角速度よりも加算角が過度に小さいと、加算角を適値に収束させるのに時間がかかる。そこで、前記加算角補正手段は、前記検出トルクが前記指示トルクよりも大きいときには、前記加算角を前記角変位演算手段によって演算された角変位よりも所定の変化制限値だけ大きい値以下の値に補正し、前記検出トルクが前記指示トルクよりも小さいときには、前記加算角を前記角速度演算手段によって演算されたロータ角速度よりも所定の変化制限値だけ小さい値以上の値に補正することが好ましい。これにより、加算角が適値に収束しやすくなるので、制御の安定化を図ることができ、制御異常が生じたときでも正常状態への復帰を効果的に促すことができる。
一方、負荷角とモータトルクとに負の相関がある場合、前記加算角補正手段は、前記検出トルクが前記指示トルクよりも小さいときには、前記加算角を前記角速度演算手段によって演算されたロータ角速度以上の値に補正し、前記検出トルクが前記指示トルクよりも大きいときには、前記加算角を前記角速度演算手段によって演算されたロータ角速度以下の値に補正することが好ましい。
負荷角とモータトルクとに負の相関がある場合には、検出トルクが指示トルクよりも小さい場合に、演算周期当たりのロータ角変位(ロータ角速度)よりも加算角が大きければ、検出トルクを指示トルクへと近づけることができる。そこで、加算角補正手段は、検出トルクが指示トルクよりも小さい場合において、加算角がロータ角速度よりも小さいときには、加算角をロータ角速度以上の値に補正する。また、検出トルクが指示トルクよりも大きい場合に、ロータ角速度よりも加算角が小さければ、検出トルクを指示トルクへと近づけることができる。そこで、加算角補正手段は、検出トルクが指示トルクよりも大きい場合において、加算角がロータ角速度よりも大きいときには、加算角をロータ角速度以下の値に補正する。
このようにして、検出トルクと指示トルクとの大小関係に応じて、加算角を妥当な値に補正することができるので、検出トルクを指示トルクに近づけるように、妥当な制御を行うことができる。
また、負荷角とモータトルクとに負の相関がある場合に、検出トルクが指示トルクよりも小さいときに、ロータ角速度よりも加算角が過度に大きいと、加算角を適値に収束させるのに時間がかかる。また、検出トルクが指示トルクよりも大きいときに、ロータ角速度よりも加算角が過度に小さいと、加算角を適値に収束させるのに時間がかかる。そこで、前記加算角補正手段は、前記検出トルクが前記指示トルクよりも小さいときには、前記加算角を前記角変位演算手段によって演算された角変位よりも所定の変化制限値だけ大きい値以下の値に補正し、前記検出トルクが前記指示トルクよりも大きいときには、前記加算角を前記角速度演算手段によって演算されたロータ角速度よりも所定の変化制限値だけ小さい値以上の値に補正することが好ましい。これにより、加算角が適値に収束しやすくなるので、制御の安定化を図ることができ、制御異常が生じたときでも正常状態への復帰を効果的に促すことができる。
前記モータ制御装置は、前記加算角を所定の制限値(ω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と、誘起電圧二乗和演算部37と、トルク偏差監視部40と、加算角ガード41とが含まれている。
指示操舵トルク設定部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の角変位Δθ(ロータ角速度に相当する値)を求める。
誘起電圧二乗和演算部37は、誘起電圧推定部28によって求められる推定誘起電圧の二乗和を求める。誘起電圧推定部28は、たとえば、α軸推定誘起電圧E^αおよびβ軸推定誘起電圧E^βを求める。この場合に、誘起電圧二乗和演算部37は、誘起電圧二乗和Σ=E^α 2+E^β 2(≧0)を演算する。
指示電流値生成部31は、制御上の回転角である前記制御角θCに対応する仮想回転座標系であるγδ座標系の座標軸(仮想軸)に流すべき電流値を指示電流値として生成するものである。具体的には、γ軸指示電流値Iγ *およびδ軸指示電流値Iδ *(以下、これらを総称するときには「二相指示電流値Iγδ *」という。)を生成する。指示電流値生成部31は、γ軸指示電流値Iγ *を有意値とする一方で、δ軸指示電流値Iδ *を零とする。より具体的には、指示電流値生成部31は、トルクセンサ1によって検出される検出操舵トルクTと、誘起電圧二乗和演算部37によって演算される誘起電圧二乗和Σとに基づいてγ軸指示電流値Iγ *を設定する。詳しくは、指示電流値生成部31は、検出操舵トルクTに基づいてγ軸指示電流値Iγ *を求めるとともに、誘起電圧二乗和Σに基づいてγ軸指示電流値Iγ *を求め、両者のうちの小さい方を、最終的なγ軸指示電流値Iγ *として設定する。
図6Aは、検出操舵トルクTに対するγ軸指示電流値Iγ *の設定例を示している。検出操舵トルクTの絶対値|T|が零付近の範囲LEでは、γ軸指示電流値Iγ *は小さい値に設定される。そして、γ軸指示電流値Iγ *は、検出操舵トルクTの絶対値|T|が零付近の範囲LEを超えると、急峻に立ち上がり、所定のトルク絶対値以上でほぼ一定となるように設定される。このような特性は、運転者がステアリングホイール10を操作していないときには、γ軸指示電流値Iγ *を低減させて、不必要な電力消費を抑制することを意図して設定されている。
図6Bは、誘起電圧二乗和Σに対するγ軸指示電流値Iγ *の設定例を示している。誘起電圧二乗和Σが所定値D1以下のときには、γ軸指示電流値Iγ *は、小さな値ILに設定される。一方、誘起電圧二乗和Σが所定値D1より大きな所定値D2以上のときには、γ軸指示電流値Iγ *は、ILより大きな値IUに設定される。そして、誘起電圧二乗和Σが所定値D1から所定値D2までの範囲では、γ軸指示電流値Iγ *は、所定値ILから所定値IUまで滑らかに(図6Bの例ではリニアに)増加する。
後述するように、加算角ガード41は、ロータ角変位演算部30によって演算されるロータ角変位Δθに基づいて、加算角αを補正する。誘起電圧二乗和Σが比較的大きく、従ってロータ角速度が比較的高速であるときには、ロータ角変位演算部30によって演算されるロータ角変位Δθの信頼性が高い。そのため、この場合には、加算角ガード41による加算角補正が適切に行われる。そこで、図6Bの設定例では、誘起電圧二乗和Σが比較的大きい場合には、γ軸指示電流値Iγ *を比較的大きな値IUに設定している。これにより、必要なアシストトルクが得られるようになり、適切な操舵補助制御が行なわれる。一方、誘起電圧二乗和Σが比較的小さく、従ってロータ角速度が低速であるときには、ロータ角変位演算部30によって演算されるロータ角変位Δθの信頼性が低い。そのため、この場合には、加算角ガード41による加算角補正が適切に行われないおそれがある。そこで、図6Bの設定例では、誘起電圧二乗和Σが比較的小さい場合には、γ軸指示電流値Iγ *を比較的小さな値ILに設定している。これにより、モータ3によって発生するアシストトルクが制限されるから、加算角補正が適切に行われないことによる悪影響を低減させることができる。
また、誘起電圧二乗和Σが所定値D1から所定値D2までの範囲では、γ軸指示電流値Iγ *は、所定値ILから所定値IUまで滑らかに変化するので、γ軸指示電流値Iγ *が所定値ILと所定値IUの間において切り換わるときに、アシストトルクを滑らかに変化させることができる。
指示電流値生成部31は、図6Aに示すような設定例に基づき、検出操舵トルクTに対応するγ軸指示電流値Iγ *を求めるとともに、図6Bに示すような設定例に基づき、誘起電圧二乗和Σに対応するγ軸指示電流値Iγ *を求める。そして、指示電流値生成部31は、求めた2つのγ軸指示電流値Iγ *のうちの小さい方を、最終的なγ軸指示電流値Iγ *として設定する。したがって、図6Aの特性による利点と、図6Bの特性による利点の両方を活かした制御を行なうことが可能となる。
電流偏差演算部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に与えられるようになっている。
加算角ガード41は、PI制御部23が生成する加算角αに対して加算角ガード処理を施すためのものである。加算角ガード処理とは、PI制御部23によって生成された加算角αが、指示操舵トルクT*と検出操舵トルクTとの大小関係と矛盾する場合に、この矛盾を解消するように加算角αを補正する処理である。より具体的には、加算角ガード41は、必要時において、ロータ角変位演算部30によって求められるロータ角変位Δθに基づいて加算角αを補正する。
図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によって求められた加算角αが、ロータ角変位演算部30によって求められた演算周期当たりのロータ角変位Δθよりも小さいかどうかを判断する(ステップS12)。この判断が肯定されると、加算角ガード41は、加算角αにロータ角変位Δθを代入する(ステップS13)。すなわち、加算角αがロータ角変位Δθに補正される。加算角αがロータ角変位Δθ以上であれば(ステップS12:NO)、加算角ガード41は、さらに、加算角αを、ロータ角変位Δθよりも所定の変化制限値A(A>0。たとえばA=7deg)だけ大きな値(Δθ+A)と比較する(ステップS14)。加算角αが当該値(Δθ+A)よりも大きいときには(ステップS14:YES)、加算角ガード41は、加算角αに当該値(Δθ+A)を代入する(ステップS15)。加算角αが当該値(Δθ+A)以下であれば(ステップS14:NO)、加算角αの補正は行われない。
一方、検出操舵トルクTが指示操舵トルクT*よりも小さいとき(ステップS11:NO。ステップS16:YES)、加算角ガード41は、PI制御部23によって求められた加算角αがロータ角変位Δθよりも大きいかどうかを判断する(ステップS17)。この判断が肯定されると、加算角ガード41は、加算角αにロータ角変位Δθを代入し(ステップS13)、加算角αをロータ角変位Δθに補正する。加算角αがロータ角変位Δθ以下であれば(ステップS17:NO)、加算角ガード41は、さらに、加算角αを、ロータ角変位Δθよりも前記変化制限値Aだけ小さな値(Δθ−A)と比較する(ステップS18)。加算角αが当該値(Δθ−A)よりも小さいときには(ステップS18:YES)、加算角ガード41は、加算角αに当該値(Δθ−A)を代入する(ステップS19)。加算角αが当該値(Δθ−A)以上であれば(ステップS18:NO)、加算角αの補正は行われない。
また、検出操舵トルクTが指示操舵トルクT*に等しいとき(ステップS11およびステップS16の判断がいずれも否定)、加算角αの補正は行われない。
加算角αは、演算周期間の制御角θCの変化量であり、γδ座標軸の演算周期当たりの角変位(ロータ角速度に相当する。)に等しい。よって、加算角αが演算周期当たりのロータ角変位Δθよりも大きければ負荷角θLが大きくなり、加算角αがロータ角変位Δθよりも小さければ負荷角θLが小さくなる。そして、負荷角θLとモータトルク(アシストトルク)とに正の相関がある場合には、負荷角θLが大きくなればモータトルクが大きくなり、負荷角θLが小さくなればモータトルクが小さくなる。
一方、検出操舵トルクTが指示操舵トルクT*よりも大きい場合とは、モータトルク(アシストトルク)が不足している状態である。したがって、モータトルクを増加させるために、負荷角θLを増加させればよい。つまり、加算角αがロータ角変位Δθ以上であれば、検出操舵トルクTを指示操舵トルクT*に近づけることができる。そこで、この実施形態では、図8AのステップS11〜S13の処理によって、検出操舵トルクTが指示操舵トルクT*よりも大きい場合に、加算角αをロータ角変位Δθ以上に制限する加算角ガード処理が行われる。換言すれば、検出操舵トルクTが指示操舵トルクT*よりも大きいにも拘わらず、加算角αがロータ角変位Δθ未満であれば、制御の目的に合致せず、矛盾が生じている。たとえば、PI制御部23の応答性によっては、このような状況が生じ得る。そこで、このような場合には、加算角αをロータ角変位Δθ以上の値(この実施形態ではロータ角変位Δθに等しい値)に補正することとしている。むろん、加算角αをロータ角変位Δθよりも大きい値(たとえば所定値(変化制限値Aよりも小さな値)だけ大きな値)に補正してもよい。
同様に考察すると、検出操舵トルクTが指示操舵トルクT*よりも小さい場合とは、モータトルク(アシストトルク)が過剰となっている状態である。したがって、モータトルクを減少させるために、負荷角θLを減少させればよい。つまり、加算角αがロータ角変位Δθ以下であれば、検出操舵トルクTを指示操舵トルクT*に近づけることができる。そこで、この実施形態では、図8AのステップS16,S17およびS13の処理によって、検出操舵トルクTが指示操舵トルクT*よりも小さい場合に、加算角αをロータ角変位Δθ以下に制限する加算角ガード処理が行われる。換言すれば、検出操舵トルクTが指示操舵トルクT*よりも小さいにも拘わらず、加算角αがロータ角変位Δθを超えていれば、制御の目的に合致せず、矛盾が生じている。たとえば、PI制御部23の応答性によっては、このような状況が生じ得る。そこで、このような場合には、加算角αをロータ角変位Δθ以下の値(この実施形態ではロータ角変位Δθに等しい値)に補正することとしている。むろん、加算角αをロータ角変位Δθよりも小さい値(たとえば所定値(変化制限値Aよりも小さな値)だけ小さな値)に補正してもよい。
さらにこの実施形態では、検出操舵トルクTが指示操舵トルクT*よりも大きい場合(ステップS11:YES)において、加算角αがロータ角変位Δθに変化制限値Aを加算した値よりも大きいときは(ステップS12:NO。ステップS14:YES)、加算角αをΔθ+Aに補正することとしている(ステップS15)。これは、演算周期当たりのロータ角変位Δθよりも加算角αが過度に大きいと、加算角αを適値に収束させるのに時間がかかるからである。また、検出トルクTが指示トルクT*よりも小さい場合において、(ステップS16:YES)において、加算角αがロータ角変位Δθから変化制限値Aを減算した値よりも小さいときは(ステップS17:NO。ステップS18:YES)、加算角αをΔθ−Aに補正することとしている(ステップS19)。これは、演算周期当たりのロータ角変位Δθよりも加算角αが過度に小さいと、加算角を適値に収束させるのに時間がかかる。このような補正を行うことにより、加算角αが適値に収束しやすくなるから、制御の安定化を図ることができ、制御異常が生じたときでも正常状態への復帰を効果的に促すことができる。
このように、図8Aのガード処理では、検出操舵トルクTが指示操舵トルクT*よりも大きいときには、Δθ+A≧α≧Δθの範囲に加算角αが制限され、検出操舵トルクTが指示操舵トルクT*よりも小さいときには、Δθ≧α≧Δθ−Aの範囲に加算角αが制限される。こうして、加算角αは、ロータ角変位Δθに応じた妥当な値をとることができる。
負荷角θLとモータトルク(アシストトルク)とが負の相関を有する領域で負荷角θLが調整されるように、加算角αが制御される場合の加算角ガード処理の例を図8Bに示す。図8Bにおいて、図8Aに示された各ステップと同様の処理が行われるステップには、図8A中と同一参照符号を付して示す。
図8Bに示す処理では、検出操舵トルクTと指示操舵トルクT*との大小関係に応じた処理が、図8Aの処理とは逆になっている。すなわち、検出操舵トルクTが指示操舵トルクT*よりも小さいとき(ステップS11A:YES)、加算角ガード41は、加算角αが、ロータ角変位Δθよりも小さいかどうかを判断する(ステップS12)。この判断が肯定されると、加算角ガード41は、加算角αにロータ角変位Δθを代入する(ステップS13)。すなわち、加算角αがロータ角変位Δθに補正される。加算角αがロータ角変位Δθ以上であれば(ステップS12:NO)、加算角ガード41は、さらに、加算角αを、ロータ角変位よりも変化制限値Aだけ大きな値(Δθ+A)と比較する(ステップS14)。加算角αが当該値(Δθ+A)よりも大きいときには(ステップS14:YES)、加算角ガード41は、加算角αに当該値(Δθ+A)を代入する(ステップS15)。加算角αが当該値(Δθ+A)以下であれば(ステップS14:NO)、加算角αの補正は行われない。
一方、検出操舵トルクTが指示操舵トルクT*よりも大きいとき(ステップS11A:NO。ステップS16A:YES)、加算角ガード41は、加算角αがロータ角変位Δθよりも大きいかどうかを判断する(ステップS17)。この判断が肯定されると、加算角ガード41は、加算角αにロータ角変位Δθを代入し(ステップS13)、加算角αをロータ角変位Δθに補正する。加算角αがロータ角変位Δθ以下であれば(ステップS17:NO)、加算角ガード41は、さらに、加算角αを、ロータ角変位Δθよりも前記変化制限値Aだけ小さな値(Δθ−A)と比較する(ステップS18)。加算角αが当該値(Δθ−A)よりも小さいときには(ステップS18:YES)、加算角ガード41は、加算角αに当該値(Δθ−A)を代入する(ステップS19)。加算角αが当該値(Δθ−A)以上であれば(ステップS18:NO)、加算角αの補正は行われない。
また、検出操舵トルクTが指示操舵トルクT*に等しいとき(ステップS11AおよびステップS16Aの判断がいずれも否定)、加算角αの補正は行われない。
負荷角θLとモータトルク(アシストトルク)とに負の相関がある場合には、負荷角θLが大きくなればモータトルクが小さくなり、負荷角θLが小さくなればモータトルクが大きくなる。
一方、検出操舵トルクTが指示操舵トルクT*よりも小さい場合とは、モータトルク(アシストトルク)が過剰な状態である。したがって、モータトルクを減少させるために、負荷角θLを増加させればよい。つまり、加算角αがロータ角変位Δθ以上であれば、検出操舵トルクTを指示操舵トルクT*に近づけることができる。そこで、この実施形態では、図8BのステップS11A〜S13の処理によって、検出操舵トルクTが指示操舵トルクT*よりも小さい場合に、加算角αをロータ角変位Δθ以上に制限する加算角ガード処理が行われる。換言すれば、検出操舵トルクTが指示操舵トルクT*よりも小さいにも拘わらず、加算角αがロータ角変位Δθ未満であれば、制御の目的に合致せず、矛盾が生じている。そこで、このような場合には、加算角αをロータ角変位Δθ以上の値(この実施形態ではロータ角変位Δθに等しい値)に補正することとしている。むろん、加算角αをロータ角変位Δθよりも大きい値(たとえば所定値(変化制限値Aよりも小さな値)だけ大きな値)に補正してもよい。
同様に考察すると、検出操舵トルクTが指示操舵トルクT*よりも大きい場合とは、モータトルク(アシストトルク)が不足している状態である。したがって、モータトルクを増加させるために、負荷角θLを減少させればよい。つまり、加算角αがロータ角変位Δθ以下であれば、検出操舵トルクTを指示操舵トルクT*に近づけることができる。そこで、この実施形態では、図8BのステップS16A,S17およびS13の処理によって、検出操舵トルクTが指示操舵トルクT*よりも大きい場合に、加算角αをロータ角変位Δθ以下に制限する加算角ガード処理が行われる。換言すれば、検出操舵トルクTが指示操舵トルクT*よりも大きいにも拘わらず、加算角αがロータ角変位Δθを超えていれば、制御の目的に合致せず、矛盾が生じている。そこで、このような場合には、加算角αをロータ角変位Δθ以下の値(この実施形態ではロータ角変位Δθに等しい値)に補正することとしている。むろん、加算角αをロータ角変位Δθよりも小さい値(たとえば所定値(変化制限値Aよりも小さな値)だけ小さな値)に補正してもよい。
さらに図8Bの処理では、検出操舵トルクTが指示操舵トルクT*よりも小さい場合(ステップS11A:YES)において、加算角αがロータ角変位Δθに変化制限値Aを加算した値よりも大きいときは(ステップS12:NO。ステップS14:YES)、加算角αをΔθ+Aに補正することとしている(ステップS15)。これは、演算周期当たりのロータ角変位Δθよりも加算角αが過度に大きいと、加算角αを適値に収束させるのに時間がかかるからである。また、検出トルクTが指示トルクT*よりも大きい場合において、(ステップS16A:YES)において、加算角αがロータ角変位Δθから変化制限値Aを減算した値よりも小さいときは(ステップS17:NO。ステップS18:YES)、加算角αをΔθ−Aに補正することとしている(ステップS19)。これは、演算周期当たりのロータ角変位Δθよりも加算角αが過度に小さいと、加算角を適値に収束させるのに時間がかかる。このような補正を行うことにより、加算角αが適値に収束しやすくなるから、制御の安定化を図ることができ、制御異常が生じたときでも正常状態への復帰を効果的に促すことができる。
このような処理が行われることによって、検出操舵トルクTが指示操舵トルクT*よりも小さいときには、Δθ+A≧α≧Δθの範囲に加算角αが制限され、検出操舵トルクTが指示操舵トルクT*よりも大きいときには、Δθ≧α≧Δθ−Aの範囲に加算角αが制限される。こうして、加算角αは、ロータ角変位Δθに応じた妥当な値をとることができる。
図9は、誘起電圧推定部28の構成を説明するためのブロック図である。誘起電圧推定部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によって行われる。
また、誘起電圧二乗和演算部37は、推定誘起電圧に基づき、次式(8)の演算を行なうことにより、誘起電圧二乗和Σを求める。
Σ=E^ α 2+E^ β 2 ……(8)
以上、この発明の一実施形態について説明したが、この発明はさらに他の形態で実施することもできる。たとえば、前述の実施形態では、誘起電圧二乗和Σに対するγ軸指示電流値Iγ *の特性は、図6Bに示されているように、誘起電圧二乗和Σが所定値D1から所定値D2までの範囲では、γ軸指示電流値Iγ *が所定値ILから所定値IUまで滑らかに増加する特性を有している。しかし、誘起電圧二乗和Σに対するγ軸指示電流値Iγ *の特性は、図6Bに点線で示されるような特性であってもよい。すなわち、誘起電圧二乗和Σが所定値D3以下の範囲では、γ軸指示電流値Iγ *は小さな値ILに設定される。一方、誘起電圧二乗和Σが所定値D3より大きな範囲では、γ軸指示電流値Iγ *は大きな値IUに設定される。図6Bの点線に示されるような特性に基づいて、誘起電圧二乗和Σに対するγ軸指示電流値Iγ *が設定される場合には、指示電流値生成部31によって設定されるγ軸指示電流値Iγ *が急激に大きく変化するおそれがある。そこで、γ軸指示電流値Iγ *が所定値ILと所定値IUとの間で切換えられるときには、γ軸指示電流値Iγ *が切替前の指示電流値から切替後の指示電流値に滑らかに変化するように、γ軸指示電流値Iγ *に対して時間的なローパスフィルタ(LPF)処理を行なうことが好ましい。
また、指示電流値生成部31は、図6Aの特性に従って求められるγ軸指示電流値Iγ *の基本値に、図6Cで示されているようなゲインG(0<G≦1)を乗算することにより、最終的なγ軸指示電流値Iγ *を設定するようにしてもよい。γ軸指示電流値Iγ *の基本値に乗じられるゲインは、図6Cに示されているように、誘起電圧二乗和Σが所定値D1以下のときには、小さな値GL(例えば、0.1)に設定される。一方、誘起電圧二乗和Σが所定値D1より大きな所定値D2以上のときには、GLより大きな値GU(=1.0)に設定される。そして、誘起電圧二乗和Σが所定値D1から所定値D2までの範囲では、ゲインGは、所定値GLから所定値GUまで滑らかに(図6Cの例ではリニアに)増加する。
また、前記実施形態では、指示電流値生成部31は、検出操舵トルクTと誘起電圧二乗和Σとに基づいてγ軸指示電流値Iγ *を設定しているが、誘起電圧二乗和Σのみに基づいて、γ軸指示電流値Iγ *を設定するようにしてもよい。この場合、指示電流値生成部31は、たとえば、図6Bに実線または点線で示す特性に基づいて、γ軸指示電流値Iγ *を設定する。
また、誘起電圧二乗和Σの代わりに、誘起電圧二乗和Σを1/2乗した値(Σ1/2)を用いるようにしてもよい。また、ロータ角速度(ロータ角変位)を、舵角センサ4によって検出される操舵角を時間微分することによって、求めるようにしてもよい。また、ロータ50の回転角を、モータに取り付けたホールセンサ等の簡易的な位置センサで検出することによって、ロータ角速度(ロータ角変位)を演算するようにしてもよい。
また、前述の実施形態では、回転角センサを備えずに、専らセンサレス制御によってモータ3を駆動する構成について説明したが、レゾルバ等の回転角センサを備え、この回転角センサの故障時に前述のようなセンサレス制御を行う構成としてもよい。これにより、回転角センサの故障時にもモータ3の駆動を継続できるから、操舵補助を継続できる。
この場合、回転角センサを用いるときには、指示電流値生成部31において、操舵トルクおよび車速に応じて、所定のアシスト特性に従ってδ軸指示電流値Iδ *を発生させるようにすればよい。
さらに、前述の実施形態では、電動パワーステアリング装置にこの発明が適用された例について説明したが、この発明は、電動ポンプ式油圧パワーステアリング装置のためのモータの制御や、パワーステアリング装置以外にも、ステア・バイ・ワイヤ(SBW)システム、可変ギヤレシオ(VGR)ステアリングシステムその他の車両用操舵装置に備えられたブラシレスモータの制御のために用いることができる。むろん、車両用操舵装置に限らず、他の用途のモータの制御のためにも本発明のモータ制御装置を適用できる。
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。