(57)【要約】【課題】回転角の推定演算を必要時にのみ行うことができ、しかも、演算開始後速やかに妥当な推定回転角を得ることができ、これによって、演算負荷の低減を図りながらモータを適切に制御することができるモータ制御装置を提供する。【解決手段】センサ故障判定部２５は、レゾルバ２の故障の有無を判定する。レゾルバ２に故障が生じていない通常時は、レゾルバ２が検出する検出回転角θSを用いてモータ１が制御される。この間、回転角推定部３１は推定演算を停止している。レゾルバ２の故障が発生すると、探査電圧発生部２６から探査電圧指令値が発生され、モータ１のステータは探査磁界を形成する。このときのトルクセンサ７の出力に基づいて、初期値決定部２４が回転角推定部３１の内部変数の初期値を決定する。この初期値を用いて、回転角推定部３１が推定回転角θEを求める。この推定回転角θEを用いてモータ１が制御される。【選択図】図１
2010029030.tif 000002
【特許請求の範囲】
【請求項１】
ロータと、このロータに対向するステータとを備えたモータを制御するためのモータ制御装置であって、
前記ロータの回転角を検出するための回転角検出手段と、
前記ロータの回転角を推定するための回転角推定手段と、
前記モータが発生するトルクを検出するためのトルク検出手段と、
前記回転角検出手段の故障時に、ステータから探査磁界を発生させる探査磁界発生手段と、
前記探査磁界を発生させたときに前記トルク検出手段が検出する検出トルクに基づいて、前記回転角推定手段における推定演算のための初期値を決定する初期値決定手段と、
前記回転角検出手段に故障が生じていない通常時には当該回転角検出手段が検出する検出回転角に基づいて前記モータを制御し、前記回転角検出手段の故障時には前記回転角推定手段が前記初期値に基づいて推定した推定回転角に基づいて前記モータを制御する制御手段とを含む、モータ制御装置。
【請求項２】
前記探査磁界発生手段は、複数の異なる方向の探査磁界を順次発生させるものであり、
前記初期値決定手段は、検出トルクのゼロクロス点に対応する探査磁界の方向に基づいて、前記初期値を決定するものである、請求項１記載のモータ制御装置。
【請求項３】
前記探査磁界発生手段は、複数の異なる方向の探査磁界を順次発生させるものであり、
前記初期値決定手段は、検出トルクの極大点または極小点に対応する探査磁界の方向に基づいて、前記初期値を決定するものである、請求項１記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ブラシレスモータを駆動するためのモータ制御装置に関する。ブラシレスモータは、たとえば、電動パワーステアリング装置における操舵補助力の発生源として利用される。
【背景技術】
【０００２】
ブラシレスモータを駆動制御するためのモータ制御装置は、一般に、ロータの回転角を検出するための回転角センサの出力に応じてモータ電流の供給を制御するように構成されている。回転角センサとしては、たとえば、ロータ回転角（電気角）に対応した正弦波信号および余弦波信号を出力するレゾルバが用いられる。
回転角センサの故障（信号線の断線故障や短絡故障を含む）が生じると、ロータ回転角を特定することができなくなるから、ブラシレスモータの駆動制御を継続できなくなる。
【０００３】
この問題は、回転角センサを用いることなくブラシレスモータを駆動するセンサレス駆動方式の併用によって緩和される。センサレス駆動方式では、たとえば、ロータの回転に伴う誘起電圧を推定することによって、磁極の位相（ロータの電気角）を推定する回転角推定器が用いられる（特許文献１）。回転角推定器は、たとえば、マイクロコンピュータが所定のプログラムを実行することによって実現される機能処理手段である。
【特許文献１】特開２００４−７９２４号公報
【非特許文献１】市川真士他、「拡張誘起電圧モデルに基づく突極型永久磁石同期モータのセンサレス制御」、電気学会論文誌 Ｄ，１２２巻１２号、平成１４年
【発明の開示】
【発明が解決しようとする課題】
【０００４】
回転角推定器は、通常、過去のモータ電流やモータ電圧（または電圧指令値）の情報を含む内部変数を有している。回転角推定器は、ロータ回転角を推定するとともに内部変数を更新していくように構成されている。したがって、ロータ回転角推定演算を所定の演算周期で繰り返すことによって、内部変数は、その初期値からモータの現状に応じた値へと収束していき、それに応じて推定回転角も妥当な値へと収束していく。
【０００５】
内部変数の初期値は、一定値（たとえば零）とされるのが通常であり、そのため、回転角推定器が作動し始めた当初の期間における推定回転角は不安定である。そこで、回転角センサとセンサレス駆動方式とが併用される場合には、回転角センサが正常であって、したがって、推定回転角を必要としないときでも、回転角推定器の演算を並行して行い、推定回転角を妥当な値に予め収束させておく必要がある。
【０００６】
しかし、回転角の推定が不必要な場合にまで回転角推定器を作動させておくことによって、計算負荷が大きくなる。そのため、モータ制御装置のために用いるコンピュータには、演算能力の高いものが必要となり、それに応じてコストが嵩むという問題がある。
そこで、この発明の目的は、回転角の推定演算を必要時にのみ行うことができ、しかも、演算開始後速やかに妥当な推定回転角を得ることができ、これによって、演算負荷の低減を図りながらモータを適切に制御することができるモータ制御装置を提供することである。
【課題を解決するための手段】
【０００７】
上記の目的を達成するための請求項１記載の発明は、ロータ（５０）と、このロータに対向するステータ（５５）とを備えたモータ（１）を制御するためのモータ制御装置（１０）であって、前記ロータの回転角を検出するための回転角検出手段（２，２２）と、前記ロータの回転角を推定するための回転角推定手段（３１）と、前記モータが発生するトルクを検出するためのトルク検出手段（７）と、前記回転角検出手段の故障時に、ステータから探査磁界を発生させる探査磁界発生手段（２６）と、前記探査磁界を発生させたときに前記トルク検出手段が検出する検出トルクに基づいて、前記回転角推定手段における推定演算のための初期値を決定する初期値決定手段（２４）と、前記回転角検出手段に故障が生じていない通常時には当該回転角検出手段が検出する検出回転角（θS）に基づいて前記モータを制御し、前記回転角検出手段の故障時には前記回転角推定手段が前記初期値に基づいて推定した推定回転角（θE）に基づいて前記モータを制御する制御手段（１５〜２１，３２）とを含む、モータ制御装置である。なお、括弧内の英数字は後述の実施形態における対応構成要素等を表す。以下、この項において同じ。
【０００８】
この構成によれば、回転角検出手段の故障時において、ステータから探査磁界が発生される。この探査磁界によってロータにトルクが生じると、このトルクがトルク検出手段によって検出される。この検出トルクに基づいて回転角推定手段における推定演算のための初期値が決定される。探査磁界を与えたときのトルクの応答はロータの回転角に応じて異なるので、前記初期値はロータの回転角を反映して決定されることになる。こうして決定された初期値を用いて、回転角推定手段による推定演算が行われ、推定回転角が求められる。初期値がロータ回転角を反映した値であるため、推定回転角は、速やかに妥当な値に収束する。そのため、推定回転角の収束のための待ち時間を考慮して、推定回転角が不必要なときに予め回転角推定手段による推定演算を開始しておく必要がない。
【０００９】
そこで、回転角検出手段に故障が生じておらず、この回転角検出手段によって検出される検出回転角に基づいてモータが制御される通常時には、回転角推定手段による推定演算は停止しておくことができる。そして、回転角検出手段に故障が生じたときに、回転角推定手段による推定演算を開始し、その推定演算に、前述のようにして求められる初期値を適用すればよい。これにより、回転角検出手段の故障が生じたと判定された後に回転角推定演算を開始しても、速やかに妥当な推定回転角を得ることができ、引き続き、モータを適切に駆動することができる。
【００１０】
このようにして、演算負荷を低減しつつモータを適切に制御できるから、モータ制御装置のコスト削減を図ることができる。
前記モータ制御装置は、前記回転角検出手段に故障が生じているか否かを判定する故障判定手段（２５）をさらに含むことが好ましい。この場合、前記探査磁界発生手段は、故障判定手段によって回転角検出手段の故障発生が判定されたことに応答してステータから探査磁界を発生させるものであることが好ましい。また、前記制御手段は、故障判定手段による判定結果に基づいて、検出回転角と推定回転角とのいずれかを選択してモータを制御するものであることが好ましい。
【００１１】
前記制御手段は、モータ電圧指令値を生成する電圧指令値生成手段（１９Ａ，１９Ｂ）を含むものであってもよい。この場合に、前記モータ制御装置は、モータ電圧指令値に応じてモータを駆動する駆動手段（１３）と、モータ電流を検出する電流検出手段（１１）とをさらに含むものであってもよい。この場合に、前記回転角推定手段は、モータ電圧指令値とモータ電流とに基づいてロータの回転角を推定するものであってもよい。
【００１２】
前記探査磁界発生手段は、方向を変化させながら探査磁界を次々と印加するものであることが好ましい。これにより、複数方向に探査磁界を印加したときのモータトルクの応答に基づいて前記初期値を決定できる。したがって、より正確に初期値を決定できるから、それに応じて推定回転角をより速やかに妥当な値に収束させることができる。この場合に、前記探査磁界発生手段は、探査磁界の印加によるロータの回転を抑制する順序で探査磁界の方向を順次変化させるものであることが好ましい。より具体的には、探査磁界発生手段は、ロータの電気角で位相がほぼ反転（１８０°異なる）するように方向を順次変化させながら探査磁界をステータから発生させるものであることが好ましい。これにより、探査磁界によるロータの回転を抑制しながら、前記初期値の決定を行える。
【００１３】
請求項２記載の発明は、前記探査磁界発生手段は、複数の異なる方向の探査磁界を順次発生させるものであり、前記初期値決定手段は、検出トルクのゼロクロス点（探査磁界の方向に対する検出トルクのゼロクロス点）に対応する探査磁界の方向に基づいて、前記初期値を決定するものである、請求項１記載のモータ制御装置である。
ステータから複数の異なる方向の探査磁界を発生させることによって、探査磁界を与えたときにモータが発生するトルクの大きさおよび方向が変化する。すなわち、探査磁界の方向とロータの磁極方向とが平行のときにはトルクの大きさが最小となり、探査磁界の方向とロータの磁極方向とが直交するときにトルクの大きさが最大となる。そのトルクの方向は、ロータの磁極位置に依存する。
【００１４】
そこで、請求項２の発明では、検出トルクのゼロクロス点、すなわち、検出トルクの方向が反転する点を見つけ、このゼロクロス点における探査磁界の方向（ロータ磁極方向と平行な方向）に基づいて前記初期値を決定するようにしている。より具体的には、一方向の検出トルクに正符号を与え、その反対方向の検出トルクに負符号を与えておけば、検出トルクの符号が反転する点がゼロクロス点である。正符号から負符号に反転するゼロクロス点か、負符号から正符号に反転するゼロクロス点かは、ゼロクロス点の近傍での検出トルクから判断できる。
【００１５】
請求項３記載の発明は、前記探査磁界発生手段は、複数の異なる方向の探査磁界を順次発生させるものであり、前記初期値決定手段は、検出トルクの極大点または極小点（探査磁界の方向に対する検出トルク変化の極大点または極小点）に対応する探査磁界の方向に基づいて、前記初期値を決定するものである、請求項１記載のモータ制御装置である。
検出トルクの極大点または極小点では、探査磁界の方向とロータ磁極方向とが直交している。したがって、検出トルクの極大点または極小点における探査磁界の方向から、前記初期値を決定することができる。一方向の検出トルクに正符号を与え、その反対方向の検出トルクに負符号を与える場合に、極大点では検出トルクは正符号、極小点では検出トルクは負符号となる。
【発明を実施するための最良の形態】
【００１６】
以下では、この発明の実施の形態を、添付図面を参照して詳細に説明する。
図１は、この発明の一実施形態に係るモータ制御装置を適用した電動パワーステアリング装置の電気的構成を説明するためのブロック図である。この電動パワーステアリング装置は、車両のステアリングホイールに加えられる操作トルクを検出するトルクセンサ７と、車両の速度を検出する車速センサ８と、車両の舵取り機構３に操舵補助力を与えるモータ１と、このモータ１を駆動制御するモータ制御装置１０とを備えている。モータ制御装置１０は、トルクセンサ７が検出する操作トルクおよび車速センサ８が検出する車速に応じてモータ１を駆動することによって、操舵状況に応じた適切な操舵補助を実現する。モータ１は、たとえば、三相ブラシレスモータであり、図２(a)に図解的に示すように、界磁としてのロータ５０と、Ｕ相、Ｖ相およびＷ相のステータ巻線５１，５２，５３を含むステータ５５とを備えている。モータ１は、ロータの外部にステータを配置したインナーロータ型のものであってもよいし、筒状のロータの内部にステータを配置したアウターロータ型のものであってもよい。
【００１７】
モータ制御装置１０は、電流検出部１１、信号処理部としてのマイクロコンピュータ１２、および駆動回路１３を有する。このモータ制御装置１０に、モータ１内のロータの回転角を検出するレゾルバ２（回転角センサ）とともに、前述のトルクセンサ７および車速センサ８が接続されている。
電流検出部１１はモータ１のステータ巻線５１，５２，５３を流れる電流を検出する。より具体的には、電流検出部１１は、３相（Ｕ相、Ｖ相およびＷ相）のステータ巻線５１，５２，５３における相電流をそれぞれ検出する電流検出器を有する。
【００１８】
マイクロコンピュータ１２は、ＣＰＵおよびメモリ（ＲＯＭおよびＲＡＭなど）を備えており、所定のプログラムを実行することによって、複数の機能処理部として機能するようになっている。この複数の機能処理部には、基本目標電流値演算部１５と、ｄｑ軸目標電流値演算部１６と、ＰＩ（比例積分）制御部１９Ａと、電圧指令値生成部１９Ｂと、γδ／αβ座標変換部２０Ａと、αβ／ＵＶＷ座標変換部２０Ｂと、ＰＷＭ制御部２１と、ＵＶＷ／αβ座標変換部１７Ａと、αβ／γδ座標変換部１７Ｂと、偏差演算部１８と、回転角算出部２２と、回転角速度演算部２３と、初期値決定部２４と、センサ故障判定部２５と、探査電圧発生部２６と、スイッチ３０と、回転角推定部３１と、切換え部３２とを備えている。
【００１９】
基本目標電流値演算部１５は、トルクセンサ７により検出される操作トルクと、車速センサ８により検出される車速とに基づいて、モータ１の基本目標電流値Ｉ*を演算する。基本目標電流値Ｉ*は、たとえば、操作トルクの大きさが大きいほど大きく、車速が小さい程大きくなるように定められる。
ｄｑ軸目標電流値演算部１６は、基本目標電流値Ｉ*に基づいて、モータ１のロータ磁極方向に沿うｄ軸電流成分の目標値（ｄ軸目標電流値Ｉd*）と、ｄ軸に直交するｑ軸電流成分の目標値（ｑ軸目標電流値Ｉq*）とを生成する。以下、これらをまとめていうときには、「目標電流値Ｉdq」という。
【００２０】
モータ１のＵ相、Ｖ相およびＷ相に与えるべき電流（正弦波電流）の振幅を表す基本目標電流値Ｉ*を用いると、ｄ軸目標電流値Ｉd*およびｑ軸目標電流値Ｉq*は、次式(1)(2)のように表される。
【００２１】
【数１】
2010029030.tif 000003
したがって、ｄｑ軸目標電流値演算部１６は、ｄ軸目標電流値Ｉd*＝０を生成する一方で、トルクセンサ７によって検出される操作トルクに応じたｑ軸目標電流値Ｉq*を生成する。
【００２２】
電流検出部１１は、モータ１のＵ相電流Ｉu、Ｖ相電流ＩvおよびＷ相電流Ｉwを検出する（以下、これらをまとめていうときには「三相検出電流Ｉuvw」という）。その検出値は、ＵＶＷ／αβ座標変換部１７Ａに与えられる。
ＵＶＷ／αβ座標変換部１７Ａは、三相検出電流Ｉuvwを、二相固定座標系（α−β）上での電流ＩαおよびＩβ（以下、これらをまとめていうときには「二相検出電流Ｉαβ」という。）に座標変換する。二相固定座標系（α−β）とは、ロータ５０の回転中心を原点として、ロータ５０の回転平面内にα軸およびこれに直交するβ軸を定めた固定座標系である（図２参照）。座標変換された二相検出電流Ｉαβは、αβ／γδ座標変換部１７Ｂに与えられる。
【００２３】
αβ／γδ座標変換部１７Ｂは、二相検出電流Ｉαβを、制御上のロータ回転角θ^（以下、「制御回転角θ^」という。）に従う二相回転座標系（γ−δ）上での電流ＩγおよびＩδ（以下、これらをまとめていうときには「二相検出電流Ｉγδ」という。）に座標変換する。二相回転座標系（γ−δ）は、制御回転角θ^にロータ５０がある場合に、ロータ磁極方向に沿うγ軸と、このγ軸に直交するδ軸とによって規定される回転座標系である。制御回転角θ^に誤差がなく、実際のロータ回転角と一致しているとき、二相回転座標系（ｄ−ｑ）と二相回転座標系（γ−δ）とは一致する。制御回転角θ^は、回転角算出部２２または回転角推定部３１によって演算され、切換え部３２によって選択されたロータ回転角である。
【００２４】
二相検出電流Ｉγδは、偏差演算部１８に与えられるようになっている。この偏差演算部１８は、ｄ軸目標電流値Ｉd*に対するγ軸電流Ｉγの偏差、およびｑ軸目標電流値Ｉq*に対するδ軸電流Ｉδの偏差を演算する。これらの偏差がＰＩ制御部１９Ａに与えられてそれぞれＰＩ演算処理を受ける。そして、これらの演算結果に応じて、電圧指令値生成部１９Ｂによって、γ軸電圧指令値Ｖγ*およびδ軸電圧指令値Ｖδ*（以下、これらをまとめていうときには「二相電圧指令値Ｖγδ」という。）が生成されて、γδ／αβ座標変換部２０Ａに与えられる。
【００２５】
γδ／αβ座標変換部２０Ａは、γ軸電圧指令値Ｖγ*およびδ軸電圧指令値Ｖδ*を、二相固定座標系（α−β）の電圧指令値であるα軸電圧指令値Ｖα*およびβ軸電圧指令値Ｖβ*（以下、これらをまとめていうときには「二相電圧指令値Ｖαβ」という。）に座標変換する。この二相電圧指令値Ｖαβは、αβ／ＵＶＷ座標変換部２０Ｂに与えられる。
【００２６】
αβ／ＵＶＷ座標変換部２０Ｂは、α軸電圧指令値Ｖα*およびβ軸電圧指令値Ｖβ*を三相固定座標系の電圧指令値、すなわち、Ｕ相、Ｖ相およびＷ相の電圧指令値Ｖu*，Ｖv*，Ｖw*（以下、これらをまとめていうときには「三相電圧指令値Ｖuvw」という。）に変換する。
ＰＷＭ制御部２１は、三相の電圧指令値Ｖu*，Ｖv*，Ｖw*に応じて制御されたデューティ比の駆動信号を生成して駆動回路１３に与える。これにより、モータ１の各相には、該当する相の電圧指令値Ｖu*，Ｖv*，Ｖw*に応じたデューティ比で電圧が印加されることになる。
【００２７】
このような構成によって、舵取り機構３に結合された操作部材としてのステアリングホイール（図示せず）に操作トルクが加えられると、これがトルクセンサ７によって検出される。そして、その検出された操作トルクおよび車速に応じた目標電流値Ｉdqがｄｑ軸目標電流値演算部１６によって生成される。この目標電流値Ｉdqと二相検出電流Ｉγδとの偏差が偏差演算部１８によって求められ、この偏差をゼロに導くようにＰＩ制御部１９ＡによるＰＩ演算が行われる。この演算結果に対応した二相電圧指令値Ｖγδが電圧指令値生成部１９Ｂによって生成され、これが、座標変換部２０Ａ，２０Ｂを経て三相電圧指令値Ｖuvwに変換される。そして、ＰＷＭ制御部２１の働きによって、その三相電圧指令値Ｖuvwに応じたデューティ比で駆動回路１３が動作することによって、モータ１が駆動され、目標電流値Ｉdqに対応したアシストトルクが舵取り機構３に与えられることになる。こうして、操作トルクおよび車速に応じて操舵補助を行うことができる。電流検出部１１によって検出される三相検出電流Ｉuvwは、座標変換部１７Ａ，１７Ｂを経て、目標電流値Ｉdqに対応するように二相回転座標系（γ−δ）で表された二相検出電流Ｉγδに変換された後に、偏差演算部１８に与えられる。
【００２８】
回転座標系と固定座標系との間での座標変換のためには、ロータ５０の回転角（位相角、すなわち電気角）θが必要である。この回転角を表す制御回転角θ^が、レゾルバ２の出力を用いて回転角算出部２２で生成されるか、または回転角推定部３１での推定演算によって推定されるようになっている。そして、いずれかによって演算された制御回転角θ＾が、切換え部３２から、αβ／γδ座標変換部１７Ｂおよびγδ／αβ座標変換部２０Ａに与えられるようになっている。以下、回転角算出部２２で検出される回転角を「検出回転角θS」といい、回転角推定部３１で推定される回転角を「推定回転角θE」という。
【００２９】
回転角速度算出部２３は、回転角算出部２２から所定の制御周期（たとえば２００μｓｅｃ）毎に与えられる検出回転角θSの差分ΔθSを制御周期で除算することにより、ロータ５０の回転角速度ωを演算する。
センサ故障判定部２５は、レゾルバ２の故障の有無を判定する。たとえば、センサ故障判定部２５は、レゾルバ２の信号線２ａに導出される信号を監視することによって、レゾルバ２の故障、信号線２ａの断線故障、信号線２ａの接地故障を検出することができる。より具体的には、レゾルバ２とモータ制御装置１０との間の信号線２ａをプルアップ抵抗を介して電源電位に接続したり、プルダウン抵抗を介して接地電位に接続したりする構成をとることができる。この場合、信号線２ａが断線すると、当該信号線２ａには、レゾルバ２からの信号（正弦信号または余弦信号）が導出されなくなり、代わりに、当該信号線２ａは、電源電位または接地電位に固定される。そこで、センサ故障判定部２５は、信号線２ａが電源電位または接地電位に固定されているかどうかを判定することで、レゾルバ２の故障（信号線の故障を含む）の有無を判定することができる。むろん、レゾルバ２の故障検出には、その他の公知の方法を適用してもよい。
【００３０】
初期値決定部２４は、回転角推定部３１における推定演算のための初期値を決定するものである。初期値決定部２４は、センサ故障判定部２５からのトリガを受けて、前記初期値を決定するための演算を実行する。より具体的には、初期値決定部２４は、回転角速度演算部２３によって演算される回転角速度ωと、二相電圧指令値Ｖαβと、二相検出電流Ｉαβと、トルクセンサ７によって検出される操作トルクとに基づいて初期値を求める。操作トルクは、モータ１が発生するトルクに応じて変化するので、トルクセンサ７の出力信号は、モータ１の発生トルクに対応している。すなわち、この実施形態では、トルクセンサ７は、ステアリングホイールに加えられる操作トルクを検出するだけでなく、モータ１が発生するトルクを検出するトルク検出手段としての働きをも有している。
【００３１】
探査電圧発生部２６は、レゾルバ２の故障時にロータ５０の方向を大まかに特定するための探査磁界をステータ５５から発生させるための探査電圧指令値を生成し、二相電圧指令値Ｖαβに重畳する。この探査電圧発生部２６は、センサ故障判定部２５からのトリガを受けて作動する。探査磁界が発生することによって、ロータ５０に当該探査磁界に対応したトルクが発生する。このトルクがトルクセンサ７によって検出され、初期値決定部２４に与えられることになる。
【００３２】
切換え部３２は、センサ故障判定部２５による判定結果に応じて、検出回転角θSまたは推定回転角θEを選択し、その選択した回転角を制御回転角θ＾として出力する。すなわち、センサ故障判定部２５がレゾルバ２の故障が生じていないと判定している通常時には、切換え部３２は、検出回転角θSを制御回転角θ＾として出力する。一方、センサ故障判定部２５がレゾルバ２に故障が生じていると判定しているとき、すなわち、レゾルバ２の故障時には、推定回転角θEを選択して制御回転角θ＾として出力する。これにより、回転角センサとしてのレゾルバ２を用いないセンサレス駆動方式によってモータ１が駆動される状態となる。つまり、レゾルバ２の故障時にも、モータ１の駆動を継続して、操舵補助力を舵取り機構３に与えることができる。
【００３３】
回転角推定部３１は、モータ電流（ＵＶＷ／αβ座標変換部１７Ａで変換された二相検出電流Ｉαβ）と、γδ／αβ座標変換部２０Ａから与えられる二相電圧指令値Ｖαβとに基づいて、推定回転角θEを演算する。この回転角推定部３１は、センサ故障判定部２５からのトリガを受けて演算処理を開始するようになっている。すなわち、センサ故障判定部２５がレゾルバ２に故障が生じていないと判断している通常時には、推定回転角θEを求めるための推定演算を行わない。そして、センサ故障判定部２５がレゾルバ２に故障が生じていると判断すると、初期値決定部３１から与えられる初期値を用いて推定演算を開始し、推定回転角θEを生成して、切換え部３２に与える。
【００３４】
スイッチ３０は、回転角推定部３１に二相電圧指令値Ｖαβおよび二相検出電流Ｉαβを与えるオン状態と、それらを回転角推定部３１に与えないオフ状態とに制御される。このスイッチ３０は、ソフトウェア処理によるスイッチ機能である。このスイッチ３０は、センサ故障判定部２５による判定結果に応じてオン／オフするように制御される。すなわち、スイッチ３０は、センサ故障判定部２５がレゾルバ２に故障が生じていないと判定している通常時にはオフ状態に制御される。一方、センサ故障判定部２５が、レゾルバ２に故障が生じていると判定しているときには、オン状態に制御される。したがって、レゾルバ２に故障が生じているときにだけ、二相電圧指令値Ｖαβおよび二相検出電流Ｉαβが回転角推定部３１に与えられることになる。
【００３５】
図３は、回転角推定部３１の構成例を示すブロック図である。回転角推定部３１は、誘起電圧推定手段としての誘起電圧オブザーバ３５と、推定された誘起電圧をロータ回転角に変換する変換手段としてのロータ角推定部３６とを備えている。誘起電圧オブザーバ３５は、γδ／αβ座標変換部２０Ａからの二相電圧指令値Ｖαβと、ＵＶＷ／αβ座標変換部１７Ａからの二相検出電流Ｉαβとに基づいて、モータ１の誘起電圧を推定し、α軸誘起電圧推定値Ｅ^αおよびβ軸誘起電圧推定値Ｅ^β（以下、まとめて「推定誘起電圧Ｅ^αβ」という。）を生成する。ロータ角推定部３６は、この推定誘起電圧Ｅ^αβに基づいて、ロータ回転角を推定し、推定回転角θEを生成する。
【００３６】
図４は、誘起電圧オブザーバ３５の構成例を説明するためのブロック図である。誘起電圧オブザーバ３５としては、たとえば、非特許文献１に開示されている構成を用いることができ、より具体的には、図４に示すような構成となる。
この誘起電圧オブザーバ３５は、次式(3)(4)で表される。
ｘαβ(n+1)＝Ａ・ｘαβ(n)＋Ｂ１・Ｖαβ(n)＋Ｂ２・Ｉαβ(n)   …(3)
Ｅ^αβ(n)＝Ｃ・ｘαβ(n)＋Ｄ１・Ｖαβ(n)＋Ｄ２・Ｉαβ(n)    …(4)
ｘαβは内部状態を表す変数（内部変数）であり、α軸に対応したα軸変数ｘαとβ軸に対応したβ軸変数ｘβとからなる。Ａ、Ｂ１、Ｂ２、Ｃ、Ｄ１、Ｄ２は、二行二列の行列演算子であり、モータパラメータ（抵抗やインダクタンス）とオブザーバゲインとによって構成されるか、または「０」である。ｎは演算周期の番号（すなわちサンプリングタイミングの時刻）を表しており、演算周期（時刻）ｎは演算周期（時刻）ｎ＋１の直前の演算周期である。したがって、たとえば、ｘαβ(n)は時刻ｎにおける内部変数を表している。
【００３７】
初期値決定部２４（図１参照）は、内部変数ｘαβの初期値を決定するものであり、この初期値に基づいて誘起電圧オブザーバ３５による誘起電圧推定演算が行われることになる。この初期値が適切であれば、推定誘起電圧Ｅ^αβは、速やかに妥当な値へと収束する。
一方、誘起電圧Ｅαβは、次の(5)式で表すことができる。ただし、ＫEは誘起電圧定数、θはロータ回転位置、ωはロータ回転角速度である。
【００３８】
【数２】
2010029030.tif 000004
したがって、推定誘起電圧Ｅ^αβが求まれば、次の(6)式に従って、推定回転角θEが求まる。この演算が、ロータ角推定部３６によって行われるようになっている。
【００３９】
【数３】
2010029030.tif 000005
図５は、探査電圧発生部２６が発生する探査電圧指令値によってステータ５５が形成する探査磁界を説明するための図である。ステータ巻線５１〜５３に探査電圧指令値に相当する探査電圧が印加されることによって、ステータ５５側の電磁石による仮想的なＮ極が、図５に示す所定の複数個（この実施形態では１２個）の位置Ｐ１〜Ｐ１２に、この順序で、制御周期（たとえば、２００μｓｅｃ）毎に順次形成される。たとえば、二相固定座標系（α−β）におけるα軸からの角度θFによって仮想的なＮ極の位置を表すとすると、図５に示す各位置Ｐ１，Ｐ２，…，Ｐ１２は、次のように表される。
【００４０】
Ｐ１：角度θF＝９０°
Ｐ２：角度θF＝２７０°（Ｐ１の角度＋１８０°）
Ｐ３：角度θF＝６０°（Ｐ２の角度＋１５０°）
Ｐ４：角度θF＝２４０°（Ｐ３の角度＋１８０°）
Ｐ５：角度θF＝３０°（Ｐ４の角度＋１５０°）
Ｐ６：角度θF＝２１０°（Ｐ５の角度＋１８０°）
Ｐ７：角度θF＝０°（Ｐ６の角度＋１５０°）
Ｐ８：角度θF＝１８０°（Ｐ７の角度＋１８０°）
Ｐ９：角度θF＝３３０°（Ｐ８の角度＋１５０°）
Ｐ１０：角度θF＝１５０°（Ｐ９の角度＋１８０°）
Ｐ１１：角度θF＝３００°（Ｐ１０の角度＋１５０°）
Ｐ１２：角度θF＝１２０°（Ｐ１１の角度＋１８０°）
つまり、位置Ｐ１〜Ｐ１２は、３６０°の全角度範囲を３０°ずつの等間隔に区切った位置に設定されている。そして、相前後して仮想的なＮ極が形成される位置は、ロータ５０の回転中心に対して互いに対向した位置となっている。より具体的には、相前後して仮想的なＮ極が形成される位置は、１８０°離れた位置か、または１８０°−Δ（Δは所定の角度で、前述の例ではΔ＝３０°）だけ離れた位置となっている。さらに詳細には、直前の仮想Ｎ極形成位置から１８０°離れた位置に仮想Ｎ極を形成する第１ステップと、第１ステップで形成された仮想Ｎ極位置から１８０°−Δ（Δ＝３０°のとき１５０°）だけ離れた位置に仮想Ｎ極を形成する第２ステップとを交互に実行することによって、仮想Ｎ極位置が順次変更されていく。
【００４１】
このように、探査磁界は、その方向を制御周期毎に変化させながら次々と印加され、その方向は、位相がほぼ反転するように順序が選択されている。これにより、探査磁界によるロータ５０の回転を抑制しながら、ロータ回転角（電気角）の全角度範囲に渡る複数の方向の探査磁界を順次形成できる。
各方向の探査磁界を形成したときのトルクセンサ７の出力信号が、初期値決定部２４に取り込まれて、前述の初期値を決定するために用いられる。
【００４２】
図６は、探査磁界の方向と、探査磁界によってロータ５０に生じるトルクとの関係を説明するための図である。ロータ５０に生じるトルクは、前述のとおり、トルクセンサ７によって検出される。
図６には、ロータ５０が図５に示す回転角に位置しているとき（ロータ５０のＮ極が位置Ｐ５に向いているとき）を想定して、仮想的なＮ極の位置Ｐ１〜Ｐ１２（すなわち、探査磁界の方向）と、ロータ５０に生じるトルクとの関係が表されている。また、ロータ５０に生じる左回り（αβ座標平面で左回り）のトルクを正の値で表し、ロータ５０に生じる右回り（αβ座標平面で右回り）のトルクを負の値で表してある。
【００４３】
探査磁界がロータ５０の磁極方向と直交するときに、最も大きなトルクが生じる。すなわち、ロータ５０のＮ極位置に対して−９０°の位置にステータ５５側の仮想的なＮ極があるとき（位置Ｐ１１）、ロータ５０のトルクは極大値（正値）をとり、ロータ５０のＮ極位置に対して＋９０°の位置にステータ５５側の仮想的なＮ極があるとき（位置Ｐ１２）、ロータ５０のトルクは極小値（負値）をとる。
【００４４】
探査磁界がロータ５０の磁極方向と平行なときには、ロータ５０に生じるトルクの大きさは最小となる。すなわち、ロータ５０のＮ極位置に対して０°または１８０°の位置にステータ５５側の仮想的なＮ極があるとき（位置Ｐ５，Ｐ６）、ロータ５０のトルクは零となる。
図７は、初期値決定部２４による初期値決定処理を説明するためのフローチャートである。探査電圧発生部２６が探査電圧を発生するときに（ステップＳ２１）、初期値決定部２４は、探査磁界の方向（ステータ５５側の仮想的なＮ極位置）と、トルクセンサ７が出力する操作トルク（モータ１の発生トルク）とを対応付けて収集する（ステップＳ２２）。これにより、図６のようなトルクのグラフが得られる。このグラフから、初期値決定部２４は、検出トルクのゼロクロス点Ｚ１，Ｚ２、極大点Ｌmaxおよび極小点Ｌminのうちの少なくとも一つを求める（ステップＳ２３）。これに基づいて、初期値決定部２４は、ロータ５０の回転角θ(n)（０°≦θ(n)＜３６０°）を求める（ステップＳ２４）。
【００４５】
たとえば、ゼロクロス点Ｚ１を求めるとすれば、このゼロクロス点Ｚ１の近傍の検出トルクの変化から、当該ゼロクロス点Ｚ１が負値から正値に変化する点であることが分かる。そこで、初期値決定部２４は、ゼロクロス点Ｚ１（位置Ｐ５）をロータ５０の回転角θ(n)と特定する。
ゼロクロス点Ｚ２を求めるとすれば、このゼロクロス点Ｚ２の近傍の検出トルクの変化から、当該ゼロクロス点Ｚ２が正値から負値に変化する点であることが分かる。そこで、初期値決定部２４は、ゼロクロス点Ｚ２（位置Ｐ６）に１８０°を加算または減算した位置をロータ５０の回転角θ(n)と特定する。
【００４６】
また、極大点Ｌmaxを求めるとすれば、初期値決定部２４は、極大点Ｌmax（位置Ｐ１１）から９０°加算するか、または２７０°減算した位置をロータ５０の回転角θ(n)と特定する。
極小点Ｌminを求めるとすれば、初期値決定部２４は、極小点Ｌmin（位置Ｐ１２）から９０°減算するか、または２７０°加算した位置をロータ５０の回転角θ(n)と特定する。
【００４７】
こうしてロータ５０の回転角θ(n)が特定されると、初期値決定部２４は、その回転角θ(n)を前記式(5)に代入することによって、誘起電圧Ｅαβ(n)を求める（ステップＳ２５）。このとき、回転角速度ωが必要になる。この回転角速度ωとしては、センサ故障判定部２５が故障発生の判定をする直前に回転角速度演算部２３が演算した値を用いればよい。誘起電圧定数ＫEは事前に測定しておけばよい。
【００４８】
次に、初期値決定部２４は、前記式(4)を変形して得られる次式(7)に従って内部変数ｘαβ(n)を求め、これを内部変数ｘαβ(n)の初期値とする（ステップＳ２６）。
ｘαβ(n)＝Ｃ-1｛Ｅ^αβ(n)−Ｄ１・Ｖαβ(n)＋Ｄ２・Ｉαβ(n)｝    …(7)
この計算が可能であるためには、行列演算子Ｃが正則（逆行列を持つ）である必要がある。一般的に行列演算子Ｃは対角行列または単位行列であるので正則である。
【００４９】
制御周期が２００μｓｅｃの場合に１２個の位置に仮想Ｎ極を形成する場合（すなわち、１２回に渡って探査磁界を形成する場合）には、必要な時間は２．４ｍｓｅｃである。この短時間における外部からのトルク、すなわち、運転者がステアリングホイールに加える操作トルクの変動は無視して差し支えない。したがって、この間のトルクセンサ７からの出力信号を用いることで、モータ１のトルク応答を検出できる。
【００５０】
また、ステアリングホイールの回転速度には上限値（運転者が操作し得る最大の回転速度）があるので、それに応じて、ロータ５０の回転速度にも上限値がある。ロータ５０が上限値で回転している場合でも、たとえば２．４ｍｓｅｃの時間内におけるロータ５０の回転角は高々４５°程度である。したがって、前述のようにして求められるロータ５０の回転角の誤差は高々４５°である。この程度の誤差範囲で内部変数ｘαβ(n)の初期値を定めておけば、回転角推定部３１による推定演算が開始された後には、推定回転角θEは、速やかに妥当な値（ロータ５０の実際の回転角に近似した値）へと収束する。
【００５１】
図８は、マイクロコンピュータ１２が所定の制御周期毎に繰り返し実行する処理を説明するためのフローチャートである。マイクロコンピュータ１２は、トルクセンサ７、車速センサ８、レゾルバ２、および電流検出部１１の各出力信号を取り込む（ステップＳ１）。基本目標電流値演算部１５は、トルクセンサ７が検出した操作トルクおよび車速センサ８が検出した車速に基づいて、基本目標電流値Ｉ*を演算する（ステップＳ２）。一方、センサ故障判定部２５は、信号線２ａに導出される信号に基づいて、レゾルバ２の故障の有無を判定する（ステップＳ３）。
【００５２】
レゾルバ２に故障がなければ（ステップＳ３：ＮＯ）、切換え部３２によって、回転角算出部２２が算出する検出回転角θS（レゾルバ出力による回転角）が制御回転角θ＾として選択される（ステップＳ４）。これにより、レゾルバ２の出力信号を用いながら基本目標電流値Ｉ*に基づいてモータ１を駆動する通常の制御が実行される（ステップＳ７）。より具体的には、ｄｑ軸目標電流値演算部１６によってｄ軸目標電流値Ｉd*およびｑ軸目標電流値Ｉq*が設定される。また、電流検出部１１が検出する三相検出電流Ｉuvwが、座標変換部１７Ａ，１７Ｂで座標変換され、γ軸電流Ｉγおよびδ軸電流Ｉδが求められる。偏差演算部１８は、ｄ軸電流偏差δＩd（＝Ｉd*−Ｉγ）およびｑ軸電流偏差δＩq（＝Ｉq*−Ｉδ）を求める。ＰＩ制御部１９Ａは、電流偏差δＩd，δＩqに対するＰＩ（比例積分）演算等を行い、このＰＩ演算に基づいて、電圧指令値生成部１９Ｂによって、ｄ軸電圧指令値Ｖd*およびｑ軸電圧指令値Ｖq*が生成される。これらが座標変換部２０Ａ，２０Ｂにおいて座標変換されることによって、ＵＶＷ相の電圧指令値Ｖu*，Ｖv*，Ｖw*が生成される。これらの電圧指令値Ｖu*，Ｖv*，Ｖw*に対応するＰＷＭ制御信号がＰＷＭ制御部２１によって生成される。αβ／γδ座標変換部１７Ｂおよびγδ／αβ座標変換部２０Ａにおける座標変換演算には、レゾルバ２の出力信号に基づいて回転角算出部２２によって算出される検出回転角θSが制御回転角θ＾として用いられる（ステップＳ４）。
【００５３】
この通常の制御が実行されるとき、スイッチ３０はオフ状態とされ、回転角推定部３１の内部変数ｘαβ(n)はリセットされている（ステップＳ５）。また、回転角推定部３１による回転角推定演算は停止されている（ステップＳ６）。これにより、演算負荷が抑制されているので、マイクロコンピュータ１２には、演算能力の高い高価なものを必ずしも適用する必要がない。
【００５４】
一方、センサ故障判定部２５によって、レゾルバ２に故障が生じていると判定されると（ステップＳ３：ＹＥＳ）、切換え部３２によって、回転角推定部３１が演算する推定回転角θEが制御回転角θ＾として選択される（ステップＳ８）。そして、スイッチ３０がオン状態に制御され（ステップＳ９）、回転角推定部３１に二相電圧指令値Ｖαβおよび二相検出電流Ｉαβが供給される状態とされる。
【００５５】
さらに、内部変数ｘαβ(n)の初期値が決定済みかどうかが判断され（ステップＳ１０）、初期値が未決定であれば（内部変数ｘαβ(n)がリセット状態であれば）、初期値決定部２４等の働きによる初期値決定処理（図７参照）が行われる。すなわち、探査電圧発生部２６から探査磁界を形成するための探査電圧指令値が発生される（ステップＳ１１）。そし、初期値決定部２４による初期値決定が行われる（ステップＳ１２）。この処理の詳細は、前述のとおりである。
【００５６】
こうして内部変数ｘαβ(n)の初期値が決定すると、この初期値を用いて回転角推定部３１による位置推定演算が行われる（ステップＳ１３）。初期値が決定済みであれば（ステップＳ１０：ＹＥＳ）、すなわち、既に回転角推定部３１による回転角推定演算を開始しているときには、ステップＳ１１，Ｓ１２の処理が省かれる。
そして、回転角推定部３１によって求められた推定回転角θEを用いたセンサレス制御によって、モータ１が駆動される（ステップＳ７）。
【００５７】
このように、この実施形態では、レゾルバ２に故障が発生したときには、回転角推定部３１によって求められる推定回転角θEを制御回転角θ＾として用いたセンサレス制御（レゾルバ２の出力信号を用いずに行うモータ制御）に切り換えられる。これにより、レゾルバ２が故障した後にも、モータ１の駆動を継続でき、操舵補助力を舵取り機構３に与えることができる。
【００５８】
そして、レゾルバ２に故障が生じていない通常時には、回転角推定部３１による推定演算は停止状態にあるので、演算負荷が少なくなっている。そのため、通常時にも推定演算を行う構成の場合に比較して、マイクロコンピュータ１２には演算能力の低い安価なものを適用できる。これにより、モータ制御装置１０のコストダウン、ひいては電動パワーステアリング装置のコストダウンを図ることができる。
【００５９】
また、レゾルバ２に故障が生じたときには、探査磁界の形成によってロータ５０の回転角がおおまかに求められ、これに基づいて、回転角推定部３１における内部変数ｘαβ(n)の初期値が決定される。その結果、回転角推定部３１は、その推定演算の開始後、速やかに妥当な推定回転角θEを生成することができる。これにより、推定回転角θEを用いたセンサレス制御を速やかに立ち上げることができ、精度の高い推定回転角θEを用いてモータ１を適切に制御することができる。したがって、モータ１を効率良く駆動することができるので、充分なトルクを発生させることができる。
【００６０】
以上、この発明の一実施形態について説明したが、この発明は、さらに他の形態で実施することもできる。たとえば、前述の実施形態では、回転角算出部２２によって算出される検出回転角θSを用いて回転角速度ωを演算する構成としているが、図１に二点鎖線６０で示すように、ステアリングホイールの操舵角を検出する舵角センサ９が備えられている場合には、この舵角センサ９によって検出される操舵角からモータ１の回転角速度ωを求める構成としてもよい。
【００６１】
また、前述の実施形態では、探査磁界を形成したときにロータ５０が生じるトルクを、操作トルクを検出するためのトルクセンサ７によって検出するようにしているが、モータ１のトルクを検出するためのトルクセンサを別途設けてもよい。
また、前述の実施形態では、探査磁界によって仮想的なＮ極を１２個の位置に形成しているが、仮想的なＮ極の形成位置は１２個に限られない。
【００６２】
また、前述の実施形態では、電動パワーステアリング装置の駆動源としてのモータ１を制御するために本発明が適用された場合について説明したが、この発明は、電動パワーステアリング装置以外の用途のモータ制御にも適用することができる。
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【図面の簡単な説明】
【００６３】
【図１】この発明の一実施形態に係るモータ制御装置を適用した電動パワーステアリング装置の電気的構成を説明するためのブロック図である。
【図２】モータの構成および座標系を説明するための図である。
【図３】回転角推定部の構成例を示すブロック図である。
【図４】誘起電圧オブザーバの構成例を説明するためのブロック図である。
【図５】探査電圧発生部が発生する探査電圧指令値によってステータが形成する探査磁界を説明するための図である。
【図６】探査磁界の方向と、探査磁界によってロータに生じるトルクとの関係を説明するための図である。
【図７】初期値決定部による初期値決定処理を説明するためのフローチャートである。
【図８】マイクロコンピュータが所定の制御周期毎に繰り返し実行する処理を説明するためのフローチャートである。
【符号の説明】
【００６４】
１０…モータ制御装置、１１…電流検出部、１２…マイクロコンピュータ、５０…ロータ、５１〜５３…ステータ巻線、５５…ステータ
【図１】
2010029030.tif 000006
【図２】
2010029030.tif 000007
【図３】
2010029030.tif 000008
【図４】
2010029030.tif 000009
【図５】
2010029030.tif 000010
【図６】
2010029030.tif 000011
【図７】
2010029030.tif 000012
【図８】
2010029030.tif 000013