(57)【特許請求の範囲】
【請求項１】
ロータと、このロータに対向するステータとを備えたモータを、前記ロータの回転角を検出するための回転角センサの検出値を用いずに制御するためのモータ制御装置であって、
前記モータによって駆動される駆動対象に加えられる、モータトルク以外のトルクを検出するトルク検出手段と、
前記駆動対象に作用させるべき指示トルクを設定する指示トルク設定手段と、
制御上の回転角である制御角に従う回転座標系の軸電流値で前記モータを駆動する電流駆動手段と、
前記指示トルク設定手段によって設定される指示トルクと前記トルク検出手段によって検出されるトルクとの偏差に応じて、前記制御角に加算すべき加算角を演算する加算角演算手段と、
所定の演算周期毎に、前記加算角演算手段によって演算された加算角を制御角の前回値に加算することによって制御角の今回値を求める制御角演算手段と、
前記ロータの角速度を演算する角速度演算手段と、
前記角速度演算手段によって演算された角速度に応じて前記加算角を補正する加算角補正手段と、
前記角速度を制限または平滑する手段と
を含む、モータ制御装置。
【請求項２】
前記角速度演算手段は、前記ロータの角加速度を演算する角加速度演算手段を含み、
前記制限または平滑する手段は、ロータの角加速度を制限または平滑することにより、前記角速度を制限または平滑するものである、請求項１記載のモータ制御装置。
【請求項３】
車両の舵取り機構に駆動力を付与するモータと、
前記モータを制御する請求項１または２記載のモータ制御装置とを含む、
車両用操舵装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ブラシレスモータを駆動するためのモータ制御装置、およびそれを用いた車両用操舵装置に関する。車両用操舵装置の一例は、電動パワーステアリング装置である。
【背景技術】
【０００２】
ブラシレスモータを駆動制御するためのモータ制御装置は、一般に、ロータの回転角を検出するための回転角センサの出力に応じてモータ電流の供給を制御するように構成されている。回転角センサとしては、一般的には、ロータ回転角（電気角）に対応した正弦波信号および余弦波信号を出力するレゾルバが用いられる。しかし、レゾルバは、高価であり、配線数が多く、また、設置スペースも大きい。そのため、ブラシレスモータを備えた装置のコスト削減および小型化が阻害されるという課題がある。
【０００３】
そこで、回転角センサを用いることなくブラシレスモータを駆動するセンサレス駆動方式が提案されている。センサレス駆動方式は、ロータの回転に伴う誘起電圧を推定することによって、磁極の位相（ロータの電気角）を推定する方式である。ロータ停止時および極低速回転時には、誘起電圧を推定できないので、別の方式で磁極の位相が推定される。具体的には、ステータに対してセンシング信号を注入し、このセンシング信号に対するモータの応答が検出される。このモータ応答に基づいて、ロータ回転位置が推定される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2007-267549号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のセンサレス駆動方式は、誘起電圧やセンシング信号を用いてロータの回転位置を推定し、その推定によって得られた回転位置に基づいてモータを制御するものである。しかし、この駆動方式は、いずれの用途にも適しているわけではなく、たとえば、車両の舵取り機構に操舵補助力を与える電動パワーステアリング装置その他の車両用操舵装置の駆動源として用いられるブラシレスモータの制御に適用するための手法は未だ確立されていない。そのため、別の方式によるセンサレス制御の実現が望まれている。
【０００６】
そこで、この発明の目的は、回転角センサを用いない新たな制御方式でモータを制御することができるモータ制御装置、およびこのようなモータ制御装置を備えた車両用操舵装置を提供することである。
【課題を解決するための手段】
【０００７】
上記の目的を達成するための請求項１記載の発明は、ロータ（５０）と、このロータに対向するステータ（５５）とを備えたモータ（３）を、前記ロータの回転角を検出するための回転角センサの検出値を用いずに制御するためのモータ制御装置（５）であって、前記モータによって駆動される駆動対象（２）に加えられる、モータトルク以外のトルク（Ｔ）を検出するトルク検出手段（１）と、前記駆動対象に作用させるべき指示トルク（Ｔ＊：モータトルク以外のトルクの指示値）を設定する指示トルク設定手段（２１）と、制御上の回転角である制御角（θＣ）に従う回転座標系の軸電流値（Ｉγ＊）で前記モータを駆動する電流駆動手段（３１〜３６Ｂ）と、前記指示トルク設定手段によって設定される指示トルクと前記トルク検出手段によって検出されるトルクとの偏差に応じて、前記制御角に加算すべき加算角（α）を演算する加算角演算手段（２２，２３）と、所定の演算周期毎に、前記加算角演算手段によって演算された加算角を制御角の前回値に加算することによって、制御角の今回値を求める制御角演算手段（２６）と、前記ロータの角速度を演算する角速度演算手段（３０，Ｓ２１，Ｓ３７）と、前記角速度演算手段によって演算された角速度に応じて前記加算角を補正する加算角補正手段（４１）と、前記角速度を制限または平滑する手段（３０，Ｓ２２〜Ｓ２６，Ｓ３２〜Ｓ３６）とを含む、モータ制御装置である。なお、括弧内の英数字は後述の実施形態における対応構成要素等を表す。以下、この項において同じ。
【０００８】
この構成によれば、制御角に従う回転座標系（γδ座標系。以下「仮想回転座標系」といい、この仮想回転座標系の座標軸を「仮想軸」という。）の軸電流値（以下「仮想軸電流値」という。）によってモータが駆動される一方で、制御角は、演算周期毎に加算角を加算することによって更新される。これにより、制御角を更新しながら、すなわち、仮想回転座標系の座標軸（仮想軸）を更新しながら、仮想軸電流値でモータを駆動することによって、必要なトルクを発生させることができる。こうして、回転角センサを用いることなく、モータから適切なトルクを発生させることができる。すなわち、ロータの磁極方向に従う回転座標系（ｄｑ座標系）の座標軸と前記仮想軸とのずれ量（負荷角）が適値に導かれることによって、適切なトルクが発生する。
【０００９】
さらに、この発明では、角速度演算手段によってロータの角速度が演算され、この角速度に基づいて加算角が補正される。これにより、たとえば、ロータの角速度に応じた適正範囲の値に加算角を制限したりする補正を行うことができる。その結果、加算角は妥当な値を有することができるので、モータを正確に制御できる。
しかも、角速度に対しては、制限処理または平滑化処理が加えられるので、角速度も妥当な値を有することができる。したがって、たとえば、モータの誘起電圧を用いてロータの角速度を推定する場合などに、モータ電流等の急変が生じたときでも、加算角の補正に用いられる角速度が不適当な値をとることを抑制できる。これにより、電流制御や外乱によってモータ電流が急変するような状況においても、加算角の補正を適切に行って、モータを正確に制御できる。
また、この発明のモータ制御装置は、モータによって駆動される駆動対象に加えられる、モータトルク以外のトルクを検出するためのトルク検出手段と、前記駆動対象に作用させるべき指示トルクを設定する指示トルク設定手段とを備えている。そして、加算角演算手段は、前記指示トルク設定手段によって設定される指示トルクと前記トルク検出手段によって検出されるトルクとの偏差に応じて、加算角を演算する。加算角演算手段は、たとえば、トルク検出手段によって検出される検出トルクを指示トルクに一致させるべく、加算角を演算するように動作する。これにより、指示トルクに応じたトルク（モータトルク以外のトルク）が駆動対象に加えられる状態となるように、モータトルクが制御される。モータトルクは、ロータの磁極方向に従う回転座標系（ｄｑ座標系）の座標軸と前記仮想軸とのずれ量である負荷角に対応する。負荷角は、制御角とロータ角との差で表される。モータトルクの制御は、負荷角を調整することによって達成され、この負荷角の調整が加算角を制御することによって達成される。
【００１０】
請求項２記載の発明は、前記角速度演算手段は、前記ロータの角加速度を演算する角加速度演算手段（Ｓ３２）を含み、前記制限または平滑する手段は、ロータの角加速度を制限または平滑することにより、前記角速度を制限または平滑するものである、請求項１記載のモータ制御装置である。
たとえば、前演算周期に求めた角速度に対して、今演算周期に求めた角加速度を加算することによって、今演算周期の角速度を求めることができる。このような場合に、角加速度を制限または平滑することによって、角速度を制限または平滑することができる。
【００１１】
前記角速度演算手段は、演算周期間のロータの角変位Δθを角速度に相当する値として求めるものであってもよい。また、前記角加速度演算手段は、演算周期間のロータの角変位変化量ｄ（Δθ）を角加速度に相当する値として求めるものであってもよい。
【００１２】
前記加算角補正手段は、前記指示トルク設定手段によって設定される指示トルクと前記トルク検出手段によって検出される検出トルクとを比較し、その比較結果に応じて前記加算角を増減するものであってもよい。これにより、たとえば、指示トルクと検出トルクとの大小関係に合致しない加算角が演算された場合に、このような加算角を妥当な値に補正することができる。
【００１３】
前記加算角演算手段は、前記検出トルクを前記指示トルクに近づけるように前記加算角を演算するフィードバック制御手段（２２，２３）を含むものであってもよい。
請求項３に記載されているように、前記モータは、車両の舵取り機構（２）に駆動力を付与するものであってもよい。これにより、車両用操舵装置を構成することができる。この場合に、前記トルク検出手段は、前記車両の操向のために操作される操作部材（１０）に加えられる操舵トルクを検出するものであってもよい。また、前記指示トルク設定手段は、操舵トルクの目標値としての指示操舵トルクを設定するものであってもよい。この場合、前記加算角演算手段は、前記指示トルク設定手段によって設定される指示操舵トルクと前記トルク検出手段によって検出される操舵トルクとの偏差に応じて前記加算角を演算する。
【００１４】
この構成によれば、指示操舵トルクが設定され、この指示操舵トルクと操舵トルク（検出値）との偏差に応じて前記加算角が演算される。これにより、操舵トルクが当該指示操舵トルクとなるように加算角が定められ、それに応じた制御角が定められることになる。したがって、指示操舵トルクを適切に定めておくことによって、モータから適切な駆動力を発生させて、これを舵取り機構に付与することができる。すなわち、ロータの磁極方向に従う回転座標系（ｄｑ座標系）の座標軸と前記仮想軸とのずれ量（負荷角）が指示操舵トルクに応じた値に導かれる。その結果、適切なトルクがモータから発生され、運転者の操舵意図に応じた駆動力を舵取り機構に付与できる。
【００１５】
前記モータ制御装置は、前記操作部材の操舵角を検出する操舵角検出手段（４）をさらに含み、前記指示トルク設定手段は、前記操舵角検出手段によって検出される操舵角に応じて指示操舵トルクを設定するものであることが好ましい。この構成によれば、操作部材の操舵角に応じて指示操舵トルクが設定されるので、操舵角に応じた適切なトルクをモータから発生させることができ、運転者が操作部材に加える操舵トルクを操舵角に応じた値へと導くことができる。これにより、良好な操舵感を得ることができる。
【００１６】
前記指示トルク設定手段は、前記車両の車速を検出する車速検出手段（６）によって検出される当該車速に応じて指示操舵トルクを設定するものであってもよい。この構成によれば、車速に応じて指示操舵トルクが設定されるので、いわゆる車速感応制御を行うことができる。その結果、良好な操舵感を実現できる。たとえば、車速が大きいほど、すなわち、高速走行時ほど指示操舵トルクを小さく設定することより、すぐれた操舵感が得られる。
【図面の簡単な説明】
【００１７】
【図１】この発明の一実施形態に係るモータ制御装置を適用した電動パワーステアリング装置の電気的構成を説明するためのブロック図である。
【図２】モータの構成を説明するための図解図である。
【図３】前記電動パワーステアリング装置の制御ブロック図である。
【図４】操舵角に対する指示操舵トルクの特性例を示す図である。
【図５】操舵トルクリミッタの働きを説明するための図である。
【図６】γ軸指示電流値の設定例を示す図である。
【図７】加算角リミッタの働きを説明するためのフローチャートである。
【図８Ａ】加算角ガードの働きを説明するためのフローチャートである。
【図８Ｂ】加算角ガードの働きを説明するためのフローチャートである。
【図９】誘起電圧推定部および回転角推定部の構成を説明するためのブロック図である。
【図１０】ロータ角変位演算部による処理の一例を説明するためのフローチャートである。
【図１１】ロータ角変位演算部による処理の他の例を説明するためのフローチャートである。
【発明を実施するための形態】
【００１８】
以下では、この発明の実施の形態を、添付図面を参照して詳細に説明する。
図１は、この発明の一実施形態に係るモータ制御装置を適用した電動パワーステアリング装置（車両用操舵装置の一例）の電気的構成を説明するためのブロック図である。この電動パワーステアリング装置は、車両を操向するための操作部材としてのステアリングホイール１０に加えられる操舵トルクＴを検出するトルクセンサ１と、車両の舵取り機構２に減速機構７を介して操舵補助力を与えるモータ３（ブラシレスモータ）と、ステアリングホイール１０の回転角である操舵角を検出する舵角センサ４と、モータ３を駆動制御するモータ制御装置５と、当該電動パワーステアリング装置が搭載された車両の速度を検出する車速センサ６とを備えている。
【００１９】
モータ制御装置５は、トルクセンサ１が検出する操舵トルク、舵角センサ４が検出する操舵角および車速センサ６が検出する車速に応じてモータ３を駆動することによって、操舵状況および車速に応じた適切な操舵補助を実現する。
モータ３は、この実施形態では、三相ブラシレスモータであり、図２に図解的に示すように、界磁としてのロータ５０と、このロータ５０に対向するステータ５５に配置されたＵ相、Ｖ相およびＷ相のステータ巻線５１，５２，５３とを備えている。モータ３は、ロータの外部にステータを対向配置したインナーロータ型のものであってもよいし、筒状のロータの内部にステータを対向配置したアウターロータ型のものであってもよい。
【００２０】
各相のステータ巻線５１，５２，５３の方向にＵ軸、Ｖ軸およびＷ軸をとった三相固定座標（ＵＶＷ座標系）が定義される。また、ロータ５０の磁極方向にｄ軸（磁極軸）をとり、ロータ５０の回転平面内においてｄ軸と直角な方向にｑ軸（トルク軸）をとった二相回転座標系（ｄｑ座標系。実回転座標系）が定義される。ｄｑ座標系は、ロータ５０とともに回転する回転座標系である。ｄｑ座標系では、ｑ軸電流のみがロータ５０のトルク発生に寄与するので、ｄ軸電流を零とし、ｑ軸電流を所望のトルクに応じて制御すればよい。ロータ５０の回転角（ロータ角）θＭは、Ｕ軸に対するｄ軸の回転角である。ｄｑ座標系は、ロータ角θＭに従う実回転座標系である。このロータ角θＭを用いることによって、ＵＶＷ座標系とｄｑ座標系との間での座標変換を行うことができる。
【００２１】
一方、この実施形態では、制御上の回転角を表す制御角θＣが導入される。制御角θＣは、Ｕ軸に対する仮想的な回転角である。この制御角θＣに対応する仮想的な軸をγ軸とし、このγ軸に対して９０°進んだ軸をδ軸として、仮想二相回転座標系（γδ座標系。仮想回転座標系）を定義する。制御角θＣがロータ角θＭに等しいとき、仮想回転座標系であるγδ座標系と実回転座標系であるｄｑ座標系とが一致する。すなわち、仮想軸としてのγ軸は実軸としてのｄ軸と一致し、仮想軸としてのδ軸は実軸としてのｑ軸と一致する。γδ座標系は、制御角θＣに従う仮想回転座標系である。ＵＶＷ座標系とγδ座標系との座標変換は、制御角θＣを用いて行うことができる。
【００２２】
制御角θＣとロータ角θＭとの差を負荷角θＬ（＝θＣ−θＭ）と定義する。
制御角θＣに従ってγ軸電流Ｉγをモータ３に供給すると、このγ軸電流Ｉγのｑ軸成分（ｑ軸への正射影）がロータ５０のトルク発生に寄与するｑ軸電流Ｉｑとなる。すなわち、γ軸電流Ｉγとｑ軸電流Ｉｑとの間に、次式(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)式で表すことができる。ただし、ＫＥは誘起電圧定数、θＭはロータ角、ωはロータ回転角速度である。
【００６８】
【数１】
0005561516.tif 000002
【００６９】
したがって、推定誘起電圧Ｅ^αβが求まれば、次の(7)式に従って、推定回転角θＥが求まる。この演算が、回転角推定部２９によって行われる。
【００７０】
【数２】
0005561516.tif 000003
【００７１】
図１０は、ロータ角変位演算部３０による処理の一例を説明するためのフローチャートである。ロータ角変位演算部３０は、回転角推定部２９から与えられる推定回転角θＥの今回値θＥ(n)から前演算周期で求められた推定回転角（前回値）θＥ(n-1)を減じることにより、ロータ角変位Δθを求める（ステップＳ２１）。このロータ角変位Δθは、ロータの角速度に相当する値である。
【００７２】
次に、ロータ角変位演算部３０は、ロータ角変位Δθを所定の上限値Ｕlim（Ｕlim＞０）と比較する（ステップＳ２２）。ロータ角変位Δθが上限値Ｕlimよりも大きいときは（ステップＳ２２：ＹＥＳ）、ロータ角変位Δθに当該上限値Ｕlimが代入される（ステップＳ２３）。つまり、今演算周期のロータ角変位Δθとして上限値Ｕlimが用いられる。一方、ステップＳ２１で求められたロータ角変位Δθが上限値Ｕlim以下であるときには（ステップＳ２２：ＮＯ）、ロータ角変位演算部３０は、さらに、当該ロータ角変位Δθを所定の下限値Ｌlim（Ｌlim＜０、たとえば、Ｌlim＝−Ｕlim）と比較する（ステップＳ２４）。ロータ角変位Δθが下限値Ｌlim未満であるときには（ステップＳ２４：ＹＥＳ）、ロータ角変位Δθに当該下限値Ｌlimが代入される（ステップＳ２５）。つまり、今演算周期のロータ角変位Δθとして下限値Ｌlimが用いられる。ステップＳ２１で求められたロータ角変位Δθが下限値Ｌlim以上上限値Ｌlim以下であれば（ステップＳ２４：ＮＯ）、当該ロータ角変位Δθがそのまま用いられる。
【００７３】
次に、ロータ角変位演算部３０は、ロータ角変位Δθに対して移動平均処理を行う（ステップＳ２６）。この移動平均処理によって求められた値が、最終的なロータ角変位Δθ（ロータ角速度相当値）として、加算角ガード４１に与えられる。
このように、回転角推定部２９で求められた回転角θＥから求まるロータ角変位Δθ（ロータ角速度相当値）を上限値Ｕlimおよび下限値Ｌlimの間の値に制限することができる。これにより、指示電流値Ｉγδ＊、検出電流値Ｉγδおよび制御角θｃのいずれかに急変が生じた場合であっても、ロータ角変位Δθに基づく加算角αの補正を適切に行うことができる。運転者がステアリングホイール１０を急操作したり、路面からの外乱が生じたりした場合などには、指示電流値Ｉγδ＊、検出電流値Ｉγδおよび制御角θｃに急変が生じることがある。このような場合には、誘起電圧推定部２８および回転角推定部２９による回転角推定精度が悪くなる。したがって、推定回転角θＥを用いて演算されるロータ角変位Δθの精度も悪くなるから、このようなロータ角変位Δθをそのまま加算角αの補正に用いると、適切な補正を行うことができない。これにより、操舵感が悪化するおそれがある。そこで、この実施形態では、ロータ角変位Δθに対して、上限値Ｕlimおよび下限値Ｌlimによる制限を加えている。さらに、制限処理後のロータ角変位Δθに対して、移動平均処理による平滑化処理も加えられている。これにより、指示電流値Ｉγδ＊、検出電流値Ｉγδまたは制御角θｃの急変による影響を抑制できるから、加算角ガード４１による処理を適切に行える。これにより、良好な操舵感を保持することができる。
【００７４】
上限値Ｕlimおよび下限値Ｌlimは、たとえば、最大操舵角速度に基づいて定められる。最大操舵角速度とは、前述のとおり、ステアリングホイール１０の操舵角速度として想定され得る最大値であり、たとえば、８００deg/sec程度である。前述の加算角αに対する
制限値ωmaxの場合と同様の考察により、ロータ角変位Δθの最大値は、次式(8)により与えられる。
【００７５】
ロータ角変位最大値＝最大ロータ角速度×演算周期
＝最大操舵角速度×減速比×極対数×演算周期    …(8)
したがって、このロータ角変位最大値を上限値Ｕlimとし、それに負符号を付して下限値Ｌlimとすればよい。
図１１は、ロータ角変位演算部３０による処理の他の例を説明するためのフローチャートである。ロータ角変位演算部３０は、回転角推定部２９から与えられる推定回転角θＥの今回値θＥ(n)から前演算周期で求められた推定回転角（前回値）θＥ(n-1)を減じることにより、ロータ角変位Δθ（暫定値）を求める（ステップＳ３１）。このロータ角変位Δθは、ロータの角速度に相当する値である。
【００７６】
さらに、ロータ角変位演算部３０は、ステップＳ３１で求めたロータ角変位Δθの今回値Δθ(n)（暫定値）から、前演算周期において当該ロータ角変位演算部３０が生成したロータ角変位Δθ(n-1)（最終値）を減じることにより、ロータ角変位変化量ｄ（Δθ）（制限前）を求める（ステップＳ３２）。このロータ角変位変化量ｄ（Δθ）は、ロータの角加速度に相当する値である。
【００７７】
次に、ロータ角変位演算部３０は、ロータ角変位変化量ｄ（Δθ）を所定の上限値ｄＵlim（ｄＵlim＞０）と比較する（ステップＳ３３）。ロータ角変位変化量ｄ（Δθ）が上限値ｄＵlimよりも大きいときは（ステップＳ３３：ＹＥＳ）、ロータ角変位変化量ｄ（Δθ）（制限後）に当該上限値ｄＵlimが代入される（ステップＳ３４）。つまり、今演算周期のロータ角変位変化量ｄ（Δθ）として上限値ｄＵlimが用いられる。一方、ステップＳ３２で求められたロータ角変位変化量ｄ（Δθ）（制限前）が上限値ｄＵlim以下であるときには（ステップＳ３３：ＮＯ）、ロータ角変位演算部３０は、さらに、当該ロータ角変位変化量ｄ（Δθ）（制限前）を所定の下限値ｄＬlim（ｄＬlim＜０、たとえば、ｄＬlim＝−ｄＵlim）と比較する（ステップＳ３５）。ロータ角変位変化量ｄ（Δθ）（制限前）が下限値ｄＬlim未満であるときには（ステップＳ３５：ＹＥＳ）、ロータ角変位変化量ｄ（Δθ）（制限後）に当該下限値ｄＬlimが代入される（ステップＳ３６）。つまり、今演算周期のロータ角変位変化量ｄ（Δθ）（制限後）として下限値ｄＬlimが用いられる。ステップＳ３２で求められたロータ角変位変化量ｄ（Δθ）が下限値ｄＬlim以上上限値ｄＵlim以下であれば（ステップＳ３５：ＮＯ）、当該ロータ角変位変化量ｄ（Δθ）がそのまま制限処理後の値として用いられる。このようにして、ロータ角変位変化量ｄ（Δθ）を下限値ｄＬlimと上限値ｄＵlimとの間に制限した、制限後のロータ角変位変化量ｄ（Δθ）が求まる。
【００７８】
この制限後のロータ角変位変化量ｄ（Δθ）を、前演算周期においてロータ角変位演算部３０が出力したロータ角変位Δθ(n-1)に加算することによって、今演算周期におけるロータ角変位Δθ(n)の最終値が求められる（ステップＳ３７）。このロータ角変位Δθ(n)（最終値）が、加算角ガード４１において、加算角αの補正のために用いられる。
このように、この例では、ロータ角変位変化量ｄ（Δθ）に対して制限を加えることによって、結果として、ロータ角変位Δθに対して制限を加えることができる。これにより、図１０の処理例の場合と同様の効果を得ることができる。
【００７９】
なお、ステップＳ３６において今演算周期のロータ角変位Δθ(n)（最終値）を求める前に、ロータ角変位変化量ｄ（Δθ）（制限後）に対して、移動平均処理その他の平滑化処理を施してもよい。
以上、この発明の一実施形態について説明したが、この発明はさらに他の形態で実施することもできる。たとえば、図１０のステップＳ２２〜Ｓ２４によるロータ角変位Δθの制限の代わりに、ローパスフィルタ、バンドパスフィルタ、移動平均フィルタその他のフィルタ処理を用いた平滑化処理を行うようにしてもよい。これにより、ロータ角変位Δθの急変を抑制できるから、ロータ推定角θＥの値が不適切である場合に、その影響を抑制して、加算角αの補正を適正に行うことができる。同様に、図１１のステップＳ３３〜Ｓ３６によるロータ角変位変化量ｄ（Δθ）制限に代えて、ローパスフィルタ、バンドパスフィルタ、移動平均フィルタその他のフィルタ処理を用いた平滑化処理を適用してもよい。これにより、同様の効果を得ることができる。
【００８０】
また、前述の実施形態では、ロータ角変位Δθだけでなくトルク偏差ΔＴにも基づいて加算角αを補正しているが、トルク偏差ΔＴに基づく加算角αの補正は省いてもよい。具体的には、加算角ガード４１は、ロータ角変位Δθを用いて、Δθ−Ａ≦α≦Δθ＋Ａの範囲に加算角αを制限するものであってもよい。
また、前述の実施形態では、回転角センサを備えずに、専らセンサレス制御によってモータ３を駆動する構成について説明したが、レゾルバ等の回転角センサを備え、この回転角センサの故障時に前述のようなセンサレス制御を行う構成としてもよい。これにより、回転角センサの故障時にもモータ３の駆動を継続できるから、操舵補助を継続できる。すなわち、たとえ回転角センサを備えていても、その回転角センサの検出値を用いずにモータを制御する構成が備えられている場合には、この発明の範囲に属する。
【００８１】
この場合、回転角センサを用いるときには、指示電流値生成部３１において、操舵トルクおよび車速に応じて、所定のアシスト特性に従ってδ軸指示電流値Ｉδ＊を発生させるようにすればよい。
さらに、前述の実施形態では、電動パワーステアリング装置にこの発明が適用された例について説明したが、この発明は、電動ポンプ式油圧パワーステアリング装置のためのモータの制御や、パワーステアリング装置以外にも、ステア・バイ・ワイヤ（ＳＢＷ）システム、可変ギヤレシオ（ＶＧＲ）ステアリングシステムその他の車両用操舵装置に備えられたブラシレスモータの制御のために用いることができる。むろん、車両用操舵装置に限らず、他の用途のモータの制御のためにも本発明のモータ制御装置を適用できる。
【００８２】
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【００８３】
１…トルクセンサ、３…モータ、５…モータ制御装置、１１…マイクロコンピュータ、２６…制御角演算部、５０…ロータ、５１，５２，５３…ステータ巻線、５５…ステータ
【図１】
0005561516.tif 000004
【図２】
0005561516.tif 000005
【図３】
0005561516.tif 000006
【図４】
0005561516.tif 000007
【図５】
0005561516.tif 000008
【図６】
0005561516.tif 000009
【図７】
0005561516.tif 000010
【図８Ａ】
0005561516.tif 000011
【図８Ｂ】
0005561516.tif 000012
【図９】
0005561516.tif 000013
【図１０】
0005561516.tif 000014
【図１１】
0005561516.tif 000015