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