(57)【要約】【課題】位置推定の周期を長くすることなく、位置推定の分解能を向上することができるモータ制御装置を提供する。【解決手段】センシング信号生成部２１は、所定のセンシング周波数のセンシング信号を生成する。このセンシング信号がモータ３のステータに注入される。センシング信号に対するモータ３の応答が電流センサ９によって検出される。位置推定部２０は、所定のサンプリング周波数でサンプリングされるモータ電流波形のピークに基づき、ロータの回転位置を推定する。センシング周波数は、サンプリング周波数が当該センシング周波数の非整数倍となるように定められている。これにより、時間軸上で隣接するセンシング信号周期間で、各センシング信号周期中での電流サンプリングタイミングがずらされている。【選択図】図１
2009183061.tif 000002
【特許請求の範囲】
【請求項１】
ロータと、このロータに対向するステータとを備えたモータを制御するためのモータ制御装置であって、
所定のセンシング周波数の正弦波状センシング信号をステータに注入するためのセンシング信号注入手段と、
前記モータに流れるモータ電流を所定のサンプリング周波数でサンプリングするモータ電流検出手段と、
このモータ電流検出手段によってサンプリングされたモータ電流波形のピークに基づいてロータの回転位置を求める位置推定手段とを含み、
前記サンプリング周波数が、前記センシング周波数の非整数倍となるように当該センシング周波数が定められており、これにより、時間軸上で隣接するセンシング信号周期間で、前記モータ電流検出手段のセンシング信号周期中での電流サンプリングタイミングがずらされている、モータ制御装置。
【請求項２】
前記センシング周波数ｗaが、前記サンプリング周波数ｗsの約数Ｎ1に２以上の整数Ｎ2を乗じた値に定められており、前記整数Ｎ2が、ｗs＝Ｎ1×Ｍを満たす整数Ｍと互いに素となる整数である、請求項１記載のモータ制御装置。
【請求項３】
前記位置推定手段が、複数のセンシング信号周期においてそれぞれ検出されるモータ電流波形のピークを用いてロータの回転位置を求めるものである、請求項１または２記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ブラシレスモータをセンサレス駆動するためのモータ制御装置に関する。ブラシレスモータは、たとえば、電動パワーステアリング装置における操舵補助力の発生源として利用される。
【背景技術】
【０００２】
ブラシレスＤＣモータを駆動制御するためのモータ制御装置は、一般に、ロータの回転位置を検出するための位置センサの出力に応じてモータ電流の供給を制御するように構成されている。しかし、位置センサの耐環境性が問題となるうえ、高価な位置センサおよびこれに関連する配線がコストの削減を阻害し、かつ、小型化を阻害している。そこで、位置センサを用いることなくブラシレスＤＣモータを駆動するセンサレス駆動方式が提案されている。センサレス駆動方式は、ロータの回転に伴う誘起電圧を推定することによって、磁極の位相（ロータの電気角）を推定する方式である。
【０００３】
ロータ停止時および極低速回転時には、誘起電圧を推定できないので、別の方式で磁極の位相が推定される。具体的には、図４(a)に示すように、ロータ５０の回転中心を原点とする二相固定座標であるαβ座標の原点まわりにロータ５０の回転方向に沿って回転する高周波電圧ベクトル（大きさは一定）が形成される。より具体的には、このような高周波電圧ベクトルが形成されるように、正弦波の高周波探査電圧であるセンシング信号がＵ，Ｖ，Ｗ相のステータ巻線５１，５２，５３に印加される。高周波電圧ベクトルは、ロータ５０の回転速度に対して十分に高速に回転する電圧ベクトルである。この高周波電圧ベクトルの印加に伴って、Ｕ，Ｖ，Ｗ相のステータ巻線５１，５２，５３に電流が流れる。この三相の電流の大きさおよび方向をαβ座標上で表した電流ベクトルは、原点まわりに回転することになる。
【０００４】
ロータ５０のインダクタンスは、磁束方向に沿う磁極軸であるｄ軸と、これに直交するｑ軸（トルク方向に沿う軸）とで異なる値をとる。そのため、電流ベクトルの大きさは、ｄ軸に近い方向の場合に大きく、ｑ軸に近い方向の場合に小さくなる。その結果、図４(b)に示すように、電流ベクトルの終点は、αβ座標上において、ロータ５０のｄ軸方向を長軸とする楕円形の軌跡５５を描く。
【０００５】
したがって、電流ベクトルの大きさは、ロータ５０のＮ極方向およびＳ極方向において極大値を有する。すなわち、図５(a)の曲線Ｌ２に示すように、電流ベクトルの１周期において、その大きさは、２つの極大値を有する。この場合、電圧ベクトルの大きさが十分に大きければ、ステータの磁気飽和の影響により、ロータ５０のＮ極側の方がＳ極側よりもインダクタンスが小さくなり、Ｎ極方向の電流ベクトルの大きさが最大値をとることになる（曲線Ｌ１参照）。
【０００６】
そこで、十分に大きな高周波電圧ベクトルを印加してＮ極に対応した電流ベクトルの極大を特定しておき、その後は、大きさを小さくした高周波電圧ベクトルを印加し、電流ベクトルの極大値に基づいて、ロータ５０の回転位置を推定することができる。より具体的には、大きさが極大値をとるときの電流ベクトルのα軸成分Ｉαおよびβ軸成分Ｉβにより、ロータ５０の位相角（電気角）θは、θ＝Ｔan-1（Ｉβ／Ｉα）として求められる。
【特許文献１】特開２００４−３４３９６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
センシング信号の正弦波の周期（以下、「センシング信号周期」という。）Ｔａは、電流応答のサンプリング周期Ｔｓの整数倍に定められている。たとえば、電流応答のサンプリング周期Ｔｓが１００μsecであれば、センシング信号周期Ｔａを５ｍsecに定める、というように、Ｔａ／Ｔｓ＝Ｎ（自然数）となるように、サンプリング周期Ｔｓとセンシング信号周期Ｔａとを決定している。
【０００８】
この場合、ロータ回転位置推定の分解能は、３６０／Ｎ（＝３６０／（Ｔａ／Ｔｓ）deg）となる。そのため、ロータ回転位置推定の分解能を上げるためには、サンプリング周期Ｔｓを短くするか、またはセンシング信号周期Ｔａを長くしなければならない。しかし、サンプリング周期Ｔｓを短くするのは、主としてハードウェアの制約のために、困難な場合が多い。また、センシング信号周期Ｔａを長くすると、ロータ回転位置推定の周期が長くなるから、とくに、低速回転状態のときに、ロータの回転に正確に追従した制御を行うことが困難になる。
【０００９】
そこで、この発明の目的は、位置推定の周期を長くすることなく、位置推定の分解能を向上することができるモータ制御装置を提供することである。言い換えれば、位置推定の分解能を維持しながら、位置推定の周期の短縮を図ることができるモータ制御装置を提供することである。
【課題を解決するための手段】
【００１０】
上記の目的を達成するための請求項１記載の発明は、ロータ（５０）と、このロータに対向するステータ（５１，５２，５３）とを備えたモータ（３）を制御するためのモータ制御装置（５）であって、所定のセンシング周波数の正弦波状センシング信号をステータに注入するためのセンシング信号注入手段（２１）と、前記モータに流れるモータ電流を所定のサンプリング周波数でサンプリングするモータ電流検出手段（９，２６）と、このモータ電流検出手段によってサンプリングされたモータ電流波形のピークに基づいてロータの回転位置を求める位置推定手段（２８〜３１）とを含み、前記サンプリング周波数が、前記センシング周波数の非整数倍（好ましくは２以上の非整数倍）となるように当該センシング周波数が定められており、これにより、時間軸上で隣接するセンシング信号周期間で、前記モータ電流検出手段のセンシング信号周期中での電流サンプリングタイミングがずらされている、モータ制御装置である。なお、括弧内の英数字は後述の実施形態における対応構成要素等を表す。以下、この項において同じ。
【００１１】
この構成によれば、所定のセンシング周波数を有する正弦波状のセンシング信号をステータに注入し、そのときのモータ電流応答を所定のサンプリング周波数で検出し、モータ電流波形のピークに基づいてロータの回転位置が推定される。この場合に、サンプリング周波数がセンシング周波数の非整数倍とされていることにより、時間軸上で隣接するセンシング信号周期間でモータ電流のサンプリングタイミングがずらされている。これにより、センシング信号周期を長くすることなく、位置推定の分解能を上げることができる。
【００１２】
換言すれば、位置推定の分解能を維持しつつ、センシング信号周期（位置推定の周期）を長くすることが可能になる。したがって、ハードウェア構成の制限からセンシング周波数に制限がある状況でも、充分な位置推定分解能を達成することが可能になる。
請求項２記載の発明は、前記センシング周波数ｗaが、前記サンプリング周波数ｗsの約数Ｎ1に２以上の整数Ｎ2を乗じた値（すなわち、ｗa＝Ｎ1×Ｎ2）に定められており、前記整数Ｎ2が、ｗs＝Ｎ1×Ｍを満たす整数Ｍと互いに素となる整数である、請求項１記載のモータ制御装置である。
【００１３】
位置推定手段によって求められるロータ回転位置の更新周期および分解能は、次式のように表すことができる。
ロータ回転位置更新周期：１／（Ｎ1×Ｎ2）sec
分解能：３６０×Ｎ1×Ｔｓ×Ｇ deg
ただし、Ｇは、ＭとＮ2との最大公約数である。
【００１４】
最大公約数Ｇが大きいほど分解能が大きくなり、位置推定精度が悪くなる。したがって、最大公約数Ｇ＝１のとき、すなわち、ＭとＮ2とが互いに素であるときに、最も大きな位置推定分解能が得られる。
請求項３記載の発明は、前記位置推定手段が、複数のセンシング信号周期においてそれぞれ検出されるモータ電流波形のピークを用いてロータの回転位置を求めるものである、請求項１または２記載のモータ制御装置である。この構成によれば、複数のセンシング信号周期でそれぞれ検出されたモータ電流波形のピークを用いることで、位置推定精度を高めることができる。たとえば、各センシング信号周期におけるモータ電流波形のピークを用いてロータ回転位置を演算し、複数のセンシング信号周期に対応して演算されたロータ回転位置に対して平均値演算を行うことにより、ロータの回転位置を推定してもよい。
【発明を実施するための最良の形態】
【００１５】
以下では、この発明の実施の形態を、添付図面を参照して詳細に説明する。
図１は、この発明の一実施形態に係るモータ制御装置を適用した電動パワーステアリング装置の電気的構成を説明するためのブロック図である。この電動パワーステアリング装置は、車両のステアリングホイールに加えられる操舵トルクを検出するトルクセンサ１と、車両の舵取り機構２に操舵補助力を与えるモータ３（電動モータ）と、このモータ３を駆動制御するモータ制御装置５とを備えている。モータ制御装置５は、トルクセンサ１が検出する操舵トルクに応じてモータ３を駆動することによって、操舵状況に応じた適切な操舵補助を実現する。
【００１６】
モータ３は、この実施形態では、三相ブラシレスＤＣモータであり、図２に図解的に示すように、界磁としてのロータ５０と、これに対向するステータに配置されたＵ相、Ｖ相およびＷ相のステータ巻線５１，５２，５３とを備えている。モータ３は、ロータの外部にステータを対向配置したインナーロータ型のものであってもよいし、筒状のロータの内部にステータを対向配置したアウターロータ型のものであってもよい。
【００１７】
モータ制御装置５は、マイクロコンピュータ７と、このマイクロコンピュータ７によって制御され、モータ３に電力を供給する駆動回路（インバータ回路）８と、モータ３の各相のステータ巻線に流れる電流を検出する電流センサ９とを備えている。
マイクロコンピュータ７は、ＣＰＵおよびメモリ（ＲＯＭおよびＲＡＭなど）を備えており、所定のプログラムを実行することによって、複数の機能処理部として機能するようになっている。この複数の機能処理部には、電流指令値生成部１１と、ＰＩ（比例積分）制御部１２と、指示電圧生成部１３と、γδ／αβ座標変換部１４と、αβ／ＵＶＷ座標変換部１５と、ＰＷＭ制御部１６と、ＵＶＷ／αβ座標変換部１７と、αβ／γδ座標変換部１８と、偏差演算部１９と、位置推定部２０と、センシング信号生成部２１と、加算部２２と、角速度演算部２５とを備えている。
【００１８】
電流指令値生成部１１は、モータ３のロータ磁極方向に沿うｄ軸電流成分の指令値Ｉd*と、ｄ軸に直交するｑ軸電流成分の指令値Ｉq*とを生成する。以下、これらをまとめて言うときには、「電流指令値Ｉdq」という。ただし、ｄｑ座標平面はロータ５０の回転方向に沿う平面であり、ｄ軸およびｑ軸は、ロータ５０とともに回転する二相回転座標系（ｄ−ｑ）を規定する（図２参照）。
【００１９】
モータ３のＵ相、Ｖ相およびＷ相に与えるべき電流（正弦波電流）の振幅を表す電流指令値Ｉ*を用いると、ｄ軸電流指令値Ｉd*およびｑ軸電流指令値Ｉq*は、次式(1)(2)のように表される。
Ｉd*＝０                  ……(1)
Ｉq*＝−(3/2)1/2・Ｉ*    ……(2)
したがって、電流指令値生成部１１は、ｄ軸電流指令値Ｉd*＝０を生成する一方で、トルクセンサ１によって検出される操舵トルクに応じたｑ軸電流指令値Ｉq*を生成する。より具体的には、操舵トルクに対応したｑ軸電流指令値Ｉq*を記憶したマップ（テーブル）を用いてｑ軸電流指令値Ｉq*が生成されるようになっていてもよい。モータ３が発生するトルクは、モータ電流に対応するから、電流指令値Ｉdqは、モータ３から発生させるべきトルクを指令するための「トルク指令値」と言い換えることもできる。
【００２０】
電流センサ９は、モータ３のＵ相電流ＩU、Ｖ相電流ＩVおよびＷ相電流Ｉwを検出する（以下、これらをまとめていうときには「三相検出電流ＩUVW」という）。その検出値は、所定のサンプリング周波数ｗsでサンプリングされてマイクロコンピュータ７に取り込まれ、ＵＶＷ／αβ座標変換部１７に与えられる。
ＵＶＷ／αβ座標変換部１７は、三相検出電流ＩUVWを、二相固定座標系（α−β）上での電流ＩαおよびＩβ（以下、これらをまとめていうときには「二相検出電流Ｉαβ」という。）に座標変換する。二相固定座標系（α−β）とは、ロータ５０の回転中心を原点として、ロータ５０の回転平面内にα軸およびこれに直交するβ軸を定めた固定座標系である（図２参照）。座標変換された二相検出電流Ｉαβは、αβ／γδ座標変換部１８に与えられる。
【００２１】
αβ／γδ座標変換部１８は、二相検出電流Ｉαβを、位置推定部２０によって推定されるロータ回転位置θ^（以下、「推定回転位置θ^」という。）に従う二相回転座標系（γ−δ）上での電流ＩγおよびＩδ（以下、これらをまとめていうときには「二相検出電流Ｉγδ」という。）に座標変換する。二相回転座標系（γ−δ）は、推定回転位置θ^にロータ５０がある場合に、ロータ磁極方向に沿うγ軸と、このγ軸に直交するδ軸とによって規定される回転座標系である（図２参照）。推定回転位置θ^に誤差がなく、実際のロータ回転位置と一致しているとき、二相回転座標系（ｄ−ｑ）と二相回転座標系（γ−δ）とは一致する。
【００２２】
二相検出電流Ｉγδは、偏差演算部１９に与えられるようになっている。この偏差演算部１９は、ｄ軸電流指令値Ｉd*に対するγ軸電流Ｉγの偏差、およびｑ軸電流指令値Ｉq*に対するδ軸電流Ｉδの偏差を演算する。これらの偏差がＰＩ制御部１２に与えられてそれぞれＰＩ演算処理を受ける。そして、これらの演算結果に応じて、指示電圧生成部１３によって、γ軸指示電圧Ｖγ*およびδ軸指示電圧Ｖδ*（以下、これらをまとめていうときには「二相指示電圧Ｖγδ」という。）が生成されて、γδ／αβ座標変換部１４に与えられる。
【００２３】
γδ／αβ座標変換部１４は、γ軸指示電圧Ｖγ*およびδ軸指示電圧Ｖδ*を、二相固定座標系（α−β）の指示電圧であるα軸指示電圧Ｖα*およびβ軸指示電圧Ｖβ*（以下、これらをまとめていうときには「二相指示電圧Ｖαβ」という。）に座標変換する。この二相指示電圧Ｖαβは、αβ／ＵＶＷ座標変換部１５に与えられる。
αβ／ＵＶＷ座標変換部１５は、α軸指示電圧Ｖα*およびβ軸指示電圧Ｖβ*を三相固定座標系の指示電圧、すなわち、Ｕ相、Ｖ相およびＷ相の指示電圧ＶU*，ＶV*，ＶW*（以下、これらをまとめていうときには「三相指示電圧ＶUVW」という。）に変換する。
【００２４】
ＰＷＭ制御部１６は、三相の指示電圧ＶU*，ＶV*，ＶW*に応じて制御されたデューティ比の駆動信号を生成して駆動回路８に与える。これにより、モータ３の各相には、該当する相の指示電圧ＶU*，ＶV*，ＶW*に応じたデューティ比で電圧が印加されることになる。
このような構成によって、舵取り機構２に結合された操作部材としてのステアリングホイール（図示せず）に操舵トルクが加えられると、これがトルクセンサ１によって検出される。そして、その検出された操舵トルクに応じた電流指令値Ｉdqが電流指令値生成部１１によって生成される。この電流指令値Ｉdqと二相検出電流Ｉγδとの偏差が偏差演算部１９によって求められ、この偏差を零に導くようにＰＩ制御部１２によるＰＩ演算が行われる。この演算結果に対応した二相指示電圧Ｖγδが指示電圧生成部１３によって生成され、これが、座標変換部１４，１５を経て三相指示電圧ＶUVWに変換される。そして、ＰＷＭ制御部１６の働きによって、その三相指示電圧ＶUVWに応じたデューティ比で駆動回路８が動作することによって、モータ３が駆動され、電流指令値Ｉdqに対応したアシストトルクが舵取り機構２に与えられることになる。こうして、操舵トルクに応じて操舵補助を行うことができる。電流センサ９によって検出される三相検出電流ＩUVWは、座標変換部１７，１８を経て、電流指令値Ｉdqに対応するように二相回転座標系（γ−δ）で表された二相検出電流Ｉγδに変換された後に、偏差演算部１９に与えられる。
【００２５】
回転座標系と固定座標系との間での座標変換のためには、ロータ５０の回転位置を表す位相角（電気角）θが必要である。この位相角を表す推定回転位置θ^が位置推定部２０によって生成され、γδ／αβ座標変換部１４およびαβ／γδ座標変換部１８に与えられるようになっている。
センシング信号生成部２１は、ロータ５０の位相角θを推定するために、ステータ巻線５１〜５３に正弦波状のセンシング信号を注入するセンシング信号注入手段として機能する。このセンシング信号生成部２１は、モータ３の定格周波数に比較して十分に高いセンシング周波数ｗa（たとえば、ｗa＝４００Hz）の高周波正弦電圧（図５(b)参照）を、探査電圧として、モータ３のＵ相、Ｖ相およびＷ相のステータ巻線５１，５２，５３に印加するためのセンシング信号を生成する。より具体的には、ロータ５０の回転を引き起こすことのない程度のデューティ比の高周波電圧の印加によって、Ｖ−Ｗ相通電、Ｗ−Ｕ相通電およびＵ−Ｖ相通電を順次繰り返させることにより、ロータ５０の回転中心まわりで空間的に回転する高周波電圧ベクトルを印加することができるセンシング信号を生成する。この高周波電圧ベクトルは、ロータ５０の回転中心を原点とする固定座標であるαβ座標の原点まわりに定速回転する一定の大きさの電圧ベクトルである（図４(a)参照）。
【００２６】
センシング信号生成部２１は、この実施形態では、二相指示電圧Ｖαβに重畳すべきセンシング信号を生成する。このセンシング信号は、加算部２２によって、二相指示電圧Ｖαβに重畳されるようになっている。
位置推定部２０は、サンプリング周期Ｔｓ（＝１／ｗs）ごとにＵＶＷ／αβ座標変換部１７から与えられる二相検出電流Ｉαβに基づいて、ロータ５０の回転位置を推定し、推定回転位置θ^を生成する。
【００２７】
そして、角速度演算部２５は、位置推定部２０が生成する推定回転位置θ^に基づいて、ロータ５０の角速度ωを演算する。すなわち、制御周期毎に推定回転位置θ^が生成されると、前制御周期と今制御周期とにおける推定回転位置θ^の差に基づいて、角速度ωが演算される。この角速度ωは、位置推定部２０における位置推定演算のために用いられる。
【００２８】
図３は、位置推定部２０の構成を説明するためのブロック図である。位置推定部２０は、電流値演算部２６と、逆ノッチフィルタ２７と、電流ピークタイミング抽出部２８と、電流同期抽出部２９と、ロータ位置演算部３０と、平均値演算部３１とを備えている。
電流値演算部２６は、電流ベクトルの大きさ、すなわち、電流の大きさＩを求める。より具体的には、電流値演算部２６は、ＵＶＷ／αβ座標変換部１７から与えられる二相検出電流Ｉαβに基づいて、電流の大きさＩを演算する。たとえば、次式(3)に従って、電流の大きさＩが演算される。
【００２９】
Ｉ＝｛Ｉα2＋Ｉβ2｝1/2    ……  (3)
逆ノッチフィルタ２７は、電流値演算部２６の出力からノイズ成分を除去する。電流の大きさＩには、高周波電圧ベクトルの１周期中に２回の極大値が生じる。したがって、電流値演算部２６の出力のうち、有意な信号成分の周波数は、センシング信号生成部２１が生成するセンシング信号の周波数の２倍程度の周波数を有する。そこで、逆ノッチフィルタ２７は、センシング信号の周波数の２倍の周波数を中心周波数ｆｃとし、角速度演算部２５によって演算される角速度ωに対応する周波数α（＝ω／２π）の２倍の範囲ｆｃ±αの信号を通過させ、この範囲外の信号を除去する特性（逆ノッチフィルタ特性）を有している。
【００３０】
電流ピークタイミング抽出部２８は、逆ノッチフィルタ２７の出力に基づき、電流値演算部２６によって求められた電流の大きさＩが極大値（ピーク値）をとるタイミング（極大値タイミング）を検出する。より具体的には、電流ピークタイミング抽出部２８は、センシング信号周期毎にピークホールド処理を行い、そのセンシング信号周期中に電流の大きさＩが極大値をとる極大値タイミングを抽出する。この極大値タイミングは、ロータ５０の回転位置（位相）に対応する。この電流ピークタイミング抽出部２８による処理の詳細は、後述する。
【００３１】
電流同期抽出部２９は、電流ピークタイミング抽出部２８が極値タイミングｔを生成すると、これに応答して、そのタイミングｔにおける二相検出電流Ｉαβ(t)をＵＶＷ／αβ座標変換部１７から取り込んで出力する。
ロータ位置演算部３０は、電流同期抽出部２９から与えられる極値タイミング二相検出電流Ｉαβ(t)を用いて、次式(4)に従って、ロータの回転位置（回転角）θを求める。
【００３２】
θ＝Ｔan-1（Ｉβ／Ｉα）  ……(4)
平均値演算部３１は、複数のセンシング信号周期でそれぞれ求められるロータ回転位置θに対して平均値演算を施すことによって、推定回転位置θ＾を演算する。
図４(a)は、センシング信号生成部２１によって生成されてステータ巻線５１，５２，５３に印加されるセンシング信号（回転探査電圧）に対応する高周波電圧ベクトルを示し、図４(b)は、高周波電圧ベクトルに対する電流ベクトルの応答を示す。回転探査電圧の印加により形成される高周波電圧ベクトルは、一定の大きさを有し、αβ座標の原点まわりに定速で回転する。このとき、ロータ５０の極位置に応じて電流ベクトルの大きさが変化する。より具体的には、ロータ５０のＮ極およびＳ極に対応する位置で電流ベクトルの大きさ、すなわち電流の大きさＩが極大値をとり、それらに対して電気角で９０度だけ異なる２つの位置で電流の大きさＩが極小値をとる。その結果、電流ベクトルの終点は、αβ座標の原点のまわりに楕円形の軌跡５５を形成することになる。その楕円形は、ロータ５０のＮ極およびＳ極に対応する長軸方向を有する。
【００３３】
図５(a)は、電流波形の一例を示す波形図である。すなわち、電流の大きさＩの時間変化の一例が示されている。電流波形には、電流ベクトルの終点が形成する楕円形の軌跡５５（図４(b)参照）の２つの長軸方向に対応した極大点Ｐ１，Ｐ２が現れる。
ロータ５０の角速度ωが高周波電圧ベクトルの回転速度に対して十分に小さいときには、高周波電圧ベクトルの１周期中に、電流の大きさＩは、２度の極大点Ｐ１，Ｐ２をとる。この状態が図５(a)の曲線Ｌ２に示されている。
【００３４】
次に、電流値演算部２６（図３参照）による電流値演算の周期、すなわち、モータ電流のサンプリング周期Ｔｓと、センシング信号の周波数（以下「センシング周波数」という。）ｗaとの決定方法について説明する。
まず、サンプリング周期Ｔｓを決定する。たとえば、Ｔｓ＝０．０００１secとする。
次に、サンプリング周波数ｗs（＝１／Ｔｓ）の約数Ｎ1に２以上の整数Ｎ2を乗じて、センシング周波数ｗa＝Ｎ1×Ｎ2を求める。このとき、整数Ｎ2は、ｗs＝Ｎ1×Ｍを満たす整数Ｍと互いに素となるように選ばれる。たとえば、Ｔｓ＝０．０００１secのとき、ｗs＝１００００Hzである。そこで、たとえば、Ｎ1＝４００、Ｎ2＝２と選択する。このとき、ｗa＝８００Hzとなる。この場合、サンプリング周波数ｗsは、センシング周波数ｗaの非整数倍となる。
【００３５】
図６は、αβ座標平面上でのサンプリングタイミングを示す図である。或るセンシング信号周期中のサンプリングタイミングがシンボル「●」で表されており、当該センシング信号周期と時間軸上で隣接する別のセンシング信号周期中のサンプリングタイミングがシンボル「×」で表されている。サンプリング点がαβ座標平面の原点の周りを一周するのに要する時間は、センシング信号が形成する高周波ベクトルが一周するのに要する時間（すなわち、センシング信号周期Ｔａ＝１／ｗa）にほぼ等しい。すなわち、Ｔａ＝１／ｗa＝１／（Ｎ1×Ｎ2）sec程度である。したがって、一周あたり（すなわち、センシング信号周期Ｔａ当たり）のサンプリング点数は、１／（Ｎ1×Ｎ2×Ｔｓ）である。
【００３６】
一方、サンプリング周波数ｗsとセンシング周波数ｗaとの関係を上記のように定めていることにより、一周目のサンプリング点と、２周目のサンプリング点とは、位置が異なっている。さらに、Ｎ2周目まで同じサンプリング点になることがない。そのため、センシング信号のＮ2周期の間に、１／（Ｎ1×Ｔｓ）個のサンプリング点で電流がサンプリングされる（電流の大きさＩが演算される）ことになる。このようにして、センシング信号周期Ｔａ＝１／（Ｎ1×Ｎ2）sec毎に推定回転位置θ＾を更新することができ、３６０×Ｎ１×Ｔｓ(deg)の分解能が得られる。
【００３７】
従来技術では、センシング周波数ｗaがサンプリング周波数ｗsの約数になっているため、推定回転位置の更新周期をｋ倍（ただしｋは自然数）にするためには、センシング周波数ｗaをｋ倍にする必要があった。そのため、結果として、分解能がｋ倍になり、推定精度が悪化する問題があった。これに対して、この実施形態では、推定位置の更新周期を１／ｋ倍（すなわち、センシング周波数ｗaをｋ倍）としても分解能は変わらず、推定精度が悪化することがない。
【００３８】
上記の整数Ｍは整数Ｎ2とは、互いに素である必要は必ずしも無いが、これらが互いに素であることによって、期待どおりの動作を実現できる。
たとえば、Ｎ1＝４００、Ｎ2＝２の場合、センシング周波数ｗa＝４００×２＝８００Hzである。このとき、サンプリング周期Ｔｓ＝０．０００１secなら、Ｍ＝１００００／４００＝２５である。２と２５の最大公約数は１であるから、Ｎ2とＭとは互いに素である。この場合、１／（４００×２）＝０．００１２５sec毎に推定回転位置θ＾が更新され、３６０×４００×０．０００１＝１４．４deg程度の分解能が得られる。
【００３９】
一方、Ｎ1＝２００、Ｎ2＝４とした場合も、センシング周波数ｗa＝２００×４＝８００Hzである。この場合の意図は、１／（２００×４）＝０．００１２５sec毎に推定回転位置θ＾が更新され、サンプリング周期Ｔｓ＝０．０００１secとしたときに、３６０×２００×０．０００１＝７．２deg程度の分解能を得たいということである。しかし、実際には、０．００１２５sec毎に１４．４deg程度の分解能を得ることができるに過ぎない。これは、Ｍ＝１００００／２００＝５０であり、Ｎ2との最大公約数が２となり、ＭとＮ2とが互いに素でないからである。Ｎ2＝４と選ぶ理由は、センシング信号周期の１周期目〜４周期目までサンプリング点がずれることを期待したものであるが、実際には、１周期目と３周期目とでサンプリング点が重なり、また、２周期目と４周期目でサンプリング点が重なってしまい、結果として分解能が大きくなってしまう。
【００４０】
一般化すると、推定回転位置θ＾の更新周期および分解能は、次式のように表すことができる。
推定回転位置θ＾の更新周期：１／（Ｎ1×Ｎ2）sec
分解能：３６０×Ｎ1×Ｔｓ×Ｇ deg
ただし、Ｇは、ＭとＮ2との最大公約数であり、この最大公約数Ｇが大きいほど分解能が大きくなり、位置推定精度が悪くなる。したがって、最大公約数Ｇ＝１のとき、すなわち、ＭとＮ2とが互いに素であるときに、最も大きな分解能が得られることになる。
【００４１】
図７は、ロータ５０の推定回転位置θ^を求めるために所定の制御周期毎に繰り返し実行される処理の流れを説明するためのフローチャートである。ただし、高周波電圧ベクトルの１周期（センシング信号周期）中に２回現れる電流信号の極大のうちロータ５０のＮ極に対応する極大を特定するための処理（Ｎ極判定処理）が、予め行われているものとする。Ｎ極判定処理には、公知の方法を適用することができる。たとえば、充分に大きな高周波電圧ベクトルを印加すると、ステータの磁気飽和の影響により、ロータ５０のＮ極側の方がＳ極側よりもインダクタンスが小さくなり、Ｎ極方向の電流ベクトルの大きさが最大値をとることになる（図５(a)の曲線Ｌ１参照）。これを利用して、電流波形の２つの極大点のうちの一方をＮ極に対応する極大点として特定できる。
【００４２】
まず、センシング信号生成部２１からセンシング信号がステータ巻線５１〜５３に注入される（ステップＳ１）。センシング周波数ｗaは、前述のとおりに決定されている。このセンシング信号の印加により、電流センサ９の出力から、図４(b)および図５(a)に示すような電流応答が得られる。
電流値演算部２６は、サンプリング周期Ｔｓ毎に電流値Ｉを演算する（ステップＳ２）。この電流値Ｉが逆ノッチフィルタ２７でフィルタリングされる。このフィルタリングされた電流値Ｉに基づいて、電流ピークタイミング抽出部２８は、センシング信号の一周期中の極大値（ただしＮ極に対応する極大値）に対応する極値タイミングｔを出力する（ステップＳ３）。この極値タイミングｔにおける二相検出電流Ｉαβが電流同期抽出部２９によって抽出される（ステップＳ４）。こうして、サンプリング周期Ｔｓ中における二相検出電流Ｉαβのピーク値がサンプリングされることになる。このサンプリングされた二相検出電流Ｉαβのピーク値に基づいて、ロータ位置演算部３０は、ロータ回転位置θを求める（ステップＳ５）。この求められたロータ回転位置θに対して、平均値演算部３１による平均値演算が行われることにより（ステップＳ６）、推定回転位置θ^が求められる。
【００４３】
平均値演算部３１は、たとえば、二相検出電流Ｉαβのピーク値に基づく重み付け平均によって、推定回転位置θ＾を求めるものであってもよい。より具体的には、ｎ周期目の推定回転位置θ＾(n)は、ｎ周期目のロータ回転位置θ(n)および二相検出電流Ｉαβのピーク値Ｉp(n)（図６参照）と、（ｎ−１）周期目（一周期前）のロータ回転位置θ(n-1)および二相検出電流Ｉαβのピーク値Ｉp(n-1)（図６参照）とに基づいて、次式(5)により、求めることができる。
【００４４】
θ＾(n)＝｛θ(n)×Ｉp(n)＋θ(n-1)×Ｉp(n-1)｝／｛Ｉp(n)＋Ｉp(n-1)｝ …(5)
１周期目のピーク値Ｉp(1)が得られた時点では、平均値演算ができないので、そのピーク値Ｉp(1)のときのロータ回転位置θ(1)をそのまま推定回転位置θ＾(1)として用いればよい。
たとえば、１周期目のピーク値Ｉp(1)＝１．０９Ａで、それに対応するロータ回転位置θ(1)＝２８．８degであれば、１周期目の推定回転位置θ＾(1)＝２８．８degである。ついで、２周期目のピーク値Ｉp（2）＝１．０６Ａで、それに対応するロータ回転位置θ(2)＝４３．２degであれば、推定回転位置θ＾(2)＝（２８．８×１．０９＋４３．２×１．０６）／（１．０９＋１．０６）＝３５．９degである。以後、前記式(5)に基づいて、３周期以降の推定回転位置θ＾が同様に算出される。
【００４５】
平均値演算部３１による平均値演算には、電流値による加重平均の他に、時間によって重み付けした時間平均値を求める演算を適用してもよい。たとえば、ｎ周期目の推定回転位置θ＾(n)は、重み付け係数ｗ（ｗ＜１。たとえば、ｗ＝０．９）を用いて、次式(6)で表すことができる。
θ＾(n)＝｛θ(n)＋ｗθ(n-1)｝／（１＋ｗ）  …(6)
以上のように、この実施形態によれば、サンプリング周波数ｗsがセンシング周波数ｗaの整数倍とならないように、すなわち、非整数倍となるように、サンプリング周期Ｔｓおよびセンシング周波数ｗaが定められる。これにより、時間軸上で隣接するセンシング信号周期間で電流値のサンプリングタイミング（αβ座標平面上での位置）がずれる。その結果、推定回転位置θ＾の更新周期を短くし、かつ、高い分解能で推定回転位置θ＾を求めることができる。これにより、とくに、ロータ５０が低速回転している状態において、高頻度および高分解能で推定回転位置θ＾を求めることができるから、モータ３の制御精度を高めることができる。これにより、電動パワーステアリング装置における操舵フィーリングを向上することができる。
【００４６】
とくに、センシング周波数ｗaをｗa＝Ｎ1×Ｎ2により決定する場合において、整数Ｎ2を、１／Ｔｓ＝Ｎ1×Ｍを満たす整数Ｍと互いに素となるように選ぶことによって、高頻度および高分解能での推定回転位置演算を確実に行わせることができ、モータ３の制御精度を効率的に高めることができる。
以上、この発明の一実施形態について説明したが、この発明は、さらに他の形態で実施することもできる。
【００４７】
たとえば、前述の実施形態では、電流の大きさＩが極値をとるときの二相検出電流Ｉαβを用いてロータ５０の回転位置θを求めているが、電流の大きさＩが極値をとるときの二相指示電圧Ｖα，Ｖβを用いて（図１のライン２３参照）、次式(7)に従って、推定回転位置θ^を求めるようにしてもよい。
θ^＝Ｔan-1（Ｖβ／Ｖα）        …(7)
電圧ベクトルは大きさが一定であるので、歪みの生じている電流ベクトルに比較して、その位相の計算が容易である。したがって、式(7)の適用により、演算処理を簡素化できる。
【００４８】
電流の大きさＩが極値をとるときの電圧ベクトルの位相を求めるには、前記の式(7)に従う演算を行う代わりに、センシング信号の印加と同期して計数動作を行うカウンタを用いるようにしてもよい。具体的には、高周波電圧ベクトルがα軸（Ｕ相方向に一致）に沿うとき（すなわち、高周波電圧ベクトルの位相が零のとき）に初期化されて計数動作を開始するように繰り返し動作するカウンタを設ける。このカウンタは、たとえば、高周波電圧ベクトルの周期（センシング信号周期）Ｔａをｉ等分（ｉは１周期当たりのサンプリング数。たとえばｉ＝３６０）した周期Ｔａ／ｉ毎にカウントアップするもので、その出力は、高周波電圧ベクトルの位相を表す。そこで、図５(c)に示すように、電流の大きさＩの極値が検出された時点でカウンタの計数値を参照すれば、この計数値はロータ５０の磁極位置（電流ベクトルの大きさが最大のときの高周波電圧ベクトルの位相角）を表す。
【００４９】
また、前述の実施形態では、電動パワーステアリング装置の駆動源としてのモータ３に本発明が適用された例について説明したが、この発明は、電動パワーステアリング装置以外の用途のモータの制御に対しても適用が可能である。
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【図面の簡単な説明】
【００５０】
【図１】この発明の一実施形態に係るモータ制御装置を適用した電動パワーステアリング装置の電気的構成を説明するためのブロック図である。
【図２】モータの構成を説明するための図解図である。
【図３】位置推定部の構成を説明するためのブロック図である。
【図４】図４(a)はセンシング信号（回転探査電圧）に対応する高周波電圧ベクトルを示し、図４(b)は高周波電圧ベクトルに対する電流ベクトルの応答を示す。
【図５】図５(a)は電流波形の例を示し、図５(b)は電圧波形の例を示し、図５(c)は電圧ベクトルの位相を検出するためのカウンタの計数値の変化を表す。
【図６】αβ座標平面上での電流サンプリングタイミングを示す図である。
【図７】ロータ回転位置推定演算の流れを説明するためのフローチャートである。
【符号の説明】
【００５１】
５…モータ制御装置、７…マイクロコンピュータ、９…電流センサ、５０…ロータ、５１，５２，５３…ステータ巻線
【図１】
2009183061.tif 000003
【図２】
2009183061.tif 000004
【図３】
2009183061.tif 000005
【図４】
2009183061.tif 000006
【図５】
2009183061.tif 000007
【図６】
2009183061.tif 000008
【図７】
2009183061.tif 000009