(57)【要約】【課題】磁気飽和の発生状態であっても、リラクタンストルクを適切に発生させつつ、ロータ角度の推定値を安定に収束させる。【解決手段】電機子の駆動電圧に高周波周期信号を重畳した状態での電流の変化の観測値に基づいて、ロータ角度の推定値と実際値との位相差θeの２倍角に応じて変化する値としての位相差推定値ΘEを算出し、ΘEに応じてロータ角度の推定値を更新する。モータ１の磁気飽和の発生状態において、目標とする電機子の電流の位相が、該電流の大きさに対するモータの出力トルクの比率が最大となる位相θIabから遅角側にずらした位相θIaとなるように電流指令を決定する。【選択図】図３
2010259255.tif 000002
【特許請求の範囲】
【請求項１】
ＤＣブラシレスモータの電機子に流れる相電流を検出する相電流検出手段と、該モータのロータ角度を推定するロータ角度推定手段と、前記電流検出手段による相電流の検出値と前記ロータ角度推定手段によるロータ角度の推定値とを用いて所定のフィードバック演算処理を実行することによって、前記相電流の検出値を目標とする電流に収束させるために前記電機子に印加すべき駆動電圧を規定するｄ軸電圧の基本値とｑ軸電圧の基本値とを決定するｄｑ基本電圧決定手段と、前記ｄ軸電圧の基本値及びｑ軸電圧の基本値より規定される駆動電圧に高周波の周期信号を重畳してなる高周波重畳駆動電圧を前記電機子に印加させる高周波重畳手段と、前記高周波重畳駆動電圧の印加状態で、前記電機子の相電流の変化に対応するｄ軸電流及びｑ軸電流の変化を前記相電流の検出値とロータ角度の推定値とに基づき観測し、該ｄ軸電流及びｑ軸電流の変化の観測値に基づいて、前記ロータ角度の推定値と該ロータ角度の実際値との位相差の２倍角に応じて変化する値としての位相差推定値を算出する位相差推定値算出手段とを備え、前記ロータ角度推定手段が前記位相差推定値に応じて前記ロータ角度の推定値を更新するＤＣブラシレスモータの制御装置において、
前記モータの磁気飽和が発生する状態で、前記目標とする電流の位相が、前記モータのロータの突極性に起因するリランクタンストルクを含む前記モータの出力トルクの、前記電機子に流れる電流の大きさに対する比率が最大となる該電流の位相である第１位相から、遅角側にずらした位相になるように前記目標とする電流を規定する電流指令を決定する電流指令決定手段を備えたことを特徴とするＤＣブラシレスモータの制御装置。
【請求項２】
請求項１記載のＤＣブラシレスモータの制御装置において、
前記電流指令決定手段は、前記目標とする電流の位相の前記第１位相からの遅角量を、前記モータの出力トルクに応じて変化させるように前記電流指令を決定することを特徴とするＤＣブラシレスモータの制御装置。
【請求項３】
請求項１又は２記載のＤＣブラシレスモータの制御装置において、
前記第１位相と前記モータの電機子に実際に流す電流の位相との差をθe0、前記位相差に対する前記位相差推定値の変化の波形において該位相差の値がθe0であるときの位相差推定値の値をδofsと定義した場合に、前記電流指令決定手段は、前記位相差の値がθe0以上となる該位相差の範囲で、前記位相差推定値とδofsとの差が同一極性に保たれると共にθe0から連続した範囲である第１位相差範囲と、前記位相差の値がθe0以下となる該位相差の範囲で、前記位相差推定値とδofsとの差が同一極性に保たれると共にθe0から連続した範囲である第２位相差範囲とのうちの狭い側の範囲が最も広くなる前記電流の位相を、前記目標とする電流の位相として前記電流指令を決定することを特徴とするＤＣブラシレスモータの制御装置。
【請求項４】
請求項３記載のＤＣブラシレスモータの制御装置において、
前記ロータ角度推定手段は、前記位相差推定値とδofsとの差を“０”に収束させるように、該位相差推定値とδofsとの差に応じて前記ロータ角度の推定値を更新することを特徴とするＤＣブラシレスモータの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＤＣブラシレスモータの制御装置に関する。
【背景技術】
【０００２】
突極性のロータを備えたＤＣブラシレスモータの運転制御を行う場合に、レゾルバ等の磁極位置検出用センサを使用せずに（所謂センサレスで）、ロータの磁極の回転角度位置（電気角での回転角度位置）を示すロータ角度を推定する技術が本願出願人により提案されている（例えば特許文献１を参照）。
【０００３】
この技術は、モータの電機子に印加する駆動電圧に所定のパターンの高周波の周期信号を重畳した状態で、所定期間ずつ、電機子の電流変化を観測し、その観測値から、ロータ角度の推定値と実際値との位相差θeの２倍角２θeの正弦関数値ｓｉｎ（２θe）に応じた値としての正弦参照値や、モータの平均インダクタンスに応じた値としてのインダクタンス参照値を算出する。そして、正弦参照値をインダクタンス参照値で正規化してなる値、又は、その値に、あるオフセット値を加えた値を、ロータ角度の推定値と実際値（真値）との位相差に応じて変化する位相差推定値として求め、この位相差推定値に応じて（位相差推定値を“０”に収束させるように）、ロータ角度の推定値を逐次更新する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１４３２７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、突極性を有するロータを備えたモータでは、磁石トルク（ロータの永久磁石の磁極とステータの電機子の通電電流によって発生する磁極との間の吸引力又は反発力に起因してロータに生じるトルク）に加えて、リラクタンストルク（ステータの電機子の通電電流によって発生する磁極とロータの突極部との間の吸引力に起因するトルク）を利用することができる。この種のモータでは、電機子の通電電流の大きさ（振幅）に対するモータの出力トルクの大きさの比率を最大限に高めるためには、一般に、電機子の通電電流の位相（電気角での位相）を、該電機子の通電電流によって発生する磁極の磁束方向がロータの磁極の磁束方向と直交する方向となる位相から、ある角度だけ進角側に意図的にずらすことが好ましい。
【０００６】
一方、特許文献１におけるロータ角度の推定技術においては、ロータ角度の推定値を、位相差推定値が“０”であるときのロータ角度の値に安定に収束させるためには、位相差推定値が正の値となる位相差θeの範囲と位相差推定値が負の値となる位相差θeの範囲とが連続的に隣接すると共に、それらの範囲がいずれも狭くなり過ぎないことが必要である。
【０００７】
しかしながら、モータに“０”でない出力トルクを発生させるように該モータの電機子に電流を通電させた状態（該電流の大きさが比較的大きなものとなる状態）では、一般にモータの磁気飽和が発生しやすい。そして、該磁気飽和が発生すると、位相差推定値が正の値となる位相差θeの範囲と位相差推定値が負の値となる位相差θeの範囲とのうちのいずれかの範囲（以下、これらの範囲を安定収束範囲ということがある）が狭くなる場合がある。
【０００８】
特に、リラクタンストルクを活用するために、電機子の通電電流の位相を上記の如く進角させた場合には、電機子の通電電流によって発生する磁極の磁束方向がロータの磁極の磁束方向と直交する方向（ロータの突極方向）から進角することに起因して、電機子の通電制御上でのロータの突極の見かけ上の方向（位相）が、実際の突極の方向から大きく乖離したものとなりやすい。
【０００９】
このため、磁気飽和が発生した状態で、リラクタンストルクを活用しようとすると、上記安定収束範囲のいずれかが狭くなりやすい。その結果、ロータ角度の推定値を安定に収束させることが困難となり、ロータ角度の推定処理を適切に続行することができなくなるという不都合があった。
【００１０】
なお、位相差推定値に適切なオフセット値を加えることによって、上記安定収束範囲が狭くなり過ぎないように調整できる場合もある。但し、このようにした場合には、ロータ角度の推定値の収束値が、実際値からずれることとなり、ロータ角度の推定値の誤差が増大する。このため、電機子の通電電流の位相を、そのロータ角度の推定値により推定されるロータの界磁極の磁束方向に直交する方向から、該ロータ角度の推定値の誤差が無い場合と同じ角度だけ進角させても、目標とするリランクタンストルクを発生させることができない。ひいては、モータの実際の出力トルクが目標とするトルクよりも低くなってしまうという不都合が発生しやすい。
【００１１】
本発明はかかる背景に鑑みてなされたものであり、磁気飽和の発生状態であっても、リラクタンストルクを適切に発生させつつ、ロータ角度の推定値を安定に収束させることができるＤＣブラシレスモータの制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明のＤＣブラシレスモータの制御装置は、かかる目的を達成するために、ＤＣブラシレスモータの電機子に流れる相電流を検出する相電流検出手段と、該モータのロータ角度を推定するロータ角度推定手段と、前記電流検出手段による相電流の検出値と前記ロータ角度推定手段によるロータ角度の推定値とを用いて所定のフィードバック演算処理を実行することによって、前記相電流の検出値を目標とする電流に収束させるために前記電機子に印加すべき駆動電圧を規定するｄ軸電圧の基本値とｑ軸電圧の基本値とを決定するｄｑ基本電圧決定手段と、前記ｄ軸電圧の基本値及びｑ軸電圧の基本値より規定される駆動電圧に高周波の周期信号を重畳してなる高周波重畳駆動電圧を前記電機子に印加させる高周波重畳手段と、前記高周波重畳駆動電圧の印加状態で、前記電機子の相電流の変化に対応するｄ軸電流及びｑ軸電流の変化を前記相電流の検出値とロータ角度の推定値とに基づき観測し、該ｄ軸電流及びｑ軸電流の変化の観測値に基づいて、前記ロータ角度の推定値と該ロータ角度の実際値との位相差の２倍角に応じて変化する値としての位相差推定値を算出する位相差推定値算出手段とを備え、前記ロータ角度推定手段が前記位相差推定値に応じて前記ロータ角度の推定値を更新するＤＣブラシレスモータの制御装置において、前記モータの磁気飽和が発生する状態で、前記目標とする電流の位相が、前記モータのロータの突極性に起因するリランクタンストルクを含む前記モータの出力トルクの、前記電機子に流れる電流の大きさに対する比率が最大となる該電流の位相である第１位相から、遅角側にずらした位相になるように前記目標とする電流を規定する電流指令を決定する電流指令決定手段を備えたことを特徴とする。
【００１３】
なお、本発明において、ｄ軸電流とｑ軸電流とは、ＤＣブラシレスモータのロータの界磁極の磁束方向とこれに直交する方向との一方をｄ軸方向、他方をｑ軸方向とするｄｑ座標系においてモータの電機子に流れる電流を表現した場合におけるｄ軸電機子（ｄ軸上の電機子）とｑ軸電機子（ｑ軸上の電機子）とにそれぞれ流れる電流を意味する。
【００１４】
ここで、本願発明者が種々様々な実験あるいはシミュレーションを行って得られた知見によれば、前記モータの磁気飽和が発生する状態で、前記電機子に流す電流の位相（ロータ角度の推定値を基準とする相対的な位相）を、電機子に流れる電流の大きさに対するモータの出力トルク（リランクタンストルクを含む出力トルク）の比率が最大となる位相から、遅角側にずらした適切な位相に制御することによって、上記比率の最大化を保ちつつ、ロータ角度の推定値の収束の安定性を確保することが可能であることを知見した。すなわち、上記の如く電機子に流す電流の位相を制御することによって、ロータ角度の推定値を実際値に対して、ある誤差を有する値に安定に収束させることが可能となる。そして、該ロータ角度の推定値がこのように実際値に対して誤差を有する状態で、該推定値を基準として、前記電機子の通電電流の位相を上記の如く制御すると、実際のロータ角度を基準とする、電機子の通電電流の位相を、前記比率が最大となるような位相に一致させ、又は近づけることが可能である。
【００１５】
そこで、本発明は、前記電流指令決定手段を備えて、前記モータの磁気飽和が発生する状態で、前記目標とする電流の位相が、前記モータのロータの突極性に起因するリランクタンストルクを含む前記モータの出力トルクの、前記電機子に流れる電流の大きさに対する比率が最大となる該電流の位相である第１位相から、遅角側にずらした位相になるように前記目標とする電流を規定する電流指令を決定する。
【００１６】
この本発明によれば、上記の如く、ロータ角度の推定値を、実際値に対して誤差を有する値に安定に収束させることが可能となる。そして、この誤差と、目標とする電流の位相を、前記第１位相（前記比率が最大となる位相）から遅角させることととが合わさって、実際のロータ角度を基準とする、電機子の通電電流の位相を前記第１位相に一致させ、又は、近づけることが可能となる。
【００１７】
従って、本発明によれば、磁気飽和の発生状態であっても、リラクタンストルクを適切に発生させつつ、ロータ角度の推定値を安定に収束させることが可能となる。
【００１８】
かかる本発明では、前記電流指令決定手段は、前記目標とする電流の位相の前記第１位相からの遅角量を、前記モータの出力トルクに応じて変化させるように前記電流指令を決定することが好ましい。
【００１９】
すなわち、前記比率が最大となる第１位相は、モータの出力トルクに依存して変化する。従って、前記目標とする電流の位相の前記第１位相からの遅角量を、前記モータの出力トルクに応じて変化させるように前記電流指令を決定することによって、モータの出力トルクによらずに、実際のロータ角度を基準とする、電機子の通電電流の位相を前記第１位相に一致させ、又はほぼ一致させるようにすることが可能となる。ひいては、モータの出力トルクにによらずに、モータのエネルギー効率を高めることができる。
【００２０】
また、本発明では、前記電流指令は、例えば次のように決定することができる。すなわち、前記第１位相と前記モータの電機子に実際に流す電流の位相との差をθe0、前記位相差に対する前記位相差推定値の変化の波形において該位相差の値がθe0であるときの位相差推定値の値をδofsと定義した場合に、前記電流指令決定手段は、前記位相差の値がθe0以上となる該位相差の範囲で、前記位相差推定値とδofsとの差が同一極性に保たれると共にθe0から連続した範囲である第１位相差範囲と、前記位相差の値がθe0以下となる該位相差の範囲で、前記位相差推定値とδofsとの差が同一極性に保たれると共にθe0から連続した範囲である第２位相差範囲とのうちの狭い側の範囲が最も広くなる前記電流の位相を、前記目標とする電流の位相として前記電流指令を決定する。
【００２１】
これによれば、前記第１位相差範囲と第２位相差範囲とができるだけ広いものとなるように前記電流指令が前記目標とする電流の位相（前記第１位相よりも遅角側の位相）が決定されるので、θe0を含む幅広い位相差の範囲で、第１ロータ角度の推定値を、実際値との誤差がθe0となるような値に収束させることが可能となる。この場合、θe0は、前記第１位相と目標とする電流の位相（ロータ角度の推定値を基準としてモータの電機子に実際に流すべき電流の位相で、第１位相よりも遅角側の位相）との差であるので、目標とする電流の位相にθe0を加えた位相が前記第１位相に一致することとなる。従って、該目標とする電流を電機子に通電したときに、実際のロータ角度を基準とする、該電流の位相を、前記比率が最大となる第１位相に一致させることができる。
【００２２】
よって、ロータ角度の推定値の収束の安定性と、電機子の通電電流の位相を、前記比率が最大になるような位相に制御することととを適切に実現できることとなる。
【００２３】
このように、前記目標とする電流の位相を決定する本発明では、前記ロータ角度推定手段は、前記位相差推定値とδofsとの差を“０”に収束させるように、該位相差推定値とδofsとの差に応じて前記ロータ角度の推定値を更新する。
【００２４】
これによれば、位相差推定値とδofsとの差を“０”に収束させるように、前記ロータ角度の推定値を更新することによって、ロータ角度の推定値は、実際値との位相差が前記θe0となる値に収束することとなる。従って、ロータ角度の推定値を、実際値との間に好適な誤差（電機子の電流の位相を前記第１位相に制御する上で適切な誤差）を有する値に収束させることができる。
【００２５】
なお、本発明では、例えば次のような構成によって前記位相差推定値を算出することが好適である。
【００２６】
すなわち、前記ｄ軸電圧の基本値及びｑ軸電圧の基本値より規定される駆動電圧（以下、基本駆動電圧ということがある）に前記高周波重畳手段により重畳する前記高周波の周期信号を、ｎ個（ｎ：２以上の整数）の連続した制御サイクルを含む所定期間における該周期信号の電圧値の総和が“０”となるパターンにあらかじめ設定しておく。
【００２７】
そして、前記ｄｑ基本電圧決定手段は、前記所定期間において前記基本駆動電圧を一定に保つようにｄ軸電圧の基本値とｑ軸電圧の基本値とを決定する。さらに、前記参照値算出手段は、前記所定期間内の各制御サイクルと次の制御サイクルとの間の期間における前記ｄ軸電流の一階差分と前記ｑ軸電流の一階差分とを前記相電流の検出値とロータ角度の推定値とに基づき観測し、その観測値を用いて所定の演算処理により前記位相差推定値を算出する。
【００２８】
この場合、前記ｄ軸電流の一階差分の観測値と前記ｑ軸電流の一階差分の観測値とから例えば、以下に示す式（１）の右辺の演算によって算出される左辺のＶsdqの値（式（１）の左辺の縦ベクトルの第１成分の値）を、前記位相差推定値として使用することができる。あるいは、式（１）の右辺の演算によって左辺のＶsdqの値とL0の値とを算出し、算出したＶsdqの値をＬ0の値により除算（正規化）してなる値Ｖsdq／Ｌ0を前記位相差推定値として算出するようにしてもよい。あるいは、式（１）の右辺の演算によって左辺のＶsdqの値とＶcdqの値とを算出し、算出したＶsdqの値を、このＶsdqの値の２乗値とＶcdqの値の２乗値との和の平方根（＝√(Ｖsdq2＋Ｖcdq2)）により除算してなる値（＝Ｖsdq／√(Ｖsdq2＋Ｖcdq2)）を前記位相差推定値として算出するようにしてもよい。
【００２９】
【数１】
2010259255.tif 000003
【００３０】
なお、式（１）におけるＣdqは、次式（２），（３）により定義される行列、ｄＩdq(i+j)（ｊ＝１，２，…，ｎ）は、次式（４）により定義される縦ベクトルである。この場合、式（３）におけるＶhd(i+j)（ｊ＝１，２，…，ｎ）は、前記所定期間内のｊ番目の制御サイクルで前記周期信号がｄ軸電機子に印加するｄ軸電圧（前記周期信号の電圧をｄｑ座標系で表現した場合におけるｄ軸電圧成分）、Ｖhq(i+j)（ｊ＝１，２，…，ｎ）は、前記所定期間内のｊ番目の制御サイクルで前記周期信号がｑ軸電機子に印加するｑ軸電圧（前記周期信号の電圧をｄｑ座標系で表現した場合におけるｑ軸電圧成分）である。また、式（４）におけるｄＩd(i+j)（ｊ＝１，２，…、ｎ）は、前記所定期間内のｊ番目の制御サイクルと次の制御サイクルとの間の期間におけるｄ軸電流の一階差分の観測値、ｄＩq(i+j)（ｊ＝１，２，…、ｎ）は、前記所定期間内のｊ番目の制御サイクルと次の制御サイクルとの間の期間におけるｑ軸電流の一階差分の観測値である。
【００３１】
【数２】
2010259255.tif 000004
【００３２】
また、ｄ軸電流の一階差分ｄＩd(i+j)は、ｉ＋ｊ番目の制御サイクルでのｄ軸電流Ｉd(i+j)をその次の制御サイクルでのｄ軸電流Ｉd(i+j+1)から減算した値（＝Ｉd(i+j+1)−Ｉd(i+j)）を１制御サイクルの期間の時間ΔＴで除算してなる値として算出される。ｑ軸電流の一階差分ｄＩq(i+j)についても同様である。
【００３３】
また、式（１）〜（４）において、ｉは、前記周期信号の所定期間が開始する制御サイクルの１つ前の制御サイクルの番数を意味している。
【００３４】
補足すると、位相差推定値としては、上記に例示したＶdsq、Ｖsdq／Ｌ0、Ｖsdq／√(Ｖsdq2＋Ｖcdq2)の他、例えば、それぞれの値に所定値（≠０）の比例定数を乗じた値を改めて位相差推定値として用いてもよい。
【００３５】
ここで、詳細は後述するが、前記式（１）の右辺の演算によって算出されるＬ0は、モータのｄ軸電機子の平均インダクタンスをＬd、ｑ軸電機子の平均インダクタンスをＬqとおいたとき、これらのＬd，Ｌqに対して後述する式（７）に示す関係（Ｌ1＝（（１／Ｌd）＋（１／Ｌq））／２という関係）を有する値である。従って、インダクタンス参照値として上記に例示したＬ0（又はL0に所定値の比例定数を乗じてなるインダクタンス参照値）は、モータの平均インダクタンスに依存する値としての意味を持つ。
【００３６】
また、前記ｄ軸電流及びｑ軸電流の一階差分の観測値ｄＩd，ｄＩqから前記式（１）の右辺の演算によって算出されるＶsdqと、前記所定期間内におけるロータ角度の実際値と推定値との位相差θe（＝実際値−推定値）との間には、原理的には（少なくともモータの磁気飽和が発生していない状態で）、Ｖsdq＝Ｌ1・sin(２θe)という関係が成立する。また、式（１）の右辺の演算によって算出されるＶcdqと、前記所定期間内における位相差θeとの間には、原理的には（少なくともモータの磁気飽和が発生していない状態で）、Ｖcdq＝Ｌ1・cos(２θe)という関係が成立する。
【００３７】
なお、Ｌ1は、上記の平均インダクタンスＬd，Ｌqに対して後述する式（７）に示される関係（Ｌ1＝（（１／Ｌd）−（１／Ｌq））／２という関係）を有する値である。
【００３８】
従って、上記に例示した位相差推定値Ｖsdq、Ｖsdq／Ｌ0、Ｖsdq／√(Ｖsdq2＋Ｖcdq2)（又はこれらの値に所定値の比例定数を乗じてなる位相差基本参照値）は、原理的には位相差θeの２倍角の正弦関数値（ｓｉｎ２θe）に応じた値（ｓｉｎ２θeに比例する値）としての意味を持つものである。
【図面の簡単な説明】
【００３９】
【図１】本発明の実施形態における制御装置の全体構成を示すブロック図。
【図２】図２（ａ），（ｂ）はモータの電機子に流す電流の位相を説明するための図。
【図３】モータの出力トルクとモータの電機子に流す電流の位相（進角角度）との関係を示すグラフ。
【図４】図４（ａ），（ｂ）は実施形態において電機子の駆動電圧に重畳する周期信号のｄｑ座標系での電流ベクトルの例を示す図。
【図５】実施形態における制御装置の要部の処理を示すフローチャート。
【図６】図６（ａ），（ｂ）は、位相差θeに対する位相差推定値ΘEの変化の波形を例示するグラフ。
【図７】図７（ａ），（ｂ）は、モータのロータの見かけ上の突極の方向を説明するための図。
【図８】モータの電機子に流す電流の位相が満たすべき条件を説明するための図。
【図９】図９（ａ）〜（ｆ）は、モータの電機子に流す電流の位相を決定する手法の例を説明ためのグラフ。
【図１０】図１０（ａ）は実施形態におけるロータ角度の実際値θの変化と推定値θ^の変化とを例示するグラフ、図１０（ｂ）は実施形態におけるロータ角度の推定時のモータの出力トルクの変化を例示するグラフ。
【図１１】図１１（ａ）は従来のロータ角度の推定手法でのロータ角度の実際値θの変化と推定値θ^の変化とを例示するグラフ、図１１（ｂ）は従来のロータ角度の推定手法でのロータ角度の推定値のモータの出力トルクの変化を例示するグラフ。
【発明を実施するための形態】
【００４０】
本発明の一実施形態を以下に図１〜図７を参照して説明する。
【００４１】
図１において、１はＤＣブラシレスモータ、１０はＤＣブラシレスモータ１（以下、単にモータ１という）の運転を制御する制御装置である。
【００４２】
ＤＣブラシレスモータ１（以下、単にモータ１という）は、詳細な図示は省略するが、そのロータに複数の永久磁石が埋め込まれたＩＰＭ（Interior Permanent Magnet）型の同期モータである。そのロータは突極性を有する。また、モータ１のロータの周囲に配置されたステータ（図示しない）には、複数相の電機子、例えばＵ相、Ｖ相、Ｗ相の３相の電機子２ｕ，２ｖ，２ｗが装着されている。なお、以降の説明では、各相の電機子２ｕ，２ｖ，２ｗを区別する必要がないときは、単に電機子２という。
【００４３】
制御装置１０は、ＣＰＵ、ＲＡＭ、ＲＯＭ等から構成される演算処理部１１と、３相のうちの任意の２つの相の電機子、例えばＵ相電機子２ｕ及びＷ相電機子２ｕのそれぞれの通電電流（相電流）を検出する電流センサ１２ｕ，１２ｗと、複数のスイッチ素子（図示省略）を有するインバータ回路により構成されたパワー・ドライブ・ユニット１３（以下、ＰＤＵ１３という）とから構成される。
【００４４】
本実施形態では、上記電流センサ１２ｕ，１２ｗにより本発明における電流検出手段が実現される。
【００４５】
なお、Ｕ相、Ｖ相、Ｗ相のそれぞれの電機子２ｕ，２ｖ，２ｗの相電流の総和は“０”になる。従って、３相のうちの任意の２つの相の電機子２，２の相電流を検出すれば、それらの相電流検出値から、残りの１相の相電流も特定できることとなる。このため、本実施形態では、２つの電流センサ１２ｕ，１２ｗを備えている。ただし、３相のそれぞれの相電流を各別の電流センサで検出するようにしてもよい。
【００４６】
ＰＤＵ１３は、モータ１の電源としての図示しない直流電源に接続されていると共に各相の電機子２に接続されている。さらに、ＰＤＵ１３には、その動作を規定する制御指令として、演算処理部１１で後述するように逐次算出される相電圧指令値Vu_c，Vv_c，Vw_cが入力される。この相電圧指令値Ｖu_c，Ｖv_c，Ｖw_cはそれぞれ、Ｕ相電機子２ｕ、Ｖ相電機子２ｖ、Ｗ相電機子２ｗに印加すべき駆動電圧（相電圧）の指令値である。そして、ＰＤＵ１３は、入力された相電圧指令値Vu_c，Vv_c，Vw_cに応じて、ＰＷＭ方式でインバータ回路のスイッチ素子のＯＮ・ＯＦＦ動作を行う。これにより、ＰＤＵ１３は、相電圧指令値Vu_c，Vv_c，Vw_cの駆動電圧を上記直流電源から各相の電機子２に印加し、各相の電機子２の通電を行う。
【００４７】
演算処理部１１には、電流センサ１２ｕの出力が示すＵ相の相電流検出値Iu_sと、電流センサ１２ｗの出力が示すＷ相の相電流検出値Iw_sとが入力される。
【００４８】
この演算処理部１１は、その機能を概略的に説明すると、各相の電機子２の相電流を目標とする電流にフィードバック制御する機能を有する。この場合、本実施形態では、演算処理部１１は、上記フィードバック制御の演算処理を行うために、例えば、モータ１のロータの界磁極（永久磁石による界磁極）の磁束方向をｑ軸方向、このｑ軸方向と直交する方向をｄ軸方向とする回転座標系（ロータの電気角速度で回転する座標系）であるｄｑ座標系を用いる。
【００４９】
そして、演算処理部１１は、モータ１を、ｑ軸上の電機子（ｑ軸電機子）と、ｄ軸上の電機子（ｄ軸電機子）とを備える等価回路に変換して取り扱う。すなわち、演算処理部１１は、モータ１の電機子２全体の電流及び電圧をｄｑ座標系上でのベクトル量（ｄ軸方向成分とｑ軸方向成分とからなるベクトル量）として表現する、所謂ｄｑベクトル制御の演算処理によって、モータ１の各相の電機子２の相電流をフィードバック制御する。
【００５０】
図２（ａ），（ｂ）は、本実施形態におけるｄｑ座標系とロータとの関係を模式的に示している。同図においては、ロータ３は、ｄ軸方向に長手の突極３ａと、永久磁石により発生する界磁極としてのＮ極３bn及びＳ極３bs（以降、これらを総称的に磁石磁極３ｂということがある）とを備えたものとして模式的に図示されている。
【００５１】
なお、図２（ａ），（ｂ）中のロータ３の周囲のＮ極４ｎ及びＳ極４ｓは、電機子２に流す電流によって発生する磁極（以降、これらを総称的に電流磁極４ということがある）を模式的に示すものである。
【００５２】
補足すると、本実施形態では、モータ１のロータの界磁極の磁束方向（磁石磁束３ｂの磁束方向）をｑ軸方向と定義したが、該磁束方向をｄ軸方向と定義するようにしてもよい。
【００５３】
以降の説明では、ｄｑ座標系におけるｄ軸電機子の通電電流としてのｄ軸電流と、ｑ軸電機子の通電電流としてのｑ軸電流とをそれぞれ参照符号Ｉd、Ｉqを付して表記する。また、ｄ軸電機子の電圧としてのｄ軸電圧と、ｑ軸電機子の電圧としてのｑ軸電圧とをそれぞれ参照符号Ｖd、Ｖqを付して表記する。また、ｄ軸電流Ｉdとｑ軸電流Ｉqとから構成されるベクトル(Ｉd，Ｉq)ｔ（上付き添え字ｔは転置を意味する）をｄｑ電流ベクトルＩdq（又は電流ベクトルＩdq）、ｄ軸電圧Ｖdとｑ軸電圧Ｖqとから構成されるベクトル(Ｖd，Ｖq)tをｄｑ電圧ベクトルＶdq（又は電圧ベクトルＶdq）ということがある。
【００５４】
演算処理部１１は、さらに、所謂センサレスで（レゾルバ等のロータ角度検出用のセンサを使用せずに）、モータ１のロータの磁極位置を示すロータ角度（ロータの電気角での回転角度位置）を推定する機能を有する。この機能は、ロータ角度を推定するために、各相の相電流を目標とする電流に収束させるために各相の電機子２に印加すべき駆動電圧（フィードバック制御用の駆動電圧）としての基本駆動電圧に、高周波の周期信号（電圧信号）を重畳してなる高周波重畳駆動電圧を各相の電機子２に印加する機能を包含する。そして、演算処理部１１は、算出したロータ角度の推定値θ^を、ベクトル制御の演算処理において、モータ１の相電流又は相電圧と、ｄｑ座標系での電流又は電圧との間の変換処理に用いる。
【００５５】
これらの機能は、演算処理部１１が所定の制御サイクルで逐次実行する処理によって実現される。以下に、この演算処理部１１の処理の詳細を説明する。
【００５６】
演算処理部１１は、入力される相電流検出値Ｉu_s，Ｉw_sからｄ軸電流Ｉdの検出値としてのｄ軸電流検出値Ｉd_sと、ｑ軸電流Ｉqの検出値としてのｑ軸電流検出値Ｉq_sとの組（換言すれば、ｄｑ電流ベクトルＩdqの検出値）を算出する３相−ｄｑ変換部２１を備える。
【００５７】
この３相−ｄｑ変換部２１は、相電流検出値Ｉu_s，Ｉw_sを成分とするベクトル(Ｉu_s，Ｉw_s)ｔ、あるいは、相電流検出値Ｉu_s，Ｉw_sとＶ相の相電流検出値Ｉv_s（但し、Ｉv_s＝−(Ｉu_s＋Ｉw_s)）を成分とするベクトル(Ｉu_s，Ｉv_s，Ｉw_s)ｔに、所定の変換行列を乗じることによって、ｄｑ電流ベクトルＩdqの検出値(Ｉd_s，Ｉq_s)ｔを算出する。該変換行列は、周知の如く、その各行及び各列の成分値が、ロータ角度に応じて決定される変換行列である。この場合、３相−ｄｑ変換部２１は、該変換行列の各成分値を決定するためのロータ角度の値として、後述するロータ角度推定部３０で算出されたロータ角度の推定値θ^を用いる。
【００５８】
また、演算処理部１１は、ｄ軸電流Ｉdの目標値であるｄ軸電流指令値Ｉd_cとｑ軸電流Ｉqの目標値であるｑ軸電流指令値Ｉq_cとの組（換言すれば、ｄｑ電流ベクトルＩdqの指令値）を逐次決定する電流指令値決定部２２と、ｄ軸電流指令値Ｉd_cとｄ軸電流検出値Ｉd_sとの偏差であるｄ軸電流偏差ΔＩd（＝Ｉd_c_−Ｉd_s）を算出するｄ軸電流偏差算出部２３と、ｑ軸電流指令値Ｉq_cとｑ軸電流検出値Ｉq_sとの偏差であるｑ軸電流偏差ΔＩq（＝Ｉq_c_−Ｉq_s）を算出するｑ軸電流偏差算出部２４と、ｄ軸電流偏差ΔＩd及びｑ軸電流偏差ΔＩqを“０”に収束させるために要求されるｄｑ電圧ベクトルＶdqの目標値としてのｄ軸電圧ＦＢ指令値Ｖfbd及びｑ軸電圧ＦＢ指令値Ｖfbqの組をフィードバック制御則を用いて算出する電流ＦＢ制御部２５と、モータ１の各相の電機子２に実際に印加すべき駆動電圧の組を規定するｄｑ電圧ベクトルＶdqの目標値としてのｄ軸電圧指令値Ｖd_c及びｑ軸電圧指令値Ｖq_cの組を、前記相電圧指令値Ｖu_c，Ｖv_c，Vw_cの組に変換するｄｑ−３相変換部２６とを備える。
【００５９】
この場合、本実施形態では、演算処理部１１の電流指令値決定部２２には、モータ１の出力トルクの目標値であるトルク指令値Ｔr_cが外部から逐次入力されるようになっている。そして、前記電流指令値決定部２２は、入力されたトルク指令値Ｔr_cから、あらかじめ設定されたデータテーブル（Ｔr_cとＩq_cbとの間の関係、及びＴr_cとＩd_cbとの間の関係をそれぞれ規定するデータテーブル）に基づいてｄ軸電流基本指令値Ｉd_cb及びｑ軸電流基本指令値Ｉq_cbの組を決定する基本電流指令値決定部２２ａと、これらのｄ軸電流基本指令値Ｉd_cb及びｑ軸電流基本指令値Ｉq_cbの組から成るｄｑ電流ベクトルＩdq（＝(Ｉd_cb，Ｉq_cb)ｔ。以降、ｄｑ電流ベクトル基本指令値Ｉdq_cbということがある）の位相を調整する電流位相補償部２２ｂとから構成される。
【００６０】
本実施形態では、基本電流指令値決定部２２ａが上記データテーブルにより決定するｄｑ電流ベクトル基本指令値Ｉdq_cbは、それにより規定される相電流を各相の電機子２に通電した時に、モータ１が磁石トルクとリラクタンストルクとの合成トルクを出力トルクとして発生し、且つ、その合成トルクの大きさがトルク指令値Ｔr_cに一致するような電流ベクトルである。
【００６１】
さらに詳細には、基本電流指令値決定部２２ａが決定するｄｑ電流ベクトル基本指令値Ｉdq_cbは、図２（ａ）に示す如く、ｄ軸方向（ロータ角度の推定値により特定されるｄ軸方向）から、ある角度θIab（≧０）だけ、進角させた位相を有する電流ベクトルである。従って、Ｉdq_cbは、基本的には、そのｑ軸方向成分であるＩq_cbがＩq_cb≠０となる電流ベクトルである。
【００６２】
この場合、ｄｑ電流ベクトル基本指令値Ｉdq_cbの進角の角度θIab（以降、指令電流基本進角値θIabという）は、モータ１の出力トルクに応じて（本実施形態ではトルク指令値Ｔr_cに応じて）変化するように設定されている。具体的には、該指令電流基本進角値θIabは、例えば図３の破線のグラフで示す如く、モータ１の出力トルク（トルク指令値Ｔr_c）の増加に伴い大きくなるように設定されている。従って、ｄｑ電流ベクトル基本指令値Ｉdq_cbは、その位相が、トルク指令値Ｔr_cの増加に伴い進角側に変化するように、該トルク指令値Ｔr_cに応じて決定される。
【００６３】
ここで、上記指令電流基本進角値θIabは、モータ１の出力トルクを一定とした場合に、ｄｑ電流ベクトル基本指令値Ｉdq_cbの大きさ（ひいてはＩdq_cbにより規定される電機子２の通電電流の振幅）に対するモータ１の出力トルク（＝前記合成トルク）の比率が最大となるようにするために必要な目標角度（ロータの磁石磁極３ｂの実際の磁束方向（実ｄ軸方向）に対してなす角度の目標値）である。換言すれば、該指令電流基本進角値θIabは、モータ１に一定値の合成トルクを出力させる場合に、ｄｑ電流ベクトル基本指令値Ｉdq_cbの大きさが最小となるようにするために必要な目標角度である。
【００６４】
また、電流位相補償部２２ｂは、後述するロータ角度推定部３０によるロータ角度の推定を安定に行う（ロータ角度の推定値が発散しないようにロータ角度の推定を行う）ことができるようにするために、ｄｑ電流ベクトル基本指令値Ｉdq_cbの位相を調整してなる電流ベクトルを、ｄｑ電流ベクトルＩdqの指令値（＝(Ｉd_c，Ｉq_c)t。以降、ｄｑ電流ベクトル指令値Ｉdq_cという）として決定する。
【００６５】
より詳しくは、電流位相補償部２２ｂは、図２（ｂ）に示す如く、ｄｑ電流ベクトル指令値Ｉdq_cを、その位相（ロータ角度の推定値から特定されるｄｑ座標系上で見た位相）から、ある角度ΔθI（≧０）だけ遅角させてなる電流ベクトルをｄｑ電流ベクトル指令値Ｉdq_cとして決定する。従って、このように決定されるｄｑ電流ベクトル指令値Ｉdq_cは、θIab−ΔθIに等しい角度θIaだけ、ｄ軸方向（ロータ角度の推定値から特定されるｄｑ座標系のｄ軸方向）から進角した位相を有する電流ベクトルである。また、ｄｑ電流ベクトル指令値Ｉdq_cの大きさ（絶対値）は、ｄｑ電流ベクトル指令値Ｉdq_cの大きさ（絶対値）と同じである。以降、角度ΔθIを電流遅角補正量、角度θIaを指令電流進角値という。
【００６６】
この場合、上記電流遅角補正量ΔθIは、モータ１の出力トルク（本実施形態では、トルク指令値Ｔr_c）に応じて変化するように設定されている。具体的には、本実施形態では、電流遅角補正量ΔθIは、それを、指令電流基本進角値θIabから差し引いた値である前記指令電流進角値θIaが、例えば図３の実線のグラフで示す如く、モータ１の出力トルク（トルク指令値Ｔr_c）に応じて変化するように設定されている。従って、電流遅角補正量ΔθIは、モータ１の出力トルクが所定値Ｔr1以下の小さいトルクである場合には、“０”に設定され、モータ１の出力トルクが所定値Ｔr1を超えると（この状態は、モータ１の磁気飽和が発生する状態である）、該出力トルクの増加に伴い、電流遅角補正量ΔθIが大きくなっていく。電流遅角補正量ΔθIを上記の如く設定する理由や、その設定の指針については後述する。
【００６７】
なお、本実施形態では、電流指令値決定部２２により、本発明における電流指令決定手段が実現される。この場合、ｄｑ電流ベクトル指令値Ｉdq_cが、本発明における電流指令に相当する。また、前記ｄｑ電流ベクトル基本指令値Ｉdq_cbの位相が、本発明における第１位相に相当する。
【００６８】
補足すると、本実施形態では、ｄｑ電流ベクトル基本指令値Ｉdq_cbを決定した上で、その位相を調整することによって、ｄｑ電流ベクトル指令値Ｉdq_cを決定するようにしたが、上記基本電流指令値決定部２２ａ及び電流位相補償部２２ｂの処理を統合してもよい。すなわち、トルク指令値Ｔr_cから、データテーブルを使用して、直接的に、ｄｑ電流ベクトル指令値Ｉdq_cを決定するようにしてもよい。この場合は、当該データテーブルを、各トルク指令値Ｔr_cに対応するｄｑ電流ベクトル指令値Ｉdq_cが、該トルク指令値Ｔr_cに対応する上記ｄｑ電流ベクトル基本指令値Ｉdq_cbから上記電流遅角補正量ΔθIだけ位相を遅角させた電流ベクトルとなるように設定しておけばよい。
【００６９】
前記電流ＦＢ制御部２５は、前記ｄ軸電流偏差ΔＩd及びｑ軸電流偏差ΔＩqから、例えばフィードバック制御則としてのＰＩ則（比例・積分則）を用いて、ｄ軸電圧ＦＢ指令値Ｖfbd及びｑ軸電圧ＦＢ指令値Ｖfbqをそれぞれ算出する。具体的には、電流ＦＢ制御部２５は、ｄ軸電流偏差ΔＩdに所定値の比例ゲインを乗じてなる比例項と、ΔＩdの積分値（制御サイクル毎の累積加算値）に所定値の積分ゲインを乗じてなる積分項とを加え合わせることによってΔＩdを“０”に収束させるためのフィードバック操作量としてのｑ軸電圧ＦＢ指令値Ｖfbdを算出する。同様に、電流ＦＢ制御部２５は、ｑ軸電流偏差ΔＩqに所定値の比例ゲインを乗じてなる比例項と、ΔＩqの積分値（制御サイクル毎の累積加算値）に所定値の積分ゲインを乗じてなる積分項とを加え合わせることによって、ΔＩqを“０”に収束させるためのフィードバック操作量としてのｑ軸電圧ＦＢ指令値Ｖfbqを算出する。
【００７０】
なお、上記フィードバック制御則としては、ＰＩ則に限らず、比例則等の他のフィードバック制御則を用いてもよい。
【００７１】
補足すると、電流ＦＢ制御部２５は、特にモータ１のロータの電気角速度がある程度大きなものとなる状況では、ｄ軸とｑ軸との間で干渉し合う速度起電力の影響（ｑ軸電流及びｄ軸電流に対する影響）を打ち消すための非干渉化処理を含めてｄ軸電圧ＦＢ指令値Ｖfbd及びｑ軸電圧ＦＢ指令値Ｖfbqを決定することが好ましい。この場合には、例えば次のようにしてｄ軸電圧ＦＢ指令値Ｖfbd及びｑ軸電圧ＦＢ指令値Ｖfbqを決定すればよい。すなわち、上記速度起電力の影響を打ち消すためのｄ軸側の電流指令値の補正量であるｄ軸電流補正量Ｉdxを、前記ｑ軸電流検出値Ｉq_sと、後述するロータ角度推定部３０でロータ角度の推定値θ^と併せて算出されるモータ１のロータの電気角速度の推定値ω^とから所定の演算式又はマップに基づいて算出する。同様に、ｑ軸側の電流指令値の補正量であるｑ軸電流補正量Ｉqxを、前記ｄ軸電流検出値Ｉd_sと、モータ１のロータの電気角速度の推定値ω^とから所定の演算式又はマップに基づいて算出する。そして、ｄ軸電流偏差ΔＩdからフィードバック制御則（例えばＰＩ則）により算出したフィードバック操作量に上記ｄ軸電流補正量Ｉdxを加えてなる値をｄ軸電圧ＦＢ指令値Ｖfbdとして算出する。また、ｑ軸電流偏差ΔＩqからフィードバック制御則（例えばＰＩ則）により算出したフィードバック操作量に、上記ｑ軸電流補正量Ｉqxを加えてなる値をｑ軸電圧ＦＢ指令値Ｖfbqとして算出する。
【００７２】
以降の説明では、ｄ軸電圧ＦＢ指令値Ｖfbd及びｑ軸電圧ＦＢ指令値Ｖfbqの組から成るｄｑ電圧ベクトル(Ｖfbd，Ｖfbq)tをｄｑ電圧ＦＢ指令ベクトルＶfbdqということがある。
【００７３】
なお、本実施形態では、前記３相−ｄｑ変換部２１、ｄ軸電流偏差算出部２３、ｑ軸電流偏差算出部２４、及び電流ＦＢ制御部２５により本発明におけるｄｑ基本電圧決定手段が実現される。この場合、ｄｑ電流ベクトルＩdqの指令値(Ｉd_c，Ｉq_c)ｔに対応する３相の相電流が目標とする電流に相当する。また、ｄ軸電圧ＦＢ指令値Ｖfbdと、ｑ軸電圧ＦＢ指令値Ｖfbqとがそれぞれ、ｄ軸電圧の基本値、ｑ軸電圧の基本値に相当する。
【００７４】
前記ｄｑ−３相変換部２６は、入力されるｄ軸電圧指令値Ｖd_c及びｑ軸電圧指令値Ｖq_cの組から成るｄｑ電圧ベクトルＶdqの指令値(Ｖd_c，Ｖq_c)ｔに、所定の変換行列を乗じることによって、相電圧指令値Ｖu_c，Ｖv_c，Vw_cの組から成るベクトル(Ｖu_c，Ｖv_c，Vw_c)ｔを算出する。該変換行列は、前記３相−ｄｑ変換部２１の変換処理で用いる変換行列と同様に、その各行及び各列の成分値が、ロータ角度に応じて決定される変換行列（３相−ｄｑ変換部２１での変換処理と逆の変換処理を行う変換行列）である。この場合、ｄｑ−３相変換部２６は、その処理での変換行列の各成分値を決定するためのロータ角度の値として、後述するロータ角度推定部３０で算出されたロータ角度の推定値θ^を用いる。
【００７５】
ここで、前記ｄ軸電流偏差ΔＩd及びｑ軸電流偏差ΔＩqを“０”に収束させるように、モータ１の各相の電機子２の相電流をフィードバック制御する上では、電流ＦＢ制御部２５で上記の如く算出したｄ軸電圧ＦＢ指令値Ｖfbd及びｑ軸電圧ＦＢ指令値Ｖfbqの組からなるｄｑ電圧ＦＢ指令ベクトルＶfbdqを、ｄｑ電圧ベクトルＶdqの指令値としてｄｑ−３相変換部２６に入力することによって相電圧指令値Ｖu_c，Ｖv_c，Ｖw_cの組に変換し、そのＶu_c，Ｖv_c，Ｖw_cを前記ＰＤＵ１３に入力すればよい。このとき、ｄｑ電圧ＦＢ指令ベクトルＶfbdqを変換してなる相電圧指令値Ｖu_c，Ｖv_c，Ｖw_cの駆動電圧が、各相の電機子２に印加される。これにより、モータ１の各相の電機子２に流れる相電流が、目標とする相電流（ｄ軸電流指令値Ｉd_cとｑ軸電流指令値Ｉq_cとの組により規定される相電流）にフィードバック制御されることとなる。
【００７６】
一方、本実施形態におけるロータ角度の推定手法は、モータ１のロータのインダクタンスがロータ角度に応じて変化することを利用してロータ角度を推定することで、ロータの回転速度が“０”もしくはそれに近い低速である場合でも、ロータ角度の推定を行い得るようにしたものである。このために、演算処理部１１は、各相の電機子２に印加する駆動電圧に、高周波の周期信号（電圧信号）を付加的に重畳する。
【００７７】
この場合、本実施形態では、ｄｑ座標系上で（ｄｑ−３相変換部２６の変換処理の前段で）、前記ｄ軸電圧ＦＢ指令値Ｖfbd及びｑ軸電圧ＦＢ指令値Ｖfbqの組に、高周波の周期信号を重畳する。
【００７８】
そこで、演算処理部１１は、電機子２の駆動電圧に重畳する上記周期信号の電圧をｄｑ座標系上のベクトル量として表現した場合における該ベクトル量（ｄｑ座標系で見た周期信号の電圧ベクトル）のｄ軸方向成分Ｖhd（以下、ｄ軸側重畳電圧Ｖhdという）とｑ軸方向成分Ｖhq（以下、ｑ軸側重畳電圧Ｖhqという）との組を出力する周期信号発生部２７と、ｄ軸側重畳電圧Ｖhdを前記ｄ軸電圧ＦＢ指令値Ｖfbdに加算（重畳）してなる値を、ｄｑ−３相変換部２６に入力する前記ｄ軸電圧指令値Ｖd_cとして算出するｄ軸側重畳部２８と、ｑ軸側重畳電圧Ｖhqを前記ｑ軸電圧ＦＢ指令値Ｖfbqに加算（重畳）してなる値を、ｄｑ−３相変換部２６に入力する前記ｑ軸電圧指令値Ｖq_cとして算出するｑ軸側重畳部２９とを備える。
【００７９】
以降の説明では、上記周期信号をｄｑ座標系上で表現するｄｑ電圧ベクトル(Ｖhd，Ｖhq)ｔをｄｑ重畳電圧ベクトルＶhdqということがある。
【００８０】
なお、本実施形態では、上記周期信号発生部２７、ｄ軸側重畳部２８及びｑ軸側重畳部２９により本発明における高周波重畳手段が実現される。
【００８１】
前記周期信号発生部２７が出力する前記周期信号は、本実施形態では、ｎ個（ｎ≧２）の連続する制御サイクルを１周期とし、その１周期の期間内のｄｑ重畳電圧ベクトルＶhdq（各制御サイクル毎のｄｑ重畳電圧ベクトルＶhdq）の時系列が次式（５）を満たす周期信号である。従って、該周期信号は、その１周期の期間での各制御サイクルのｄｑ重畳電圧ベクトルＶhdqの総和が“０”になる（該１周期内で周期信号の電圧の平均値が“０”になる）ように設定された周期信号である。
【００８２】
【数３】
2010259255.tif 000005
【００８３】
なお、Ｖhd(j)，Ｖhq(j)（ｊ＝１，２，…，ｎ）は、周期信号の１周期内でのｊ番目の制御サイクルにおけるＶhd，Ｖhqの値である。
【００８４】
本実施形態では、周期信号発生部２６が出力する周期信号は、例えば、図４（ａ）に示すようなパターン（時系列パターン）で設定された周期信号である。この例では、周期信号は、そのｄｑ重畳電圧ベクトルＶhdqが、３制御サイクルを１周期とし（ｎ＝３とする）、且つ、その１周期の各制御サイクル（時刻Ｔ11、Ｔ12、Ｔ13の制御サイクル）におけるＶhdの総和とＶhqの総和とが“０”になるようなパターンで設定された周期信号である。なお、図４（ａ）の丸付き数字を付した各矢印が、周期信号の１周期の各制御サイクル（時刻Ｔ11、Ｔ12、Ｔ13の制御サイクル）におけるｄｑ重畳電圧ベクトルＶhdqを示している。また、丸付き数字は、周期信号の１周期の各制御サイクルにおける重畳電圧ベクトルＶhdqの発生順番を示している。
【００８５】
補足すると、周期信号のパターンは、図４（ａ）に示したパターンに限られるものではない。例えば図４（ｂ）に示すように周期信号のパターンを設定してもよい。この例では、周期信号は、４制御サイクルを１周期とし、且つ、その１周期内の連続した２制御サイクル毎のｄｑ重畳電圧ベクトルＶhdqの総和（時刻Ｔ21，Ｔ22の２つの制御サイクルおけるＶhd，Ｖhqのそれぞれの値の総和と、時刻Ｔ23，Ｔ24の２つの制御サイクルにおけるＶhd，Ｖhqのそれぞれの値の総和）が“０”となるようなパターンで設定される。なお、図４（ｂ）の丸付き数字を付した各矢印および該丸付き数字の意味は、図４（ａ）の場合と同様である。
【００８６】
本実施形態では、図４（ａ）に示したようなパターンを有する周期信号のｄｑ重畳電圧ベクトルＶhdqの時系列が、周期信号発生部２７から周期的に出力される。そして、該ｄｑ重畳電圧ベクトルＶhdqのｄ軸側重畳電圧Ｖhdを、ｄ軸側重畳部２８でｄ軸電圧ＦＢ指令値Ｖfbdに加算することによってｄ軸電圧指令値Ｖd_cが決定される。また、該周期信号のｄｑ重畳電圧ベクトルＶhdqのｑ軸側重畳電圧Ｖhqを、ｑ軸側重畳部２９でｑ軸電圧ＦＢ指令値Ｖfbqに加算することによってｑ軸電圧指令値Ｖq_cが決定される。
【００８７】
従って、モータ１の電機子２の相電流を目標とする電流に収束させるために各相の電機子２に印加すべき駆動電圧をｄｑ座標系で表現してなるｄｑ電圧ベクトルＶdqとしての前記ｄｑ電圧ＦＢ指令ベクトルＶfbdqにｄｑ重畳電圧ベクトルＶhdqが重畳されることとなる。これにより、電機子２に実際に印加する駆動電圧を規定するｄ軸電圧指令値Ｖd_c及びｑ軸電圧指令値Ｖq_cの組（ｄｑ電圧ベクトルＶdqの指令値）が決定される。
【００８８】
なお、演算処理部１１は、上記のようにｄｑ電圧ＦＢ指令ベクトルＶfbdqにｄｑ重畳電圧ベクトルＶhdqを重畳するとき、周期信号の各周期の期間において、ｄｑ重畳電圧ベクトルＶhdqを重畳するｄｑ電圧ＦＢ指令ベクトルＶfbdqのｄ軸電圧ＦＢ指令値Ｖfbd及びｑ軸電圧ＦＢ指令値Ｖfbqを一定値に保持する。換言すれば、周期信号の各周期毎に（本実施形態では３制御サイクル毎に）、ｄｑ電圧ＦＢ指令ベクトルＶfbdqのｄ軸電圧ＦＢ指令値Ｖfbd及びｑ軸電圧ＦＢ指令値Ｖfbqを更新する。
【００８９】
そして、演算処理部１１は、上記の如く決定されたｑ軸電圧指令値Ｖq_c及びｄ軸電圧指令値Ｖd_cの組を、ｄｑ−３相変換部２７により、３相の相電圧指令値Ｖu_c，Ｖv_c，Ｖw_cの組に変換して、ＰＤＵ１３に出力する。このとき、ｄｑ電圧ＦＢ指令ベクトルＶfbdqにｄｑ重畳電圧ベクトルＶhdqを加え合わせたｄｑ電圧ベクトルＶdqの指令値により規定される相電圧指令値Ｖu_c，Ｖv_c，Ｖw_cの駆動電圧がモータ１の各相の電機子２に印加される。この場合、モータ１の各相の電機子２に印加される駆動電圧は、ｄｑ電圧ＦＢ指令ベクトルＶfbdqに対応する駆動電圧（Ｖfbdqをｄｑ−３相変換部２７で変換してなる駆動電圧）を中心として、前記周期信号と同じ周期で微小変動するような電圧になる。
【００９０】
補足すると、周期信号をｄｑ座標系で表現してなるｄｑ重畳電圧ベクトルＶhdqをｄｑ電圧ＦＢ指令ベクトルＶfbdqに重畳するということは、ｄｑ電圧ＦＢ指令ベクトルＶfbdqををｄｑ−３相変換部２７により変換してなる各相の相電圧指令値に、ｄｑ重畳電圧ベクトルＶhdqをｄｑ−３相変換部２７により変換してなる各相の周期信号（この周期信号もその１周期における電圧値の総和が“０”になる）を重畳することと等価である。従って、周期信号の重畳は、ｄｑ−３相変換部２７の入力側で行う代わりに、出力側で行うようにしてもよい。
【００９１】
演算処理部１１は、さらに、上記のように周期信号のｄｑ重畳電圧ベクトルＶhdqをｄｑ電圧ＦＢ指令ベクトルＶfbdqに重畳した状態で、前記３相−ｄｑ変換部２１及びｄｑ−３相変換部２７の変換処理に使用するロータ角度の推定値θ^を算出するロータ角度推定部３０を備える。
【００９２】
ここで、このロータ角度推定部３０によるロータ角度の推定処理の概要を以下に説明する。
【００９３】
ロータ角度の推定値θ^が正しいと仮定して各軸方向を特定したｄｑ座標系（以下、推定ｄｑ座標系という）における電流と電圧との間の関係を表現するモデルは、ロータの電気角速度が“０”もしくはそれに近い値であり、且つ、ｄ軸電機子及びｑ軸電機子の抵抗による電圧降下が十分に小さなレベルである場合に、以下の式（６）により表される。
【００９４】
【数４】
2010259255.tif 000006
【００９５】
この式（６）におけるＩd^は推定ｄｑ座標系でのｄ軸電流、Ｉq^は推定座標系でのｑ軸電流、Ｖd^は推定ｄｑ座標系でのｄ軸電圧、Ｖq^は推定ｄｑ座標系でのｑ軸電圧、θeはロータ角度の実際値θと推定値θ^との位相差（＝θ−θ^）である。
【００９６】
また、式（６）におけるＬ0，Ｌ1は、実際のｄ軸上のｄ軸電機子の平均インダクタンスＬdと、実際のｑ軸上のｑ軸電機子の平均インダクタンスＬqとに対して次式（７）の関係を有するものとして定義された変数である。
【００９７】
【数５】
2010259255.tif 000007
【００９８】
上記式（６）を離散時間系で表現し、且つ、各制御サイクルにおけるｄｑ電圧ベクトル(Ｖd^，Ｖq^)tとして、前記ｄｑ重畳電圧ベクトルＶhdqを前記ｄｑ電圧ＦＢ指令ベクトルＶfbdqに重畳してなるｄｑ電圧ベクトル（＝Ｖfbdq＋Ｖhdq）を用いることによって、次式（８）が得られる。
【００９９】
【数６】
2010259255.tif 000008
【０１００】
なお、この式（８）におけるＭdqは、式（９）に示す如く前記式（６）の右辺の行列と同じ行列である。また、ｄＩd(i)，ｄＩq(i)は、それぞれ、式（１０）に示す如く、ｉ番目の制御サイクルと次の制御サイクルとの間のｄ軸電流の一階差分、ｑ軸電流の一階差分である。また、Ｖfbdq(i)はｉ番目の制御サイクルにおけるｄｑ電圧ＦＢ指令ベクトルＶfbdq、Ｖhdq(i)はｉ番目の制御サイクルにおけるｄｑ重畳電圧ベクトルＶhdqである。なお、式（１０）におけるΔＴは、１制御サイクルの期間の時間である。
【０１０１】
そして、前記式（２），（３）により定義した行列と、上記式（８）（より詳しくは、ｉ＋１番目からｉ＋ｎ番目まで各制御サイクルでのｎ個の式（８））とから次式（１２）が得られる。
【０１０２】
【数７】
2010259255.tif 000009
【０１０３】
ここで、ｉ＋１番目から第ｉ＋ｎ番目までのｎ個の制御サイクルを含む期間におけるｄｑ電圧ＦＢ指令ベクトルＶfbdqのｄ軸電圧ＦＢ指令値Vfbd及びｑ軸電圧ＦＢ指令値Vfbqが一定値に保たれ（Ｖfbdq(i+1)＝Ｖfbdq(i+1)＝…＝Ｖfbdq(i+n)となる）、また、この期間における周期信号のｄｑ重畳電圧ベクトルVhdqが前記式（５）を満たすように設定されている場合には、上式（１２）の右辺の第１項は“０”となる。従って、次式（１３）が得られる。
【０１０４】
【数８】
2010259255.tif 000010
【０１０５】
この式（１３）の左辺は、前記式（１）の右辺と同じである。この場合、上式（１３）と、前記式（１）とを比較して明らかなように、前記式（１）の左辺のＶsdqは、ロータ角度の推定値θ^の誤差としての前記位相差θeの２倍角の正弦関数値sin２θeに応じて（比例して）変化する値としての意味を持つ。また、前記式（１）の左辺のＶcdqは、該位相差θeの２倍角の余弦関数値cos２θeに応じて（比例して）変化する値としての意味を持つ。さらに、前記式（１）の左辺のＬ0は、前記したようにｄ軸電機子及びｑ軸電機子の平均インダクタンスＬd，Ｌqに応じて変化する値としての意味を持つ。なお、以降、Ｖsdqを正弦参照値、Ｖcdqを余弦参照値、Ｌ0をインダクタンス参照値ということがある。
【０１０６】
そこで、ロータ角度推定部３０は、連続したｎ個（本実施形態では３個）の制御サイクルを含む期間におけるｄｑ電圧ＦＢ指令ベクトルＶfbdqのｄ軸電圧ＦＢ指令値Vfbd及びｑ軸電圧ＦＢ指令値Vfbqを一定値に保つようにしつつ、前記式（５）を満たすような周期信号のｄｑ重畳電圧ベクトルVhdqをｄｑ電圧ＦＢ指令ベクトルＶfbdqに重畳した状態で、上記期間内の各制御サイクルとその次の制御サイクルとの間のｄ軸電流Ｉd及びｑ軸電流Ｉqの一階差分を観測する。そして、ロータ角度推定部３０は、これらの一階差分の観測値から、式（１３）の左辺の演算、すなわち、前記式（１）の右辺の演算を行うことによって、前記式（１）の左辺のＶsdq，Ｖcdq，Ｌ0を算出する。
【０１０７】
そして、本実施形態では、ロータ角度推定部３０は、本発明における位相差推定値として、例えば、前記式（１）の右辺の演算によって算出した正弦参照値Ｖsdqをインダクタンス参照値Ｌ0で除算してなる値Ｖsdq／Ｌ0を設定する。以降、本実施形態における位相差推定値を参照符号ΘEを用いて表記する。
【０１０８】
さらに、本実施形態では、ロータ角度推定部３０は、上記の如く求めた位相差推定値ΘEを用いて、次式（１５）により表されるオブザーバによって、ロータ角度の推定値θ^と、その変化速度であるロータ角速度の推定値ω^とを算出する。
【０１０９】
【数９】
2010259255.tif 000011
【０１１０】
この式（１５）におけるΔｔはロータ角度の推定値θ^の更新サイクルの時間、ｋはθ^の更新番数、K1，K2は、あらかじめ設定された所定値のゲイン係数である。また、δofsは、ロータ角度の推定値θ^の収束安定性を確保するために、位相差推定値ΘEから減算するオフセット値であり、後述するようにモータ１の出力トルク（トルク指令値Ｔr_c）に応じて設定される。
【０１１１】
かかる式（１５）により表されるオブザーバは、ΘE−δofsを“０”に収束させるように、ロータ角度の推定値θ^をΔｔのサイクルで逐次更新しつつ算出するものである。この場合、ΘE−δofsが“０”となる状態での前記位相差θeの値をθe0とおいたとき、ロータ角度の推定値θ^は、ロータ角度の実際値θからθe0だけ誤差を有する角度に収束することとなる。以降、θe0を位相差θeの収束目標値という。
【０１１２】
以上が、ロータ角度推定部３０の処理の概要である。なお、本実施形態では、このロータ角度推定部３０により本発明におけるロータ角度推定手段が実現される。この場合、ロータ角度推定部３０は、本発明における位相差推定値算出手段としての機能を包含している。
【０１１３】
このロータ角度推定部３０の処理を含めた演算処理部１１の処理は、より具体的には、図５のフローチャートに示す如く実行される。このフローチャートの処理は、前記制御サイクルで逐次実行される処理である。
【０１１４】
以下説明すると、まず、ＳＴＥＰ１において、演算処理部１１は、Ｕ相電流センサ１２ｕ及びＷ相電流センサ１２ｗのそれぞれの出力であるＵ相電流検出値Ｉu_sとＷ相電流検出値Ｉw_sとを取り込む。
【０１１５】
次いで、ＳＴＥＰ２において、演算処理部１１は、前回の制御サイクルから今回の制御サイクルまでの１制御サイクルの期間におけるＵ相電流検出値Ｉu_sの一階差分ｄＩuとＷ相電流検出値Ｉw_sの一階差分ｄＩwとをロータ角度推定部３０によって算出する。具体的には、ロータ角度推定部３０は、Ｕ相電流検出値Ｉu_sの今回値（今回の制御サイクルで取り込んだ値）から前回値（前回の制御サイクルで取り込んだ値）を差し引いた値を１制御サイクルの時間ΔＴで除算してなる値（すなわち１制御サイクルの時間当たりのＵ相電流検出値Ｉu_sの変化量）を、Ｕ相側の一階差分ｄＩuとして算出する。Ｗ相側の一階差分ｄＩwについても同様である。なお、１制御サイクルの時間当たりのＵ相電流検出値Ｉu_sの変化量及びＷ相電流検出値Ｉw_sの変化量に、それぞれ所定値のゲイン（例えばΔＴ）を乗じた値を、一階差分ｄＩu，ｄＩwとして算出するようにしてもよい。
【０１１６】
次いで、ＳＴＥＰ３において、演算処理部１１のロータ角度推定部３０は、上記一階差分ｄＩu，ｄＩwから、前記３相−ｄｑ変換部２１と同様の変換処理によって、ｄ軸電流の一階差分ｄＩdと、ｑ軸電流の一階差分ｄＩqとの組を算出する。すなわち、ロータ角度推定部３０は、ｄＩu，ｄＩwを成分とするベクトル(ｄＩu，ｄＩw)tに、変換行列を乗じることによって、ベクトル(ｄＩd，ｄＩq)t（以降、一階差分電流ベクトルｄＩdqという）を算出する。この場合、該変換行列の各行及び各列の成分値は、後述するＳＴＥＰ８の処理で更新されたｄｑ変換用のロータ角度の推定値θ^の最新値に応じて決定される。
【０１１７】
次いで、ＳＴＥＰ４において、演算処理部１１は、カウンタ変数ptrの現在値が“１”であるか否かを判断する。このときptr＝１である場合には、演算処理部１１は、ＳＴＥＰ５〜８の処理を実行し、ptr＝１でない場合には、演算処理部１１は、ＳＴＥＰ９からの処理を実行する。
【０１１８】
ここで、カウンタ変数ptrは、後述するＳＴＥＰ１４で各制御サイクル毎にインクリメントされ、そのインクリメント後のptrの値が“３”になると、“０”にリセットされる変数である。このため、前記周期信号の１周期に相当する３制御サイクルが経過する毎にＳＴＥＰ４の判断結果が肯定的となり、ＳＴＥＰ５〜８の処理が実行される。なお、以降の説明では、各制御サイクルの開始時のカウンタ変数ptrの値が“０”、“１”、“２”となる制御サイクルをそれぞれ制御サイクル（０）、制御サイクル（１）、制御サイクル（２）ということがある。
【０１１９】
ＳＴＥＰ４の判断結果がptr＝１である場合（今回の制御サイクルが制御サイクル（１）である場合）には、演算処理部１１は、ロータ角度推定部３０によって、ＳＴＥＰ５、６の処理を実行する。この場合、まず、ＳＴＥＰ５において、ロータ角度推定部３０は、前記式（１）（詳しくは、式（１）におけるｎをｎ＝３としてなる式）の右辺の演算を行うことによって、正弦参照値Ｖsdqおよび余弦参照値Ｖcdqと、インダクタンス参照値Ｌ0とを算出する。
【０１２０】
具体的には、ロータ角度推定部３０は、前々回の制御サイクル（２）で算出した１階差分電流ベクトルｄＩdqと、前回の制御サイクル（０）で算出した１階差分電流ベクトルｄＩdqと、今回の制御サイクル（１）で算出した１階差分電流ベクトルｄＩdqとを、それぞれ式（１）のｄＩdq(i+1)、ｄＩdq(i+2)、ｄＩdq(i+3)（＝ｄＩdq(i+n)）として用いて、式（１）の左辺の演算を実行することによって、正弦参照値Ｖsdq、余弦参照値Ｖcdq及びインダクタンス参照値Ｌ0を算出する。なお、この場合、式（１）の行列Ｃdqの各成分値を規定するｄｑ重畳電圧ベクトルＶhdq(i+1)，Ｖhdq(i+2)，Ｖhdq(i+3)（＝Ｖhdq(i+n)）は、それぞれ、前記周期信号発生部２７が制御サイクル（０）、制御サイクル（１）、制御サイクル（２）で出力するｄｑ重畳電圧ベクトルＶhdqの値である。本実施形態では、後述するように、周期信号発生部２７が各制御サイクルで出力するｄｑ重畳電圧ベクトルＶhdqに対応する電圧成分は、その次の制御サイクルモータ１の各相の電機子２に印加される。
【０１２１】
次いで、ＳＴＥＰ６において、ロータ角度推定部３０は、上記の如く算出した正弦参照値Ｖsdqと、インダクタンス参照値Ｌ0とから前記した如く位相差推定値ΘEを算出する。すなわち、ＶsdqをＬ0により除算してなる値（＝Ｖsdq／Ｌ0）を、ΘEとして算出する。なお、本実施形態では余弦参照値Ｖcdqの値を使用しないので、前記ＳＴＥＰ５において、余弦参照値Ｖcdqの算出処理は省略してもよい。
【０１２２】
次いで、ＳＴＥＰ７に進んで、演算処理部１１は、ＳＴＥＰ１で取り込んだ相電流検出値Ｉu_s，Ｉw_sの組を３相−ｄｑ変換部２１により前記した如く変換することで、電流フィードバック制御用のｄ軸電流検出値Ｉd_sとｑ軸電流検出値Ｉq_sとの組（ｄｑ電流ベクトルＩdqの検出値(Ｉd_s，Ｉq_s)ｔ）を算出して保持する。このＳＴＥＰ７で算出した電流ベクトルＩdqの検出値は、次次回（次回の次の回）の制御サイクル（０）の後述するＳＴＥＰ１１での処理（前記ｄ軸電流偏差算出部２３、ｑ軸電流偏差算出部２４、及び電流ＦＢ制御部２５の処理）で使用される。
【０１２３】
なお、ＳＴＥＰ７で３相−ｄｑ変換部２１の処理で使用するロータ角度の推定値θ^は、今回の制御サイクル（１）のＳＴＥＰ３の処理で使用したθ^の値と同じである。
【０１２４】
次いで、ＳＴＥＰ８において、演算処理部１１は、ｄｑ変換用のロータ角度の推定値θ^の値（詳しくは、３相−ｄｑ変換部２１及びｄｑ−３相変換部２６の処理とＳＴＥＰ３の処理とで使用するθ^の値）を、前回の制御サイクル（０）の後述するＳＴＥＰ１２でロータ角度推定部３０により新たに決定された値に更新する。従って、前記ＳＴＥＰ３の処理で使用するθ^の値は、制御サイクル（２）から制御サイクル（１）までの３制御サイクルの期間において一定に維持される。また、この３制御サイクルの期間のうちの制御サイクル（１）でＳＴＥＰ８の３相−ｄｑ変換部２１の処理に使用するθ^の値は、当該３制御サイクルの期間においてＳＴＥＰ３の処理で使用するθ^の値と同じになる。
【０１２５】
上記のようにＳＴＥＰ８の処理を実行した後、あるいは、前記ＳＴＥＰ４でptr≠１である場合には、演算処理部１１は、ＳＴＥＰ９においてカウンタ変数ptrの現在値が“０”であるか否かを判断する。
【０１２６】
このときptr＝０である場合には、演算処理部１１は、ＳＴＥＰ１０，１１の処理を順次実行し、ptr≠０である場合には、演算処理部１１は、ＳＴＥＰ１２からの処理を実行する。
【０１２７】
ＳＴＥＰ９でptr＝０である場合（今回の制御サイクルが制御サイクル（０）である場合）においては、まず、演算処理部１１は、ＳＴＥＰ１０において、前記ｄ軸電流偏差算出部２３、ｑ軸電流偏差算出部２４、及び電流ＦＢ制御部２５の処理を実行することによって、前記ｄ軸電圧ＦＢ指令値Ｖfbd及びｑ軸電圧ＦＢ指令値Ｖfbqの組（ｄｑ電圧ＦＢ指令ベクトルＶfbdq）を算出する。
【０１２８】
この場合、ｄｑ電圧ＦＢ指定ベクトルＶfbdqを算出するために必要となるｄ軸電流偏差ΔＩd及びｑ軸電流偏差ΔＩqは、前々回の制御サイクル（１）の前記ＳＴＥＰ７で算出・保持した電流ベクトルＩdqの検出値(Ｉd_s，Ｉq_s)ｔと、ｄｑ電流ベクトルＩdqの指令値(Ｉd_c，Ｉq_c)tの今回値とから算出される。
【０１２９】
次いで、ＳＴＥＰ１１に進んで、演算処理部１１は、ロータ角度推定部５０により、ロータ角度の推定値θ^を前記式（１５）により更新する。この場合、ロータ角度の推定値θ^の更新に必要な位相差推定値θEとして、前々回の制御サイクル（１）の前記ＳＴＥＰ６で算出された値が用いられる。また、式（１５）におけるオフセット値δofsは、トルク指令値Ｔr_cの今回値に応じて設定される。
【０１３０】
以上のようにして、ptr＝０となる制御サイクル（０）では、ｄｑ電圧ＦＢ指令ベクトルＶfbdq（＝(Ｖfbd，Ｖfbq)ｔ）が更新されると共に、ロータ角度の推定値θ^が更新される。従って、３制御サイクル毎に、ｄｑ電圧ＦＢ指令ベクトルＶfbdqとロータ角度の推定値θ^とが更新される。そして、ｄｑ電圧ＦＢ指令ベクトルＶfbdqとロータ角度の推定値θ^とは、制御サイクル（０）のＳＴＥＰ１１で更新された後は、３制御サイクル後の次の制御サイクル（０）までの期間において一定値に保たれる。
【０１３１】
なお、前記ＳＴＥＰ８の処理を有するため、ＳＴＥＰ１１で更新されたロータ角度の推定値θ^は、次回の制御サイクル（１）のＳＴＥＰ８の処理が実行されるまでは、ＳＴＥＰ３，７の処理では使用されず、次次回の制御サイクル（２）から制御サイクル（１）までの３制御サイクルの期間において、前記ＳＴＥＰ３の処理で使用されると共に、この３制御サイクルの期間のうちの制御サイクル（１）において、前記ＳＴＥＰ７の処理（３相−ｄｑ変換部２１の処理）で使用される。
【０１３２】
上記のようにＳＴＥＰ１１の処理を実行した後、あるいは、前記ＳＴＥＰ９でptr≠０である場合には、演算処理部１１は、ＳＴＥＰ１２において、前記周期信号発生部２７、ｄ軸側重畳部２８及びｑ軸側重畳部２９により、前記周期信号のｄｑ重畳電圧ベクトルＶhdq（＝(Ｖhd，Ｖhq)ｔ）をｄｑ電圧ＦＢ指令ベクトルＶfbdq（＝(Ｖfbd，Ｖfbq)ｔ）の現在値に重畳する（加算する）ことにより、ｄ軸電圧指令値Ｖd_c及びｑ軸電圧指令値Ｖq_cの組（ｄｑ電圧ベクトルＶdqの指令値(Ｖd_c，Ｖq_c)ｔ）を算出する。
【０１３３】
この場合、ｄｑ重畳電圧ベクトル(Ｖhd，Ｖhq)ｔを重畳するｄｑ電圧ＦＢ指令ベクトル(Ｖfbd，Ｖfbq)ｔの現在値は、ptr＝０となる最新の制御サイクル（０）のＳＴＥＰ１０で算出された値である。また、周期信号発生部２７は、制御サイクル（０）から制御サイクル（２）までの３制御サイクルの期間を１周期として、周期信号のｄｑ重畳電圧ベクトルＶhdqを発生する。そして、この１周期の期間におけるｄｑ重畳電圧ベクトルＶhdqの総和は０であるので、該期間におけるｄｑ電圧ベクトルＶdqの指令値(Ｖd_c，Ｖq_c)ｔの平均値は、該期間で一定値となるｄｑ電圧ＦＢ指令ベクトルＶfbdqに一致する。
【０１３４】
次いで、ＳＴＥＰ１３に進み、演算処理部１１は、ＳＴＥＰ１２で求めたｄｑ電圧ベクトルＶdqの指令値(Ｖd_c，Ｖq_c)ｔを前記ｄｑ−３相変換部２６により相電圧指令値Ｖu_c，Ｖv_c，Ｖw_cの組に変換する。
【０１３５】
なお、このＳＴＥＰ１３におけるｄｑ−３相変換部２６の処理で使用するロータ角度の推定値θ^の値は、ptr＝１となる最新の（直近の）制御サイクル（１）におけるＳＴＥＰ７で更新された値である。。
【０１３６】
また、このＳＴＥＰ１３で算出された相電圧指令値Ｖu_c，Ｖv_c，Ｖw_cは次回の制御サイクルにおいて、前記ＰＤＵ２８に出力される。従って、ＳＴＥＰ１２で算出された相電圧指令値Ｖu_c，Ｖv_c，Ｖw_cの駆動電圧を、ＰＤＵ２８によりモータ１０の各相の電機子２に実際に印加することは、１制御サイクル遅れて行なわれる。
【０１３７】
次いで、ＳＴＥＰ１４に進んで、演算処理部１１は、カウンタ変数ptrの値を１だけインクリメントする。さらに、演算処理部１１は、ＳＴＥＰ１５において、インクリメント後のptrの値が“３”であるか否かを判断する。そして、演算処理部１１は、ptr＝３である場合には、ＳＴＥＰ１６において、ptrの値を“０”にリセットし、今回の制御サイクルの処理を終了する。また、ptr≠３である場合には、そのまま今回の制御サイクルの処理を終了する。
【０１３８】
以上が制御装置１０の演算処理部１１の処理の詳細である。
【０１３９】
なお、本実施形態では、ロータ角度推定部３０が実行する前記ＳＴＥＰ２，３，５，６の処理によって、本発明における位相差推定値算出手段が実現される。
【０１４０】
以上説明した処理によって、モータ１の各相の電機子２に実際に印加される駆動電圧に含まれるｄｑ電圧ＦＢ指令値(Ｖfbd，Ｖfbq)ｔに対応する成分は、制御サイクル（１）から制御サイクル（０）までの３制御サイクル分の期間（周期信号の１周期の期間）において一定に維持される。そして、この３制御サイクル分の期間において、モータ１の各相の電機子２に実際に印加される駆動電圧に含まれる前記周期信号（ｄｑ重畳電圧指令ベクトル(Ｖhd，Ｖhq)ｔに対応する電圧成分）は、該期間を１周期として、該期間内の各制御サイクル毎に変化する。但し、該期間において各相の電機子２に実際に印加される駆動電圧の平均値は、ｄｑ電圧ＦＢ指令ベクトル(Ｖfbd，Ｖfbq)ｔに対応する一定値となる。このため、該期間におけるモータ１の各相の電機子２の相電流の平均値が、ｄｑ電流ベクトルの指令値(Ｉd_c，Ｉq_c)ｔに対応する電流値に一致するように制御されることとなる。
【０１４１】
上記のように、高周波の周期信号を含む駆動電圧をモータ１の各相の電機子２に印加する駆動電圧に周期信号を重畳した状態で、ｄ軸電流検出値Ｉd_s及びｑ軸電流検出値Ｉq_sの一階差分ｄＩd，ｄＩq（制御サイクル（１）から制御サイクル（０）までの各制御サイクルとその次の制御サイクルとの間の電流変化）が観測される。そして、これらの観測値から、前記した如くロータ角度推定部３０によって、位相差推定値ΘEが算出される。さらに、この位相差推定値ΘEから、前記式（１５）に示すオブザーバの演算によって、ロータ角度の推定値θ^が更新される。
【０１４２】
これにより、位相差推定値ΘEにオフセット値δofsを加算した値（＝ΘE＋δofs）を“０”に収束させ、ひいては、位相差θeを前記ゼロ点位相差θe0に収束させるように、ロータ角度の推定値θ^が３制御サイクル毎に更新される。
【０１４３】
次に、本実施形態における前記ｄｑ電流ベクトル指令値Ｉdq_cの位相の調整手法についてさらに説明する。
【０１４４】
前記位相差推定値ΘE（本実施形態では、Ｖsdq／Ｌ0）は、モータ１の磁気飽和が発生していない状態（例えばモータ１の出力トルクが“０”である状態）では、前記位相差θeに対して、その２倍角２θeの正弦関数値sin２θeにほぼ比例した値となる。従って、−９０°から＋９０°の範囲内の位相差θeにおいて、θe＞０である場合とθe＜０である場合とで、位相差推定値ΘEの極性が互いに逆極性となる。θe＞０である場合とθe＜０である場合とで、ΘEの波形が対称的な波形となる。さらに、θeが概ね−４５°から＋４５°の範囲（“０”近傍の範囲）では、位相差推定値ΘEは、θeに対して単調に変化（本実施形態では単調減少）する。
【０１４５】
この場合、Ｖsdq／Ｌ0として算出される本実施形態における位相差推定値ΘEの極性は、θeと逆極性になる。従って、ΘEが正極性となる状態は、ロータ角度の推定値θ^が実際値θに対して遅角している状態を意味し、ΘEが負極性となる状態では、ロータ角度の推定値θ^が実際値θに対して進角している状態を意味する。
【０１４６】
一方、モータ１の出力トルクが比較的大きい場合（ひいては電機子２に流れる電流が比較的大きい場合）には、モータ１の磁気飽和が発生する。そして、この磁気飽和が発生している状態では、その磁気飽和に起因して、位相差θeに対する位相差推定値ΘEの波形が正弦波状の波形から崩れる。また、位相差推定値ΘEが正の値となる位相差θeの範囲と、負の値となる位相差θeの範囲とがアンバランスになる。
【０１４７】
例えば、位相差θeに対する位相差推定値ΘE（＝Ｖsdq／Ｌ0）の波形は、モータ１の磁気飽和が生じている状態では、例えば図６（ａ），（ｂ）に例示するような波形となる。
【０１４８】
図６（ａ）は、ｄｑ電流ベクトル指令値Ｉdq_cの大きさを一定値に保持すると共に、前記指令電流進角値θIaを“０”に保持（Ｉq_cを“０”に保持）した状態で電機子２に通電しつつ、位相差θeに対する位相差推定値ΘEの変化を計測した場合に得られたΘEの波形を示す。
【０１４９】
また、図６（ｂ）は、ｄｑ電流ベクトル指令値Ｉdq_cの大きさを図６（ａ）の場合と同じ一定値に保持すると共に、前記指令電流進角値θIaを進角側の所定値（例えば４０°）に保持した状態で電機子２に通電しつつ、位相差θeに対する位相差推定値ΘEの変化を計測した場合に得られたΘEの波形を示す。
【０１５０】
なお、図６（ａ），（ｂ）には、それぞれ、複数（６種類）の波形のグラフを図示している。それぞれの波形は、実際のロータ角度を互いに異なる所定角度値（６種類の角度値）に保持した状態での波形を示している。図６（ａ），（ｂ）のそれぞれにおいて、ΘEの波形は、実際のロータ角度の値によらずに概略一定の波形に保たれている。
【０１５１】
これらの図６（ａ），（ｂ）に示すように、モータ１の磁気飽和が発生している状態での位相差推定値ΘEの波形は、正弦関数値sin２θeの波形に対して崩れたものとなると共に、位相差θeが“０”から負側に変化した場合にΘEが連続的に正極性に維持される位相差θeの範囲と、位相差θeが“０から正側に変化した場合にΘEが連続的に負極性に維持される位相差θeの範囲とがアンバランスになる。
【０１５２】
また、図６（ａ），（ｂ）を比較して判るように、モータ１の磁気飽和が発生している状態における位相差推定値ΘEの波形は、ｄｑ電流ベクトル指令値Ｉdq_cの位相の違いにも依存して変化する。これは、ロータ角度の推定値θ^から特定される推定ｄｑ座標系から見た、ロータの見かけ上の突極の位置（向き）が上記磁気飽和に起因して変化するためである。
【０１５３】
例えば、前記指令電流進角値θIaを“０”に保持（Ｉq_cを“０”に保持）した状態での電機子２の通電によって発生する電流磁極４の実際の磁束方向が、ロータの実際の磁石磁極３ｂの磁束方向に直交する方向である場合（以降、第１の場合という）と、前記指令電流進角値θIaを進角側の所定値（４０°）に保持した状態での電機子２に通電によって発生する電流磁極４の実際の磁束方向が、ロータの実際の磁石磁極３ｂの磁束方向に直交する方向である場合（以降、第２の場合という）とを想定する。
【０１５４】
上記第１の場合は、前記ロータ角度の推定値θ^から特定される推定ｄｑ座標系のｄ軸方向及びｑ軸方向が、それぞれ実際のｄｑ座標系（ｑ軸方向が実際の磁石磁極３ｂの磁束方向に一致するｄｑ座標系）のｄ軸方向及びｑ軸方向に一致している状況である。図７（ａ）で参照符号ｄ１，ｑ１を付した軸が、この第１の場合における推定ｄｑ座標系のｄ軸、ｑ軸を示している（以降、この第１の場合における推定ｄｑ座標系を推定ｄ１ｑ１座標系という）。なお、図７（ａ）中に破線で示すロータ３の突極３ａの長手方向が、実際の突極３ａの向きを示している。
【０１５５】
この状況で算出される位相差推定値ΘEは、図６（ａ）において、位相差θeが０°である場合のΘEの値であるから、正の値となる。従って、このΘEの値から推察されるロータ角度は、実際値θから遅角しているように見えることとなる。よって、推定ｄ１ｑ１座標系で認識されるロータ３の突極３ａの見かけ上の方向は、図７（ａ）中の参照符号Ａ１を付した角度域を通るような方向となる。
【０１５６】
また、上記第２の場合は、前記ロータ角度の推定値θ^から特定される推定ｄｑ座標系のｄ軸方向及びｑ軸方向が、それぞれ実際のｄｑ座標系（ｑ軸方向が実際の磁石磁極の磁束方向に一致するｄｑ座標系）のｄ軸方向及びｑ軸方向から４０°の角度だけ遅角している状況である。図７（ａ）で参照符号ｄ２，ｑ２を付した軸が、この第２の場合における推定ｄｑ座標系のｄ軸、ｑ軸を示している（以降、この第２の場合における推定ｄｑ座標系を推定ｄ２ｑ２座標系という）。
【０１５７】
この状況で算出される位相差推定値ΘEは、図６（ｂ）において、位相差θeが−４０［°］である場合のΘEの値であるから、負の値となる。従って、このΘEの値から推察されるロータ角度は、実際値θから進角しているように見えることとなる。よって、推定ｄ２ｑ２座標系で認識されるロータ３の突極３ａの見かけ上の方向は、図７（ａ）中の参照符号Ａ２を付した角度域を通るような方向となる。
【０１５８】
そして、実際の電流磁極４の磁束方向は、上記第１の場合と第２の場合とのいずれの場合でもロータの実際の磁石磁極３ｂの磁束方向と直交する方向であるから、実際の突極３ａの方向（磁石磁極３ｂの磁束方向を直交する方向）を基準とした場合におけるロータ３の突極３ａの見かけ上の方向は、上記Ａ１の角度域とＡ２の角度域とが重なる角度域を通る方向となる。従って、該突極３ａの見かけ上の方向は、例えば、図７（ａ）に実線で示す突極３ａの長手方向となる。この例では、突極３ａの見かけ上の方向は、実際の突極３ａ（破線で示す突極３ａ）の方向から５０°以上、進角側に位相をずらした方向となる。
【０１５９】
さらに、例えば、前記指令電流進角値θIaを“０”に保持（Ｉq_cを“０”に保持）した状態での電機子２の通電によって発生する磁極（電流磁極４）の実際の磁束方向が、ロータの実際の磁石磁極３ｂの磁束方向に直交する方向から所定角度（ここでは、例えば４０°とする）だけ進角した方向である場合（以降、第３の場合という）と、前記指令電流進角値θIaを進角側の所定値（４０°）に保持した状態での電機子２に通電によって発生する磁極（電流磁極４）の実際の磁束方向が、ロータの実際の磁石磁極３ｂの磁束方向に直交する方向から上記所定角度だけ進角した方向である場合（以降、第４の場合という）とを想定する。
【０１６０】
上記第３の場合は、前記ロータ角度の推定値θ^から特定される推定ｄｑ座標系のｄ軸方向及びｑ軸方向が、それぞれ実際のｄｑ座標系（ｑ軸方向が実際の磁石磁極３ｂの磁束方向に一致するｄｑ座標系）のｄ軸方向及びｑ軸方向から４０°の角度だけ進角している状況である。図７（ｂ）で参照符号ｄ３，ｑ３を付した軸が、この第３の場合における推定ｄｑ座標系のｄ軸、ｑ軸を示している（以降、この第３の場合における推定ｄｑ座標系を推定ｄ３ｑ３座標系という）。なお、図７（ｂ）中に破線で示すロータ３の突極３ａの長手方向が、実際の突極３ａの向きを示している。
【０１６１】
この状況で算出される位相差推定値ΘEは、図６（ａ）において、位相差θeが４０°である場合のΘEの値であるから、正の値となる。従って、このΘEの値から推察されるロータ角度は、実際値θから遅角しているように見えることとなる。よって、推定ｄ３ｑ３座標系で認識されるロータ３の突極３ａの見かけ上の方向は、図７（ｂ）中の参照符号Ａ３を付した角度域を通るような方向となる。
【０１６２】
また、上記第４の場合は、前記ロータ角度の推定値θ^から特定される推定ｄｑ座標系のｄ軸方向及びｑ軸方向が、それぞれ実際のｄｑ座標系（ｑ軸方向が実際の磁石磁極の磁束方向に一致するｄｑ座標系）のｄ軸方向及びｑ軸方向に一致している状況である。図７（ｂ）で参照符号ｄ４，ｑ４を付した軸が、この第４の場合における推定ｄｑ座標系のｄ軸、ｑ軸を示している（以降、この第４の場合における推定ｄｑ座標系を推定ｄ４ｑ４座標系という）。
【０１６３】
この状況で算出される位相差推定値ΘEは、図６（ｂ）において、位相差θeが０°である場合のΘEの値であるから、負の値となる。なお、図６（ｂ）においては、ロータ角度の実際値θによっては、ΘEの値が正の値となる場合もあるが、ここでの説明では、便宜上、位相差θeが０°である場合のΘEの値が、平均的に負の値であると見なす。
【０１６４】
従って、このΘEの値から推察されるロータ角度は、実際値θから遅角しているように見えることとなる。よって、推定ｄ４ｑ４座標系で認識されるロータ３の突極３ａの見かけ上の方向は、図７（ｂ）中の参照符号Ａ４を付した角度域を通るような方向となる。
【０１６５】
そして、実際の電流磁極４の磁束方向は、上記第３の場合と第４の場合とのいずれの場合でもロータの実際の磁石磁極３ｂの磁束方向と直交する方向から４０°の角度だけ進角した方向であるから、実際の突極３ａの方向（磁石磁極３ｂの磁束方向を直交する方向）を基準とした場合におけるロータ３の突極３ａの見かけ上の方向は、上記Ａ３の角度域とＡ４の角度域とが重なる角度域を通る方向となる。従って、該突極３ａの見かけ上の方向は、例えば、図７（ｂ）に実線で示す突極３ａの長手方向となる。この例では、突極３ａの見かけ上の方向は、実際の突極３ａ（破線で示す突極３ａ）の方向から、概ね９０°程度、進角側に位相をずらした方向となる。
【０１６６】
このように、モータ１の磁気飽和が発生している状況では、その磁気飽和に起因して、推定ｄｑ座標系で見たロータ３の突極３ａの見かけ上の方向は、実際の突極３ａの方向からずれた方向となる。また、実際の電流磁極４の磁束方向が一定であっても、ｄｑ電流ベクトル指令値Ｉdq_cの位相に応じて、推定ｄｑ座標系で認識される突極３ａの見かけ上の方向が変化する。
【０１６７】
一方、実際の電流磁極４の磁束方向の位相（換言すれば、モータ１の電機子２に実際に流す電流に対応するｄｑ電流ベクトルの位相）が、実際の磁石磁極３ｂの磁束方向と直交する方向（実際のｄ軸方向）に対して、前記指令電流基本進角値θIabだけ進角している位相（以降、最適進角位相という）である場合に、電機子２の電流の大きさに対するモータ１の出力トルク（前記合成トルク）の大きさの比率が最大になる。
【０１６８】
これらのことを考慮すると、実際の電流磁極４の磁束方向の位相を、上記最適進角位相に一致させるようにしつつ、ロータ角度の推定（推定値θ^の算出）の収束演算を安定に行うためには、推定ｄｑ座標系で見た実際の電流磁極４の磁束方向の位相が次のような条件を満たす必要がある。
【０１６９】
すなわち、図８を参照して、今現在のロータ角度の推定値θ^から特定される推定ｄｑ座標系を、図中の参照符号ｄ^、ｑ^をそれぞれ付した軸をｄ軸方向、ｑ軸方向とする座標系であるとする。以降、この推定ｄｑ座標系のｄ軸方向をｄ^軸方向、ｑ軸方向をｑ^軸方向という。なお、この図８における破線で示すロータ３の突極３ａの長手方向が、実際の突極３ａの向きを示している。また、図中のｄ軸の方向、ｑ軸の方向は、それぞれロータ３の磁石磁極３ｂの実際の磁束方向、該磁束方向に直交する方向である。
【０１７０】
そして、図８に示す如く、推定ｄｑ座標系で見た、実際の電流磁極４の磁束方向（実際のｄｑ電流ベクトルＩdqの方向）が、推定ｄｑ座標系のｄ^軸方向から角度αだけ進角した方向であるとする。また、推定ｄｑ座標系で見た、ロータ３の突極３ａの見かけ上の方向（図８の実線示の突極３ａの長手方向）が、実際の電流磁極４の磁束方向から角度βだけ進角した方向であるとする。換言すれば、ｄ^軸方向に対する実際の電流磁極４の磁束方向の角度がα、実際の電流磁極４の磁束方向に対する突極３ａの見かけ上の方向の角度がβであるとする。なお、角度α、βは、進角方向の角度を正の角度とする。
【０１７１】
このように定義した角度α、βに関して、角度βは、角度αに応じて変化する。そして、ロータ角度の推定（推定値θ^の算出）の収束演算を安定に行うためには、α＋βの絶対値｜α＋β｜が、｜α＋β｜＜９０°という条件を満たす必要がある。
【０１７２】
また、実際の電流磁極４の磁束方向の位相を上記最適進角位相に一致させるためには、角度αと位相差θeとの和の角度（α＋θe）が前記指令電流基本進角値θIabに一致する必要がある。
【０１７３】
この場合、本実施形態では、ｄｑ電流ベクトルＩdqの検出値(Ｉd_s，Ｉq_s)ｔが、前記ｄｑ電流ベクトル指令値Ｉdq_cに一致するように電機子２の通電電流がフィードバック制御される。そして、この一致状態では、角度αは、Ｉdq_cの位相を規定する前記指令電流進角値θIaに一致する。但し、ｄｑ電流ベクトル指令値Ｉdq_cが変化する過渡期においては、角度αは、前記指令電流進角値θIaに対して進角側又は遅角側に、ある範囲内で変動する。
【０１７４】
従って、実際の電流磁極４の磁束方向の位相を、上記最適進角位相に一致させるようにしつつ、ロータ角度の推定（推定値θ^の算出）の収束演算を安定に行うためには、上記角度αが、前記指令電流進角値θIaに一致する状態はもちろん、該角度αが、指令電流進角値θIaから進角側及び遅角側にある範囲内（例えば±３０°の範囲内）でずれた状態でも、｜α＋β｜＜９０°となるように、指令電流進角値θIaを設定しておく必要がある。
【０１７５】
本実施形態では、このような条件を考慮して、前記指令電流進角値θIaが決定されている。そして、この指令電流進角値θIaを前記指令電流基本進角値θIabから差し引いた角度が、前記電流遅角補正量ΔθIとして設定されている。
【０１７６】
具体的には、指令電流進角値θIaは、あらかじめ定めた複数のトルク指令値Ｔr_cのそれぞれ毎に、次のようにしてあらかじめ決定されている。
【０１７７】
すなわち、トルク指令値Ｔr_cを複数の値のうちの１つに設定した状態（Ｔr_cを一定とした状態）で、前記ｄｑ電流ベクトル指令値Ｉdq_cの指令電流進角値θIaを、あらかじめ定めた複数の候補値のそれぞれに保持する。そして、このように、Ｔr_c及びθIaを一定に保持した状態で、位相差θeを段階的に変化させつつ、各位相差θeの値に対応する前記位相差推定値ΘE（＝Ｖsdq／Ｌ0）を計測する。これにより、θeに対するΘEの変化の波形の計測データを得る。なお、この場合、指令電流進角値θIaを各候補値に保持するということは、電機子２の実際の通電電流に対応するｄｑ電流ベクトルＩdqの位相（実際の電流磁極４の磁束方向）を、推定ｄｑ座標系のｄ軸方向から角度θIaだけ進角側に変化させた位相に保持するということを意味する。
【０１７８】
その計測データの例を図９（ａ）〜（ｆ）に示す。図９（ａ）〜（ｆ）は、それぞれ、指令電流進角値θIaを、それぞれ、例えば、４０°、３０°、２０°、１０°、０°、−１０°の各候補値に保持した状態でのΘEの波形の計測データである。この場合、図９（ａ）〜（ｆ）のいずれにおいても、トルク指令値Ｔr_cは、互いに同一の一定値に保持されている。なお、図９（ａ）〜（ｆ）のそれぞれには、ΘEの複数（６種類）の波形のグラフが図示されているが、それぞれの波形は、６（ａ），（ｂ）の場合と同様に、実際のロータ角度を互いに異なる角度値（６種類の角度値）に保持した状態での波形を示している。
【０１７９】
次いで、図９（ａ）〜（ｆ）のそれぞれにおいて、トルク指令値Ｔr_cに対応する前記指令電流基本進角値θIab（図９の例ではθIab＝４０°）から、指令電流進角値θIaの候補値を差し引いた角度（＝θIab−θIa）を、位相差θeの前記収束目標値θe0として算出する。この場合、θIab＝４０°であるから、図９（ａ）〜（ｆ）のそれぞれにおける収束目標値θe0は、それぞれ、０°、１０°、２０°、３０°、４０°、５０°となる。
【０１８０】
そして、図９（ａ）〜（ｆ）のそれぞれにおいて、θe＝θe0である場合の位相差推定値ΘEの値を、前記式（１５）のオブザーバの演算におけるオフセット値δofsの候補値として算出する。すなわち、ΘE−δofsを“０”に収束させるようにロータ角度の推定値θ^を更新するようにした場合に、θeが、収束目標値θe0に収束するように、オフセット値δofsの候補値を決定する。
【０１８１】
なお、図９（ａ）〜（ｆ）のそれぞれにおいて、θe＝θe0である場合の位相差推定値ΘEの値は、厳密には、ロータ角度の実際値θの各値毎（各波形毎）に若干の差異を生じる。この場合、例えば、ロータ角度の実際値θの各値毎のΘEの値の平均値をオフセット値δofsの候補値として求めるようにすればよい。
【０１８２】
次いで、図９（ａ）〜（ｆ）のそれぞれにおいて、位相差θeが収束目標値θe0から進角方向（θeの正方向）に変化した場合に、ΘE−δofsが連続的に同一極性（図９の例では負極性）に保たれるような位相差θeの角度範囲（以降、収束可能進角側角度範囲という）と、位相差θeが収束目標値θe0から遅角方向（θeの負方向）に変化した場合に、ΘE−δofsが連続的に同一極性（図９の例では正極性）に保たれるような位相差θeの角度範囲（以降、収束可能遅角側角度範囲という）とを算出する。
【０１８３】
なお、図９（ａ）〜（ｆ）のそれぞれにおいて、収束可能進角側角度範囲と、収束可能遅角側角度範囲とは、ロータ角度の実際値θの各値毎（各波形毎）に若干の差異を生じる。この場合、例えば、ロータ角度の実際値θの各値毎の収束可能進角側角度範囲の平均の範囲と、収束可能遅角側角度範囲の平均の範囲とをそれぞれの角度範囲として求めるようにすればよい。また、図９（ａ）〜（ｄ）のように、収束可能進角側角度範囲の上限側の位相差θeの値が９０°を超えるような場合には、その上限側の位相差θeの値が９０°であるとして、収束可能進角側角度範囲を求められる。同様に、図９（ｆ）のように、収束可能遅角側角度範囲の下限値の位相差θeの値が−９０°を下回るような場合には、その下限側の位相差θeの値が−９０°であるとして、収束可能遅角側角度範囲を求められる。
【０１８４】
この場合、例えば図９（ｃ）の例では、収束可能進角側角度範囲は、概ね２０°から９０°までの７０°の角度範囲、収束可能遅角側角度範囲は、概ね２０°から−４０°までの６０°の角度範囲となる。また、例えば、図９（ｂ）の例では、収束可能進角側角度範囲は、概ね１００°から９０°までの８０°の角度範囲、収束可能遅角側角度範囲は、概ね１０°から−３０°までの４０°の角度範囲となる。
【０１８５】
そして、図９（ａ）〜（ｆ）のそれぞれにおける上記収束可能進角側角度範囲及び収束可能遅角側角度範囲のうちの狭い側の角度範囲を相互に比較し、当該狭い側の角度範囲が最も広くなるようなΘEの波形が得られた指令電流進角値θIaの候補値を選定する。そして、この選定した候補値を、図９（ａ）〜（ｆ）の波形を得るために設定したトルク指令値Ｔr_cに対応して、実際に前記電流指令値決定部２２により設定すべきｄｑ電流ベクトル指令値Ｉdq_cの指令電流進角値θIaの値として決定する。また、そのθIaに対応する波形における前記オフセット値δofsが、当該トルク指令値Ｔr_cに対応して前記式（１５）のオブザーバの演算に実際に用いるオフセット値δofsとして決定される。
【０１８６】
この場合、図９の例では、図９（ｄ）の波形における収束可能進角側角度範囲及び収束可能遅角側角度範囲のうちの狭い側の角度範囲が、他の波形（図９（ａ）〜（ｃ）及び図９（ｅ），（ｆ）の波形）に比べて最も広い角度範囲となる。従って、実際に前記電流指令値決定部２２により設定すべきｄｑ電流ベクトル指令値Ｉdq_cの指令電流進角値θIaの値は、図９（ｄ）に対応するθIaの候補値である１０°に決定されることとなる。また、オフセット値δofsは、図９（ｄ）に対応するδofsの候補値である０．０５に決定されることとなる。
【０１８７】
補足すると、上記収束可能進角側角度範囲、収束可能遅角側角度範囲は、それぞれ、本発明における第１位相差範囲、第２位相差範囲に相当するものである。
【０１８８】
以上の作業を、トルク指令値Ｔr_cを他の値に変更して、繰り返すことにより、複数のトルク指令値Ｔr_cのそれぞれに対応する指令電流進角値θIaとオフセット値δofsとの組が決定される。そして、このようにして各トルク指令値Ｔr_c毎に決定した指令電流進角値θIaを、各トルク指令値Ｔr_cに対応する指令電流基本進角値θIabから減算することにより、前記電流遅角補正量ΔθIが算出される。これにより、トルク指令値Ｔr_cと電流遅角補正量ΔθIとの間の関係を規定するデータテーブルが作成されることとなる。そして、このようにトルク指令値Ｔr_cと電流遅角補正量ΔθIとの関係を規定するデータテーブルを決定することによって、それにより規定されるトルク指令値Ｔr_cと、指令電流進角値θIaとの間の関係が、図３の実線のグラフで示すような関係に設定されることとなる。また、各トルク指令値Ｔr_cのに対応するオフセット値δofsが決定されることで、トルク指令値Ｔr_cと、オフセット値δofsとの間の関係を規定するデータテーブルも作成されることとなる。
【０１８９】
以上のように、複数のトルク指令値Ｔr_cのそれぞれに対応する、電流遅角補正量ΔθI（又は指令電流進角値θIa）と、オフセット値δofsとの組を決定しておくことによって、結果的に、前記した｜α＋β｜＜９０°という条件が満たされることとなる。
【０１９０】
この場合、前記式（１５）のオブザーバにより算出されるロータ角度の推定値θ^は、実際値θとの位相差θeが、前記収束目標値θe0となる値に収束することとなる。そして、この場合、θe0は、トルク指令値Ｔr_cに対応する前記指令電流基本進角値θIabから、指令電流進角値θIaを差し引いた値であるから、当該収束状態における位相差θe（＝θe0）に指令電流進角値θIaを加えた角度が、前記最適進角位相に対応する指令電流基本進角値θIabとなる。
【０１９１】
従って、ロータ角度の推定値θ^は、実際値θとの位相差θeが、前記収束目標値θe0となる値に収束した状況で、ｄｑ電流ベクトルＩdqの検出値(Ｉd_s，Ｉq_s)ｔが、前記ｄｑ電流ベクトル指令値Ｉdq_cに一致するように制御された状態では（この状態は、図８における角度αと、θeとの和の角度がθIabに一致する状態である）、実際の電流磁極４の磁束方向の位相が、前記最適進角位相に一致することとなる。ひいては、トルク指令値Ｔr_cの出力トルクを、モータ１に効率よく（電機子２に流れる電流の大きさができるだけ小さくて済むように）、発生させることができる。
【０１９２】
また、位相差θeが、前記収束可能進角側角度範囲と収束可能遅角側角度範囲とを合わせたトータルの角度範囲内に存する状態において、前記式（１５）のオフザーバの演算処理により、ロータ角度の推定値θ^を、実際値θとの位相差θeが収束目標値θe0に一致するような値に安定に収束させることができる。この場合、前記収束可能進角側角度範囲と収束可能遅角側角度範囲とのうちの狭い方の角度範囲が、最も広くなるように、指令電流進角値θIaを決定しているので、ｄｑ電流ベクトルＩdqの検出値(Ｉd_s，Ｉq_s)ｔの位相が、前記ｄｑ電流ベクトル指令値Ｉdq_cの位相に対してずれるような過渡期においても、ロータ角度の推定値θ^を、実際値θとの位相差θeが収束目標値θe0に一致するような値に安定に収束させることができる。
【０１９３】
本実施形態の効果について検証したシミュレーション結果を図１０（ａ），（ｂ）に示す。また、これと比較するために、従来のロータ角度の推定手法を使用した場合のシミューレーション結果を図１１（ａ），（ｂ）に示す。
【０１９４】
図１０（ａ）は、本実施形態により算出されたロータ角度の推定値θ^の変化と、該ロータ角度の実際値θの変化とをそれぞれ実線、破線で示すグラフである。この場合、指令電流進角値θIaを図９（ｄ）に対応するθIaの値（１０°）に設定した。さらに、オフセット値δofsを、図９（ｄ）に対応するδofsの値（０．０５）に設定した。なお、モータ１の電機子２に流す電流の大きさは、モータ１の出力トルクがあらかじめ定めた所定値となるように設定された大きさを有する電流である。また、ロータ角度の実際値θの変化速度、すなわち、ロータの電気角速度は、一定値である。
【０１９５】
図示の如く、ロータ角度の推定値θ^は、実際値θに対して、誤差（前記収束目標値θe0に一致する誤差）を有する状態で該実際値θに追従するように変化している。
【０１９６】
なお、図１０（ｂ）は、モータ１の実際の出力トルクの変化を示すグラフである。図示の如く、該出力トルクはほぼ一定に保たれる。
【０１９７】
一方、図１１（ａ）は、従来のロータ角度の推定手法を使用して算出されたロータ角度の推定値θ^の時間的な変化と、該ロータ角度の実際値θの時間的変化とをそれぞれ実線、破線で示すグラフである。この場合、指令電流進角値θIaを図９（ａ）〜（ｆ）に対応する指令電流基本進角値θIabの値（４０°）に設定した。さらに、オフセット値δofsを、−０．２５に設定した。なお、モータ１の電機子２に流す電流の大きさと、ロータの電気角速度とは、図１０（ａ），（ｂ）のシミュレーションの場合と同じである。
【０１９８】
図１１（ａ）に示す如く、従来のロータ角度の推定手法によるロータ角度の推定値θ^は、実際値θに対して図１０（ａ）に示したものよりも誤差が小さくなる。しかるに、モータ１の実際の出力トルクは、図１１（ｂ）のグラフで示す如く変化する。この図１１（ｂ）のグラフを図１０（ｂ）のグラフと比較して判るように、従来の手法でロータ角度を推定した場合よりも、本実施形態の手法でロータ角度を推定した場合の方が、出力トルクの平均値を高めることができることが判る。
【０１９９】
このことから、本実施形態によれば、ロータ角度の推定を行いつつ、リラクタンストルクを効率よく利用して、モータ１の出力トルクを高めることができることがわかる。
【０２００】
なお、以上説明した実施形態では、正弦参照値Ｖsdqをインダクタンス参照値Ｌ0により除算してなる値を位相差推定値ΘEとして求めるようにした。但し、例えば、正弦参照値Ｖsdqをそのまま位相差推定値として設定するようにしてもよい。あるいは、正弦参照値Ｖsdqと余弦参照値Ｖcdqとを算出し、Ｖsdqを、Ｖsdqの値の２乗値とＶcdqの値の２乗値との和の平方根（＝√(Ｖsdq2＋Ｖcdq2)）により除算してなる値（＝Ｖsdq／√(Ｖsdq2＋Ｖcdq2)）を位相差推定値として設定するようにしてもよい。あるいは、Ｖsdq／Ｌ0、Ｖsdq、Ｖsdq／√(Ｖsdq2＋Ｖcdq2)のいずれかに所定値（≠０）の定数を乗じた値を位相差推定値として設定してもよい。
【０２０１】
また、前記実施形態におけるベクトル制御では、ロータの界磁極の磁束方向をｑ軸方向としたが、該磁束方向をｄ軸方向と定義してベクトル制御の演算処理を実行するようにしてもよい。
【符号の説明】
【０２０２】
１…ＤＣブラシレスモータ、２ｕ，２ｖ，２ｗ…電機子、１０…制御装置、１２ｕ，１２ｖ…電流センサ（電流検出手段）、２１…３相−ｄｑ変換部（ｄｑ基本電圧決定手段）、２３…ｄ軸電流偏差算出手段（ｄｑ基本電圧決定手段）、２４…ｑ軸電流偏差算出手段（ｄｑ基本電圧決定手段）、２５…電流ＦＢ制御部（ｄｑ基本電圧決定手段）、２７…周期信号発生部（高周波重畳手段）、２８…ｄ軸側重畳部（高周波重畳手段）、２９…ｑ軸側重畳部（高周波重畳手段）。２７…ロータ角度推定部（ロータ角度推定手段）、ＳＴＥＰ２，３，５，６…基本参照値算出手段、ＳＴＥＰ７…位相差推定値算出手段。
【図１】
2010259255.tif 000012
【図２】
2010259255.tif 000013
【図３】
2010259255.tif 000014
【図４】
2010259255.tif 000015
【図５】
2010259255.tif 000016
【図７】
2010259255.tif 000017
【図８】
2010259255.tif 000018
【図１０】
2010259255.tif 000019
【図１１】
2010259255.tif 000020
【図６】
2010259255.tif 000021
【図９】
2010259255.tif 000022