(57)【要約】【課題】磁気飽和の発生状態によらずに、ロータ角度の推定を安定且つ精度よく行う上で好適な波形に保たれる位相差推定値を生成する。【解決手段】電機子の駆動電圧に高周波周期信号を重畳した状態での電流の変化の観測値に基づいて、ロータ角度の推定値と実際値との位相差θeの２倍角に応じて変化する値となり、且つその変化の波形がモータの磁気飽和の発生状態に依存して変化する位相差基本参照値ΘEbと、モータの平均インダクタンスに依存するインダクタンス参照値L0とを算出する（ＳＴＥＰ６）。位相差基本参照値ΘEbとインダクタンス参照値L0とを線形結合することによって位相差推定値ΘEを算出し（ＳＴＥＰ７）、この位相差推定値ΘEに応じてロータ角度の推定値を更新する（ＳＴＥＰ１２）。【選択図】図５
2010273415.tif 000002
【特許請求の範囲】
【請求項１】
ＤＣブラシレスモータの電機子に流れる相電流を検出する電流検出手段と、該モータのロータ角度を推定するロータ角度推定手段と、前記電流検出手段による相電流の検出値と前記ロータ角度推定手段によるロータ角度の推定値とを用いて所定のフィードバック演算処理を実行することによって、前記相電流の検出値を目標とする電流に収束させるために前記電機子に印加すべき駆動電圧を規定するｄ軸電圧の基本値とｑ軸電圧の基本値とを決定するｄｑ基本電圧決定手段とを備え、少なくとも前記ｄ軸電圧の基本値及びｑ軸電圧の基本値より規定される駆動電圧を前記電機子に印加して該電機子の通電制御を行うＤＣブラシレスモータの制御装置において、
前記ｄ軸電圧の基本値及びｑ軸電圧の基本値より規定される駆動電圧に高周波の周期信号を重畳してなる高周波重畳駆動電圧を前記電機子に印加させる高周波重畳手段と、
前記高周波重畳駆動電圧の印加状態で、前記電機子の相電流の変化に対応するｄ軸電流及びｑ軸電流の変化を前記相電流の検出値とロータ角度の推定値とに基づき観測し、該ｄ軸電流及びｑ軸電流の変化の観測値に基づいて、前記ロータ角度の推定値と該ロータ角度の実際値との位相差の２倍角に応じて変化する値となり、且つ、該２倍角に対する変化の波形がモータの磁気飽和の発生状態に依存して変化する位相差基本参照値を算出すると共に、モータの平均インダクタンスに依存する値としてのインダクタンス参照値を算出する基本参照値算出手段と、
少なくとも前記位相差基本参照値とインダクタンス参照値とを線形結合することによって、前記位相差に対する変化の波形が前記モータの磁気飽和の発生状態に依存して変化するのを前記位相差基本参照値よりも抑制してなる位相差推定値を算出する位相差推定値算出手段とを備え、
前記ロータ角度推定手段は、前記位相差推定値に応じて前記ロータ角度の推定値を更新することを特徴とするＤＣブラシレスモータの制御装置。
【請求項２】
請求項１記載のＤＣブラシレスモータの制御装置において、
前記位相差推定値算出手段は、前記線形結合における前記位相差基本参照値に掛かる重み係数と、前記インダクタンス参照値に掛かる重み係数とのうちの少なくともいずれか一方の重み係数として、前記モータの出力トルクに依存して値が変化するように設定した重み係数を用いることを特徴とするＤＣブラシレスモータの制御装置。
【請求項３】
請求項１又は２記載のＤＣブラシレスモータの制御装置において、
前記位相差推定値算出手段は、前記位相差基本参照値とインダクタンス参照値とを線形結合してなる値に、前記モータの出力トルクに依存して値が変化するように設定した補正項を加算することによって、前記位相差推定値を算出することを特徴とするＤＣブラシレスモータの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＤＣブラシレスモータの制御装置に関する。
【背景技術】
【０００２】
突極性のロータを備えたＤＣブラシレスモータの運転制御を行う場合に、レゾルバ等の磁極位置検出用センサを使用せずに（所謂センサレスで）、ロータの磁極の回転角度位置（電気角での回転角度位置）を示すロータ角度を推定する技術が本願出願人により提案されている（例えば特許文献１を参照）。
【０００３】
この技術は、モータの電機子に印加する駆動電圧に所定のパターンの高周波の周期信号を重畳した状態で、所定期間ずつ、電機子の電流変化を観測し、その観測値から、ロータ角度の推定値と実際値との位相差θeの２倍角２θeの正弦関数値ｓｉｎ（２θe）に応じた値としての正弦参照値や、モータの平均インダクタンスに応じた値としてのインダクタンス参照値を算出する。そして、正弦参照値をインダクタンス参照値で正規化してなる値を、ロータ角度の推定値と実際値（真値）との位相差に応じて変化する位相差推定値として求め、この位相差推定値に応じて、ロータ角度の推定値を逐次更新する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１４３２７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、特許文献１におけるロータ角度の推定技術においては、ロータ角度の推定値を実際値に安定に収束させるために（上記位相差θeを“０”に収束させるために）、上記位相差θeの２倍角２θeに対する位相差推定値の波形が、常に、ほぼ一定の波形となると共に、位相差θeの値が正の値であるときの位相差推定値の波形と、位相差θeの値が負の値であるときの位相差推定値の波形とが互いに逆極性で対称的な波形になることが理想的である。例えば、前記位相差推定値の波形が、常にほぼ一定の正弦波形になることが好ましい。
【０００６】
しかるに、モータに“０”でない出力トルクを発生させるように該モータの電機子に電流を通電させた状態（該電流の大きさが比較的大きなものとなる状態）では、一般にモータの磁気飽和が発生しやすい。そして、該磁気飽和が発生すると、位相差θeに対する位相差推定値の波形が正弦波状の波形から崩れた波形となる。ひいては、位相差推定値の波形の振幅が正側と負側とでアンバランスとなると共に、位相差推定値が正の値となる位相差θeの範囲と位相差推定値が負の値となる位相差θeの範囲とのうちのいずれかの範囲が狭くなり過ぎる場合がある。
【０００７】
そして、このような場合には、位相差推定値が正の値又は負の値となる状況で、位相差θeを“０”に安定に収束させるように、ロータ角度の推定値を更新し得る位相差θeの範囲（以下、安定収束範囲ということがある）が狭いものとなる。従って、ロータ角度の推定値が実際値に対して発散してしまう恐れがある。
【０００８】
ここで、特許文献１に見られる技術では、位相差推定値に適切なオフセット値を加えるようにしている。このようにすることで、上記安定収束範囲が狭くなり過ぎるのを防止することは可能である。但し、このようにした場合には、ロータ角度の推定値の収束値が、実際値からずれることとなり、ロータ角度の推定値の誤差が増大する。このため、該ロータ角度の推定値を使用して、モータの出力トルクを制御した場合に、実際の出力トルクが目標とするトルクよりも低くなってしまうという不都合が発生しやすい。
【０００９】
本発明はかかる背景に鑑みてなされたものであり、磁気飽和の発生状態によらずに、ロータ角度の推定を安定且つ精度よく行う上で好適な波形に保たれる位相差推定値を生成することができ、ひいては、磁気飽和の発生状態によらずに、ロータ角度の推定を安定且つ精度よく行うことができるＤＣブラシレスモータの制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明のＤＣブラシレスモータの制御装置は、かかる目的を達成するために、ＤＣブラシレスモータの電機子に流れる相電流を検出する電流検出手段と、該モータのロータ角度を推定するロータ角度推定手段と、前記電流検出手段による相電流の検出値と前記ロータ角度推定手段によるロータ角度の推定値とを用いて所定のフィードバック演算処理を実行することによって、前記相電流の検出値を目標とする電流に収束させるために前記電機子に印加すべき駆動電圧を規定するｄ軸電圧の基本値とｑ軸電圧の基本値とを決定するｄｑ基本電圧決定手段とを備え、少なくとも前記ｄ軸電圧の基本値及びｑ軸電圧の基本値より規定される駆動電圧を前記電機子に印加して該電機子の通電制御を行うＤＣブラシレスモータの制御装置において、前記ｄ軸電圧の基本値及びｑ軸電圧の基本値より規定される駆動電圧に高周波の周期信号を重畳してなる高周波重畳駆動電圧を前記電機子に印加させる高周波重畳手段と、前記高周波重畳駆動電圧の印加状態で、前記電機子の相電流の変化に対応するｄ軸電流及びｑ軸電流の変化を前記相電流の検出値とロータ角度の推定値とに基づき観測し、該ｄ軸電流及びｑ軸電流の変化の観測値に基づいて、前記ロータ角度の推定値と該ロータ角度の実際値との位相差の２倍角に応じて変化する値となり、且つ、該２倍角に対する変化の波形がモータの磁気飽和の発生状態に依存して変化する位相差基本参照値を算出すると共に、モータの平均インダクタンスに依存する値としてのインダクタンス参照値を算出する基本参照値算出手段と、少なくとも前記位相差基本参照値とインダクタンス参照値とを線形結合することによって、前記位相差に対する変化の波形が前記モータの磁気飽和の発生状態に依存して変化するのを前記位相差基本参照値よりも抑制してなる位相差推定値を算出する位相差推定値算出手段とを備え、前記ロータ角度推定手段は、前記位相差推定値に応じて前記ロータ角度の推定値を更新することを特徴とする。
【００１１】
なお、本発明において、ｄ軸電流とｑ軸電流とは、ＤＣブラシレスモータのロータの界磁極の磁束方向とこれに直交する方向との一方をｄ軸方向、他方をｑ軸方向とするｄｑ座標系においてモータの電機子に流れる電流を表現した場合におけるｄ軸電機子（ｄ軸上の電機子）とｑ軸電機子（ｑ軸上の電機子）とにそれぞれ流れる電流を意味する。
【００１２】
ここで、前記ｄ軸電流及びｑ軸電流の変化の観測値に基づいて算出した前記位相差基本参照値と前記インダクタンス参照値とを、それぞれに掛かる適当な重み係数を使用して線形結合すると、前記位相差に対する該線形結合値の変化の波形を、モータの磁気飽和の発生状態が変化しても、概ね一定形状の波形に保つようにすることが可能である。すなわち、上記線形結合によって、位相差に応じて変化する一方、モータの磁気飽和の発生状態に対する依存性が抑制された参照値を求めることができる。
【００１３】
そこで、第１発明では、少なくとも前記位相差基本参照値とインダクタンス参照値とを線形結合することによって、前記位相差に対する変化の波形が前記モータの磁気飽和の発生状態に依存して変化するのを前記位相差基本参照値よりも抑制してなる位相差推定値を算出する位相差推定値算出手段とを備えるようにした。
【００１４】
これにより、磁気飽和の影響を受け難い位相差推定値を算出することが可能となる。そして、前記ロータ角度推定手段は、この位相差推定値に応じて前記ロータ角度の推定値を更新する。
【００１５】
従って、第１発明によれば、モータの磁気飽和の発生状態によらずに、ロータ角度の推定を安定且つ精度よく行う上で好適な波形に保たれる位相差推定値を生成することができ、ひいては、磁気飽和の発生状態によらずに、ロータ角度の推定を安定且つ精度よく行うことができる。
【００１６】
かかる第１発明では、前記位相差推定値算出手段は、前記線形結合における前記位相差基本参照値に掛かる重み係数と、前記インダクタンス参照値に掛かる重み係数とのうちの少なくともいずれか一方の重み係数として、前記モータの出力トルクに依存して値が変化するように設定した重み係数を用いることが好適である（第２発明）。
【００１７】
すなわち、モータの出力トルクが大きいほど、モータの電機子に流す相電流の大きさが大きくなるので、モータの磁気飽和の発生が生じやすい。従って、モータの磁気飽和の発生状態は、モータの出力トルクに対する依存性がある。そこで、第２発明では、前記重み係数をモータの出力トルクに依存して変化させるように設定するようにした。
【００１８】
これにより、モータの磁気飽和の発生状態に応じた前記位相差推定値の波形（位相差に対する変化の波形）の変化を抑制する上で最適な重み係数を用いて前記線形結合を行うことが可能となる。ひいては、位相差に対する変化の波形が、モータの磁気飽和の発生状態によらずにほぼ一定形状に保たれるような位相差推定値を生成することが可能となる。
【００１９】
また、前記第１及び第２発明では、前記位相差推定値算出手段は、前記位相差基本参照値とインダクタンス参照値とを線形結合してなる値に、前記モータの出力トルクに依存して値が変化するように設定した補正項を加えることによって、前記位相差推定値を算出することが好ましい（第３発明）。
【００２０】
すなわち、前記位相差基本参照値とインダクタンス参照値とを線形結合してなる値の、位相差に対する変化の波形は、その形状がモータの磁気飽和の発生状態に応じて変化するのが抑制されるようになっても、該波形の全体が、モータの磁気飽和の発生状態に応じてオフセットを生じる場合がある。そこで、第３発明では、前記位相差基本参照値とインダクタンス参照値とを線形結合してなる値に、前記モータの出力トルクに依存して値が変化するように設定した補正項を加えることによって、前記位相差推定値を算出するようにした。
【００２１】
これにより、位相差に対する位相差推定値の変化の波形の形状が磁気飽和の発生状態に応じて変化することと、その波形の全体のオフセットが磁気飽和の発生状態に応じて生じることが抑制された位相差推定値を算出することが可能となる。
【００２２】
その結果、モータの磁気飽和の発生状態によらずに、ロータ角度の推定をより一層精度よく、安定に行うことが可能となる。ひいては、モータの電機子に流す相電流を、目標とする出力トルクをモータに発生させる上で適切な電流に制御することを、モータの磁気飽和の発生状態の影響を受けることがなく行うことが可能となる。
【００２３】
なお、本発明では、例えば次のような構成によって前記位相差基本参照値及びインダクタンス参照値を算出することが好適である。
【００２４】
すなわち、前記ｄ軸電圧の基本値及びｑ軸電圧の基本値より規定される駆動電圧（以下、基本駆動電圧ということがある）に前記高周波重畳手段により重畳する前記高周波の周期信号を、ｎ個（ｎ：２以上の整数）の連続した制御サイクルを含む所定期間における該周期信号の電圧値の総和が“０”となるパターンにあらかじめ設定しておく。
【００２５】
そして、前記ｄｑ基本電圧決定手段は、前記所定期間において前記基本駆動電圧を一定に保つようにｄ軸電圧の基本値とｑ軸電圧の基本値とを決定する。さらに、前記参照値算出手段は、前記所定期間内の各制御サイクルと次の制御サイクルとの間の期間における前記ｄ軸電流の一階差分と前記ｑ軸電流の一階差分とを前記相電流の検出値とロータ角度の推定値とに基づき観測し、その観測値を用いて所定の演算処理により前記位相差基本参照値とインダクタンス参照値とを算出する。
【００２６】
この場合、前記ｄ軸電流の一階差分の観測値と前記ｑ軸電流の一階差分の観測値とから例えば、以下に示す式（１）の右辺の演算によって算出される左辺のＬ0の値を、前記インダクタンス参照値として使用することができる。
【００２７】
また、例えば、式（１）の右辺の演算によって算出されるＶsdqの値（式（１）の左辺の縦ベクトルの第１成分の値）を、前記位相差基本参照値として使用することができる。あるいは、式（１）の右辺の演算によって左辺のＶsdqの値とL0の値とを算出し、算出したＶsdqの値をＬ0の値により除算（正規化）してなる値Ｖsdq／Ｌ0を前記位相差基本参照値として設定するようにしてもよい。あるいは、式（１）の右辺の演算によって左辺のＶsdqの値とＶcdqの値とを算出し、算出したＶsdqの値を、このＶsdqの値の２乗値とＶcdqの値の２乗値との和の平方根（＝√(Ｖsdq2＋Ｖcdq2)）により除算してなる値（＝Ｖsdq／√(Ｖsdq2＋Ｖcdq2)）を前記位相差基本参照値として設定するようにしてもよい。
【００２８】
【数１】
2010273415.tif 000003
【００２９】
なお、式（１）におけるＣdqは、次式（２），（３）により定義される行列、ｄＩdq(i+j)（ｊ＝１，２，…，ｎ）は、次式（４）により定義される縦ベクトルである。この場合、式（３）におけるＶhd(i+j)（ｊ＝１，２，…，ｎ）は、前記所定期間内のｊ番目の制御サイクルで前記周期信号がｄ軸電機子に印加するｄ軸電圧（前記周期信号の電圧をｄｑ座標系で表現した場合におけるｄ軸電圧成分）、Ｖhq(i+j)（ｊ＝１，２，…，ｎ）は、前記所定期間内のｊ番目の制御サイクルで前記周期信号がｑ軸電機子に印加するｑ軸電圧（前記周期信号の電圧をｄｑ座標系で表現した場合におけるｑ軸電圧成分）である。また、式（４）におけるｄＩd(i+j)（ｊ＝１，２，…、ｎ）は、前記所定期間内のｊ番目の制御サイクルと次の制御サイクルとの間の期間におけるｄ軸電流の一階差分の観測値、ｄＩq(i+j)（ｊ＝１，２，…、ｎ）は、前記所定期間内のｊ番目の制御サイクルと次の制御サイクルとの間の期間におけるｑ軸電流の一階差分の観測値である。
【００３０】
【数２】
2010273415.tif 000004
【００３１】
また、ｄ軸電流の一階差分ｄＩd(i+j)は、ｉ＋ｊ番目の制御サイクルでのｄ軸電流Ｉd(i+j)をその次の制御サイクルでのｄ軸電流Ｉd(i+j+1)から減算した値（＝Ｉd(i+j+1)−Ｉd(i+j)）を１制御サイクルの期間の時間ΔＴで除算してなる値として算出される。ｑ軸電流の一階差分ｄＩq(i+j)についても同様である。
【００３２】
また、式（１）〜（４）において、ｉは、前記周期信号の所定期間が開始する制御サイクルの１つ前の制御サイクルの番数を意味している。
【００３３】
補足すると、位相差基本参照値としては、上記に例示したＶsdq、Ｖsdq／Ｌ0、Ｖsdq／√(Ｖsdq2＋Ｖcdq2)の他、例えば、それぞれの値に所定値（≠０）の比例定数を乗じた値を改めて位相差基本参照値として用いてもよい。インダクタンス参照値についても同様である。
【００３４】
ここで、詳細は後述するが、前記式（１）の右辺の演算によって算出されるＬ0は、モータのｄ軸電機子の平均インダクタンスをＬd、ｑ軸電機子の平均インダクタンスをＬqとおいたとき、これらのＬd，Ｌqに対して後述する式（７）に示す関係（Ｌ0＝（（１／Ｌ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に対する変化の波形が一定の波形に保たれるような位相差推定値を算出することができる。
【図面の簡単な説明】
【００３９】
【図１】本発明の第１実施形態における制御装置の全体構成を示すブロック図。
【図２】図２（ａ），（ｂ）は第１実施形態において電機子の駆動電圧に重畳する周期信号のｄｑ座標系での電圧ベクトルの例を示す図。
【図３】図３（ａ），（ｂ）は、第１実施形態における位相差基本参照値ΘＥｂの波形を例示するグラフ。
【図４】第１実施形態におけるインダクタンス参照値Ｌ0の波形を例示するグラフ。
【図５】図１に示す第１実施形態における制御装置の要部の処理を示すフローチャート。
【図６】図６（ａ）〜（ｃ）は、第１実施形態で位相差推定値Θ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とが入力される。
【００４８】
この演算処理部１１は、その機能を概略的に説明すると、各相の電機子２の相電流を目標とする電流にフィードバック制御する機能を有する。この場合、本実施形態では、演算処理部１１は、上記フィードバック制御の演算処理を行うために、例えばモータ１のロータの界磁極（永久磁石による界磁極）の磁束方向をｑ軸方向、このｑ軸方向と直交する方向をｄ軸方向とする回転座標系（ロータの電気角速度で回転する座標系）であるｄｑ座標系を用いる。そして、演算処理部１１は、モータ１を、ｑ軸上の電機子（ｑ軸電機子）と、ｄ軸上の電機子（ｄ軸電機子）とを備える等価回路に変換して取り扱う。すなわち、演算処理部１１は、モータ１の電機子２全体の電流及び電圧をｄｑ座標系上でのベクトル量（ｄ軸方向成分とｑ軸方向成分とからなるベクトル量）として表現する、所謂ｄｑベクトル制御の演算処理によって、モータ１の各相の電機子２の相電流をフィードバック制御する。
【００４９】
なお、本実施形態では、モータ１のロータの界磁極の磁束方向をｑ軸方向と定義したが、該磁束方向をｄ軸方向と定義するようにしてもよい。
【００５０】
以降の説明では、ｄｑ座標系におけるｄ軸電機子の通電電流としてのｄ軸電流と、ｑ軸電機子の通電電流としてのｑ軸電流とをそれぞれ参照符号Ｉd、Ｉqを付して表記する。また、ｄ軸電機子の電圧としてのｄ軸電圧と、ｑ軸電機子の電圧としてのｑ軸電圧とをそれぞれ参照符号Ｖd、Ｖqを付して表記する。また、ｄ軸電流Ｉdとｑ軸電流Ｉqとから構成されるベクトル(Ｉd，Ｉq)t（添え字ｔは転置を意味する）をｄｑ電流ベクトルＩdq、ｄ軸電圧Ｖdとｑ軸電圧Ｖqとから構成されるベクトル(Ｖd，Ｖq)tをｄｑ電圧ベクトルＶ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_cとの間の関係、及びＴr_cとＩd_cとの間の関係をそれぞれ規定するデータテーブル）に基づいてｄｑ電流ベクトルＩdqの指令値(Ｉd_c，Ｉq_c)tを決定する。該データテーブルは、それにより決定されるｄｑ電流ベクトルＩdqの指令値(Ｉd_c，Ｉq_c)tが、トルク指令値Ｔr_cの出力トルクを効率よくモータ１に発生させる上で適切な指令値となるように設定されている。この場合、本実施形態では、例えば、モータ１の突極性に起因するリラクタンストルクを効率よく発生させ、モータ１の電機子２に流す電流をできるだけ少なくしつつ、トルク指令値Ｔr_cの出力トルクをモータ１に発生させることができるように、ｄｑ電流ベクトルＩdqの指令値(Ｉd_c，Ｉq_c)tが決定される。
【００５７】
また、電流ＦＢ制御部２５は、前記ｄ軸電流偏差ΔＩd及びｑ軸電流偏差ΔＩqから、例えばフィードバック制御則としてのＰＩ則（比例・積分則）を用いて、ｄ軸電圧ＦＢ指令値Ｖfbd及びｑ軸電圧ＦＢ指令値Ｖfbqをそれぞれ算出する。具体的には、電流ＦＢ制御部２５は、ｄ軸電流偏差ΔＩdに所定値の比例ゲインを乗じてなる比例項と、ΔＩdの積分値（制御サイクル毎の累積加算値）に所定値の積分ゲインを乗じてなる積分項とを加え合わせることによってΔＩdを“０”に収束させるためのフィードバック操作量（ｄ軸電圧ＦＢ指令値Ｖfbdの基本値）を算出する。同様に、電流ＦＢ制御部２５は、ｑ軸電流偏差ΔＩqに所定値の比例ゲインを乗じてなる比例項と、ΔＩqの積分値（制御サイクル毎の累積加算値）に所定値の積分ゲインを乗じてなる積分項とを加え合わせることによって、ΔＩqを“０”に収束させるためのフィードバック操作量（ｑ軸電圧ＦＢ指令値Ｖfbqの基本値）を算出する。
【００５８】
なお、上記フィードバック制御則としては、ＰＩ則に限らず、比例則等の他のフィードバック制御則を用いてもよい。
【００５９】
そして、電流ＦＢ制御部２５は、ｄ軸とｑ軸との間で干渉し合う速度起電力の影響（ｑ軸電流及びｄ軸電流に対する影響）を打ち消すための非干渉化処理によって、Vfbdの基本値とVfbqの基本値とを補正することによって、ｄ軸電圧ＦＢ指令値Ｖfbd及びｑ軸電圧ＦＢ指令値Ｖfbqを決定する。
【００６０】
この非干渉化処理においては、上記速度起電力の影響を打ち消すためのｄ軸側の電圧指令値の補正量であるｄ軸電圧補正量Ｖdxを、前記ｑ軸電流検出値Ｉq_sと、後述するロータ角度推定部３０でロータ角度の推定値θ^と併せて算出されるモータ１のロータの電気角速度の推定値ω^とから所定の演算式又はマップに基づいて算出する。同様に、ｑ軸側の電圧指令値の補正量であるｑ軸電圧補正量Ｖqxを、前記ｄ軸電流検出値Ｉd_sと、モータ１のロータの電気角速度の推定値ω^とから所定の演算式又はマップに基づいて算出する。そして、Vfbdの前記基本値に上記ｄ軸電圧補正量Ｖdxを加えてなる値をｄ軸電圧ＦＢ指令値Ｖfbdとして算出する。また、Ｖfbqの前記基本値に、上記ｑ軸電圧補正量Ｖqxを加えてなる値をｑ軸電圧ＦＢ指令値Ｖfbqとして算出する。
【００６１】
なお、ｄ軸とｑ軸との間で干渉し合う速度起電力の影響が十分に小さいものとなる状況では、上記非干渉化処理を省略し、Vfbdの前記基本値とＶfbqの前記基本値とをそれぞれ、そのまま、ｄ軸電圧ＦＢ指令値Ｖfbd、ｑ軸電圧ＦＢ指令値Ｖfbqとして決定するようにしてもよい。
【００６２】
以降の説明では、ｄ軸電圧ＦＢ指令値Ｖfbd及びｑ軸電圧ＦＢ指令値Ｖfbqの組から成るｄｑ電圧ベクトル(Ｖfbd，Ｖfbq)tをｄｑ電圧ＦＢ指令ベクトルＶfbdqということがある。
【００６３】
なお、本実施形態では、前記３相−ｄｑ変換部２１、ｄ軸電流偏差算出部２３、ｑ軸電流偏差算出部２４、及び電流ＦＢ制御部２５により本発明におけるｄｑ基本電圧決定手段が実現される。この場合、ｄｑ電流ベクトルＩdqの指令値(Ｉd_c，Ｉq_c)tに対応する３相の相電流が目標とする電流に相当する。また、ｄ軸電圧ＦＢ指令値Ｖfbdと、ｑ軸電圧ＦＢ指令値Ｖfbqとがそれぞれ、ｄ軸電圧の基本値、ｑ軸電圧の基本値に相当する。
【００６４】
前記ｄｑ−３相変換部２６は、入力されるｄ軸電圧指令値Ｖd_c及びｑ軸電圧指令値Ｖq_cの組から成るｄｑ電圧ベクトルＶdqの指令値(Ｖd_c，Ｖq_c)tに、所定の変換行列を乗じることによって、相電圧指令値Ｖu_c，Ｖv_c，Vw_cの組から成るベクトル(Ｖu_c，Ｖv_c，Vw_c)tを算出する。該変換行列は、前記３相−ｄｑ変換部２１の変換処理で用いる変換行列と同様に、その各行及び各列の成分値が、ロータ角度に応じて決定される変換行列（３相−ｄｑ変換部２１での変換処理と逆の変換処理を行う変換行列）である。この場合、ｄｑ−３相変換部２６は、その処理での変換行列の各成分値を決定するためのロータ角度の値として、後述するロータ角度推定部３０で算出されたロータ角度の推定値θ^を用いる。
【００６５】
ここで、前記ｄ軸電流偏差ΔＩ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の総和が“０”になる（該１周期内で周期信号の電圧の平均値が“０”になる）ように設定された周期信号である。
【００７２】
【数３】
2010273415.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に重畳した状態で、前記３相−ｄｑ変換部２１及びｄｑ−３相変換部２６の変換処理に使用するロータ角度の推定値θ^を算出するロータ角度推定部３０を備える。
【００８２】
ここで、このロータ角度推定部３０によるロータ角度の推定処理の概要を以下に説明する。
【００８３】
ロータ角度の推定値θ^を用いて各軸方向を特定したｄｑ座標系（以下、推定ｄｑ座標系という）における電流と電圧との間の関係を表現するモデルは、ロータの電気角速度が“０”もしくはそれに近い値であり、且つ、ｄ軸電機子及びｑ軸電機子の抵抗による電圧降下が十分に小さなレベルである場合に、以下の式（６）により表される。
【００８４】
【数４】
2010273415.tif 000006
【００８５】
この式（６）におけるＩd^は推定ｄｑ座標系でのｄ軸電流、Ｉq^は推定座標系でのｑ軸電流、Ｖd^は推定ｄｑ座標系でのｄ軸電圧、Ｖq^は推定ｄｑ座標系でのｑ軸電圧、θeはロータ角度の実際値θと推定値θ^との位相差（＝θ−θ^）である。
【００８６】
また、式（６）におけるＬ0，Ｌ1は、実際のｄ軸上のｄ軸電機子の平均インダクタンスＬdと、実際のｑ軸上のｑ軸電機子の平均インダクタンスＬqとに対して次式（７）の関係を有するものとして定義された変数である。
【００８７】
【数５】
2010273415.tif 000007
【００８８】
上記式（６）を離散時間系で表現し、且つ、各制御サイクルにおけるｄｑ電圧ベクトル(Ｖd^，Ｖq^)tとして、前記ｄｑ重畳電圧ベクトルＶhdqを前記ｄｑ電圧ＦＢ指令ベクトルＶfbdqに重畳してなるｄｑ電圧ベクトル（＝Ｖfbdq＋Ｖhdq）を用いることによって、次式（８）が得られる。
【００８９】
【数６】
2010273415.tif 000008
【００９０】
なお、この式（８）におけるＭdqは、式（９）に示す如く前記式（６）の右辺の行列と同じ行列である。また、ｄＩd(i)，ｄＩq(i)は、それぞれ、式（１０）に示す如く、ｉ番目の制御サイクルと次の制御サイクルとの間のｄ軸電流の一階差分、ｑ軸電流の一階差分である。また、Ｖfbdq(i)はｉ番目の制御サイクルにおけるｄｑ電圧ＦＢ指令ベクトルＶfbdq、Ｖhdq(i)はｉ番目の制御サイクルにおけるｄｑ重畳電圧ベクトルＶhdqである。なお、式（１０）におけるΔＴは、１制御サイクルの期間の時間である。
【００９１】
そして、前記式（２），（３）により定義した行列と、上記式（８）（より詳しくは、ｉ＋１番目からｉ＋ｎ番目まで各制御サイクルでのｎ個の式（８））とから次式（１２）が得られる。
【００９２】
【数７】
2010273415.tif 000009
【００９３】
ここで、ｉ＋１番目から第ｉ＋ｎ番目までのｎ個の制御サイクルを含む期間におけるｄｑ電圧ＦＢ指令ベクトルＶfbdqのｄ軸電圧ＦＢ指令値Vfbd及びｑ軸電圧ＦＢ指令値Vfbqが一定値に保たれ（Ｖfbdq(i+1)＝Ｖfbdq(i+2)＝…＝Ｖfbdq(i+n)となる）、また、この期間における周期信号のｄｑ重畳電圧ベクトルVhdqが前記式（５）を満たすように設定されている場合には、上式（１２）の右辺の第１項は“０”となる。従って、次式（１３）が得られる。
【００９４】
【数８】
2010273415.tif 000010
【００９５】
この式（１３）の左辺は、前記式（１）の右辺と同じである。この場合、上式（１３）と、前記式（１）とを比較して明らかなように、前記式（１）の左辺のＶsdqは、ロータ角度の推定値θ^の誤差としての前記位相差θeの２倍角の正弦関数値sin２θeに応じて（比例して）変化する値としての意味を持つ。また、前記式（１）の左辺のＶcdqは、該位相差θeの２倍角の余弦関数値cos２θeに応じて（比例して）変化する値としての意味を持つ。さらに、前記式（１）の左辺のＬ0は、前記したようにｄ軸電機子及びｑ軸電機子の平均インダクタンスＬd，Ｌqに応じて変化する値としての意味を持つ。なお、以降、Ｖsdqを正弦参照値、Ｖcdqを余弦参照値ということがある。
【００９６】
そこで、ロータ角度推定部３０は、連続したｎ個（本実施形態では３個）の制御サイクルを含む期間におけるｄｑ電圧ＦＢ指令ベクトルＶfbdqのｄ軸電圧ＦＢ指令値Vfbd及びｑ軸電圧ＦＢ指令値Vfbqを一定値に保つようにしつつ、前記式（５）を満たすような周期信号のｄｑ重畳電圧ベクトルVhdqをｄｑ電圧ＦＢ指令ベクトルＶfbdqに重畳した状態で、上記期間内の各制御サイクルとその次の制御サイクルとの間のｄ軸電流Ｉd及びｑ軸電流Ｉqの一階差分を観測する。そして、ロータ角度推定部３０は、これらの一階差分の観測値から、式（１３）の左辺の演算、すなわち、前記式（１）の右辺の演算を行うことによって、前記式（１）の左辺のＶsdq，Ｖcdq，Ｌ0を算出する。
【００９７】
そして、本実施形態では、ロータ角度推定部３０は、本発明におけるインダクタンス参照値として、例えば、前記式（１）の右辺の演算によって算出した上記Ｌ0の値を設定する。また、ロータ角度推定部３０は、本発明における位相差基本参照値（以降、これに参照符号ΘEbを付する）として、例えば、前記式（１）の右辺の演算によって算出した正弦参照値Ｖsdqをインダクタンス参照値Ｌ0で除算してなる値Ｖsdq／Ｌ0を設定する。
【００９８】
ここで、このようにして算出した位相差基本参照値ΘEb（＝Ｖsdq／Ｌ0）は、モータ１の磁気飽和が発生していない状態（例えばモータ１のトルク指令値Ｔr_cを０［Ｎ・ｍ］とした状態）では、位相差θeに対するΘEbの値の変化の波形が、図３（ａ）のグラフで例示する如く、概ね２倍角２θeの正弦関数値sin２θeに比例した波形となる。しかるに、モータ１の磁気飽和が発生している状態（例えばモータ１のトルク指令値Ｔr_cを最大トルクとした状態）では、ΘEbの波形は、図３（ｂ）のグラフで例示する如く、磁気飽和が発生していない状態での正弦波状の波形（図３（ａ）のグラフで示す波形）から崩れた波形となる。そして、この波形の崩れは、モータ１の出力トルクが大きいほど（ひいては、電機子２に流れる相電流が大きいほど）、顕著になる。さらに、磁気飽和の発生に起因してΘEbの波形全体のレベルのオフセットも発生する。例えば図３（ｂ）のグラフに例示するΘEbの波形は、図３（ａ）に例示するΘEbの波形に対して、負側にオフセットしている。
【００９９】
なお、図３（ａ），（ｂ）のグラフは、ロータ角度の実際値をある所定値とした場合の実測データのグラフである。また、磁気飽和が発生している状態で位相差基本参照値ΘEbの値の波形が上記の如く崩れるという傾向は、ΘEbとして、Ｖsdq／Ｌ0の他、先に例示したＶsdq、あるいはＶsdq／√(Ｖsdq2＋Ｖcdq2)を使用した場合でも同様である。
【０１００】
一方、前記式（１）により算出されるインダクタンス参照値Ｌ0に着目すると、該インダクタンス参照値Ｌ0は、モータ１の磁気飽和が発生している状態で、例えば図４のグラフで示す如く、位相差θeに対して変化する傾向を有する。同図示のように、Ｌ0は、モータ１の磁気飽和が発生している状態でも、θeが“０”近傍の範囲内で線形性を有する。
【０１０１】
このため、上記位相差基本参照値ΘEbと、インダクタンス参照値Ｌ0とを適切な重み係数を使用して線形結合することによって、あるいは、その線形結合値にさらに適切な補正項を加算することによって、位相差θeに対する変化の波形が、モータ１の磁気飽和の発生状態によらずにほぼ一定に保たれるような参照値を生成することができると考えられる。
【０１０２】
そこで、本実施形態におけるロータ角度推定部３０は、上記インダクタンス参照値Ｌ0と、位相差基本参照値ΘEbとを用いて、次式（１４）の演算によって、ロータ角度θeの２倍角２θeに応じて値が変化する位相差推定値ΘEを決定する。
【０１０３】
ΘE＝α・Ｌ0＋β・ΘEb＋γ    ……（１４）
すなわち、ロータ角度推定部３０は、インダクタンス参照値Ｌ0と、位相差基本参照値ΘEbとにそれぞれ掛かる重み係数をα、βとして、これらのＬ0，ΘEbを線形結合してなる値（＝α・Ｌ0＋β・ΘEb）に、さらに補正項γを加算した値を位相差推定値ΘEとして算出する。
【０１０４】
この場合、モータ１の電機子２に流れる相電流が大きくなって、モータ１の磁気飽和が強く発生するほど、ΘEbの上記した波形の崩れが顕著になる。このため、ロータ角度推定部３０は、上記重み係数α、βと、補正項γの値を、モータ１の出力トルク（本実施形態ではトルク指令値Ｔr_c）に応じて変化させるように設定する。
【０１０５】
そして、ロータ角度推定部３０は、上記の如く求めた位相差推定値ΘEを用いて、次式（１５）により表されるオブザーバによって、ロータ角度の推定値θ^と、その変化速度であるロータ角速度の推定値ω^とを算出する。
【０１０６】
【数９】
2010273415.tif 000011
【０１０７】
この式（１５）におけるΔｔはロータ角度の推定値θ^の更新サイクルの時間、ｋはθ^の更新番数、K1，K2は、あらかじめ設定された所定値のゲイン係数である。
【０１０８】
かかる式（１５）により表されるオブザーバは、位相差推定値ΘEを“０”に収束させ、ひいては、位相差θ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とから前記した如く位相差基本参照値ΘEbを算出する。すなわち、ＶsdqをＬ0により除算してなる値（＝Ｖsdq／Ｌ0）を、ΘEbとして算出する。なお、本実施形態では余弦参照値Ｖcdqの値を使用しないので、前記ＳＴＥＰ５において、余弦参照値Ｖcdqの算出処理は省略してもよい。
【０１１９】
さらに、ＳＴＥＰ７において、ロータ角度推定部３０は、上記の如く算出したインダクタンス参照値Ｌ0と、位相差基本参照値ΘEbとを用いて、前記式（１４）により、位相差推定値ΘEを算出する。
【０１２０】
この場合、ロータ角度推定部３０は、式（１４）の演算に用いる重み係数α，β及び補正項γの値を、トルク指令値Ｔr_cから、図６（ａ），（ｂ），（ｃ）に示す如くあらかじめ設定されたデータテーブルに基づいて決定する。図６（ａ），（ｂ），（ｃ）はそれぞれ、重み係数α、重み係数β、補正項γに対応するデータテーブルである。
【０１２１】
これらのデータテーブルにおけるα、β、γの値は、図中の四角点における各トルク指令値Ｔr_cにおいて、前記式（１４）の演算により算出される位相差推定値ΘEの波形（位相差θeに対するΘEの変化の波形）を目標とする波形に一致させるように最小二乗法等の手法により同定したものである。この場合、目標とする波形は、例えば、トルク指令値Ｔr_cを０［Ｎ・ｍ］とした状態（モータ１の磁気飽和が発生していない状態）での位相差基本参照値ΘEbの波形である。従って、Ｔr_c＝０［Ｎ・ｍ］であるときのα、β、γの値は、それぞれ、“０”、“１”、“０”に設定される。このため、Ｔr_c＝０［Ｎ・ｍ］であるときは、位相差推定値ΘEは、位相差基本参照値ΘEbに一致する。
【０１２２】
なお、図中の四角点における各トルク指令値Ｔr_c以外のトルク指令値Ｔr_cに対応するα、β、γの値は、例えば線形補間によって決定される。
【０１２３】
ロータ角度推定部３０は、以上のＳＴＥＰ５〜７の処理により、位相差推定値ΘEを算出する。
【０１２４】
次いで、ＳＴＥＰ８に進んで、演算処理部１１は、ＳＴＥＰ１で取り込んだ相電流検出値Ｉ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として、前々回の制御サイクル（１）の前記ＳＴＥＰ７で算出された値が用いられる。
【０１３２】
以上のようにして、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（制御サイクル（１）から制御サイクル（０）までの各制御サイクルとその次の制御サイクルとの間の電流変化）が観測される。そして、これらの観測値から、前記した如くロータ角度推定部３０によって、位相差基本参照値ΘEbとインダクタンス参照値Ｌ0とが算出される。さらに、このΘEbとＬ0とを用いて前記式（１４）により位相差推定値ΘEが算出される。さらに、この位相差推定値ΘEから、前記式（１５）に示すオブザーバの演算によって、ロータ角度の推定値θ^が更新される。
【０１４４】
これにより、位相差推定値ΘEを“０”に収束させ、ひいては、位相差θeを“０”に収束させるように、ロータ角度の推定値θ^が３制御サイクル毎に更新される。
【０１４５】
ここで、本実施形態では、上記オブザーバの演算に用いる位相差推定値ΘE、換言すれば、ロータ角度の推定値θ^の更新量を規定する位相差推定値ΘEが、前記式（１４）の演算により算出される。そして、この場合、重み係数α，βと補正項γとが、前記した如く設定されたデータテーブルを用いて、トルク指令値Ｔr_cに応じて決定される。
【０１４６】
このため、算出される位相差推定値ΘEは、位相差θeに対するΘEの値の変化の波形が、モータ１の実際の磁気飽和の発生状態によらずに、モータ１の磁気飽和が発生していない状態での波形（sin２θeにほぼ比例する正弦波状の波形）に保たれるような値になる。すなわち、ΘEの値が、sin２θeに、所定値の比例定数を乗じた値に一致もしくはほぼ一致するようになる。
【０１４７】
実際、本願発明者によるシミュレーション結果によれば、ΘEの波形は、例えば、図７（ａ），（ｂ），（ｃ）のグラフに例示するような波形になることが確認された。ここで、図７（ａ）〜（ｃ）は、ロータ角度の実際値をある所定値に設定すると共に、トルク指令値Ｔr_cを互いに異なる値に設定した状態（ひいてはモータ１の磁気飽和の発生状態を互いに異ならせた状態）でのΘEの波形を示すグラフである。この場合、図７（ａ）に示すΘEの波形は、トルク指令値Ｔr_cを０［Ｎ・ｍ］とした状態（モータ１の磁気飽和が発生していない状態）での波形である。また、図７（ｂ），（ｃ）に示すΘEの波形は、それぞれトルク指令値Ｔr_cを最大トルクの半分、最大トルクとした状態（これらの状態は、モータ１の磁気飽和が発生する状態である）でのΘEの波形である。
【０１４８】
これらのグラフに示されるように、トルク指令値Ｔr_cによらずに、ひいては、モータ１の磁気飽和の発生状態によらずに、位相差θeに対する位相差推定値ΘEの変化の波形が、ほぼ一定の正弦波状の波形に保たれることが判る。この場合、位相差推定値ΘEは、sin２θeにほぼ比例するので、位相差θeが“０”であるときに、ΘE≒０となる。また、位相差θeが正極性である場合と負極性である場合とで、ΘEの値は、互いに逆極性で、且つ、対称的なものとなる。
【０１４９】
なお、図示は省略するが、トルク指令値Ｔr_cを上記の各値（０［Ｎ・ｍ］、最大トルクの半分、最大トルク）に設定した状態において、ロータ角度の実際値を他の種々様々の角度に設定しても、ΘEの波形は図７（ａ）〜（ｃ）に示す波形のそれぞれとほぼ同等の波形になることが確認された。また、トルク指令値Ｔr_cを上記の各値（０［Ｎ・ｍ］、最大トルクの半分、最大トルク）以外に、例えば、最大トルクの２５％、７５％、１０％、３０％、６０％、８０％の値に設定した場合においても、ΘEの波形は、図７（ａ）〜（ｃ）と同様の正弦波状の波形に保たれることが確認された。この場合、Ｔr_cを最大トルクの１０％、３０％、６０％、８０％の値に設定した場合のα、β、γの値は、前記図６（ａ）〜（ｃ）に示すデータテーブルから線形補間により決定している。
【０１５０】
以上のように、位相差θeに対する位相差推定値ΘEの変化の波形は、モータ１の磁気飽和の発生状態によらずに、ほぼ一定の正弦波状の波形に保たれる。このため、前記式（１５）のオブザーバにより更新・算出されるロータ角度の推定値θ^を、モータ１の磁気飽和の発生状態によらずに、精度よく且つ安定に実際値に収束させることができることとなる。すなわち、モータ１の磁気飽和の発生状態によらずに、ロータ角度を精度よく安定に推定できる。
【０１５１】
また、ロータ角度を精度よく安定に推定できることから、ロータの突極性に起因するリラクタンストルクを有効に活用することができ、モータ１の所望のトルクを効率よく発生させることができる。
【０１５２】
本実施形態における上記の如き効果について検証したシミュレーション結果を図８（ａ），（ｂ）に示す。また、これと比較するために、従来のロータ角度の推定手法を使用した場合のシミューレーション結果を図９（ａ），（ｂ）に示す。
【０１５３】
図８（ａ）は、本実施形態により算出されたロータ角度の推定値θ^の変化と、該ロータ角度の実際値θの変化とをそれぞれ実線、破線で示すグラフである（図では、実線と破線がほとんど重なっている）。なお、モータ１の電機子２の通電電流は、モータ１の出力トルクがほぼ最大トルクとなるように設定された電流である。また、ロータ角度の実際値θの変化速度、すなわち、ロータの電気角速度は、一定値である。
【０１５４】
図示の如く、ロータ角度の推定値θ^は、実際値θに高精度で合致しつつ、該実際値θに追従して変化している。このように、本実施形態では、ロータ角度の推定値θ^を高精度に実際値θに合致させることができる。
【０１５５】
なお、図８（ｂ）は、モータ１の実際の出力トルクの変化を示すグラフである。図示の如く、該出力トルクは最大トルク付近のトルクでほぼ一定に保たれる。
【０１５６】
一方、図９（ａ）は、従来のロータ角度の推定手法を使用して算出されたロータ角度の推定値θ^の時間的な変化と、該ロータ角度の実際値θの時間的な変化とをそれぞれ実線、破線で示すグラフである。ここで、従来のロータ角度の推定手法は、本実施形態における位相差推定値ΘEの代わりに、前記位相差基本参照値ΘEb（＝Ｖsdq／Ｌ0）に所定のオフセット値（−０．２５）を加えてなる値を用いてロータ角度を推定するものである。なお、モータ１の通電電流は、図８（ａ）の場合と同じに設定されている。また、ロータ角度の実際値θの変化速度（電気角速度）も図８（ａ）の場合と同じである。
【０１５７】
この場合、図９（ａ）に示す如く、従来のロータ角度の推定手法によるロータ角度の推定値θ^は、実際値θに対して図８（ａ）に示したものよりも誤差が大きくなる。
【０１５８】
また、この場合、モータ１の実際の出力トルクは、図９（ｂ）のグラフで示す如く変化する。この図９（ｂ）のグラフを図８（ｂ）のグラフと比較して判るように、従来の手法でロータ角度を推定した場合よりも、本実施形態の手法でロータ角度を推定した場合の方が、出力トルクの平均値を高めることができることが判る。
【０１５９】
次に、本発明の第２実施形態を図１０及び図１１を参照して説明する。
【０１６０】
本実施形態は、位相差基本参照値ΘEbとして用いる値を第１実施形態と異ならせたものである。従って、第１実施形態と同一構成のものについては、第１実施形態と同一の参照符号を用い、詳細な説明を省略する。
【０１６１】
前記第１実施形態では、前記正弦参照値Ｖsdqをインダクタンス参照値Ｌ0により除算してなる値Ｖsdq／Ｌ0を位相差基本参照値ΘEbとして算出した。これに対して、本実施形態では、前記式（１）により算出した前記正弦参照値Ｖsdqをそのまま、位相差基本参照値ΘEbとして使用する。
【０１６２】
この場合、位相差θeに対する位相差基本参照値ΘEb（＝Ｖsdq）の変化の波形は、概略的には正弦波状となるものの、前記第１実施形態におけるΘEb（＝Ｖsdq／Ｌ0）の変化の波形と相違する。例えば、本実施形態における位相差基本参照値ΘEb（＝Ｖsdq）の変化の波形は、その振幅等が、前記第１実施形態におけるΘEb（＝Ｖsdq／Ｌ0）の変化の波形よりも、モータ１の磁気飽和の発生状態に依存して大きく変化する傾向がある。
【０１６３】
このため、本実施形態では、位相差基本参照値ΘEbとインダクタンス参照値Ｌ0とから、位相差推定値ΘEを求める時に、前記線形結合における重み係数α，βと、補正項γとをモータ１の出力トルク（トルク指令値Ｔr_c）に応じて決定するためのデータテーブルとして、前記第１実施形態と異なるデータテーブルを使用する。
【０１６４】
具体的には、本実施形態では、重み係数α，βと、補正項γとを決定するためのデータテーブルは、それぞれ、図１０（ａ），（ｂ），（ｃ）に例示する如く設定されている。
【０１６５】
これらのデータテーブルにおけるα、β、γの値は、第１実施形態の場合と同様に、図中の四角点における各トルク指令値Ｔr_cにおいて、前記式（１４）の演算により算出される位相差推定値ΘEの波形（位相差θeに対するΘEの変化の波形）を目標とする波形に一致させるように最小二乗法等の手法により同定したものである。この場合、本実施形態では、目標とする波形は、例えば、第１実施形態でトルク指令値Ｔr_cを０［Ｎ・ｍ］とした状態での位相差基本参照値ΘEb（＝ΘE）の波形である。
【０１６６】
なお、第１実施形態の場合と同様に、図１０（ａ），（ｂ），（ｃ）のそれぞれの四角点における各トルク指令値Ｔr_c以外のトルク指令値Ｔr_cに対応するα、β、γの値は、例えば線形補間によって決定される。
【０１６７】
本実施形態は、以上説明した事項以外は、第１実施形態と同じである。
【０１６８】
かかる本実施形態においても第１実施形態と同様の効果を奏する。
【０１６９】
すなわち、本実施形態において算出される位相差推定値ΘEは、位相差θeに対するΘEの値の変化の波形が、第１実施形態と同様にモータ１の実際の磁気飽和の発生状態によらずに、sin２θeにほぼ比例する正弦波状の波形に保たれるような値になる。
【０１７０】
実際、本願発明者によるシミュレーション結果によれば、本実施形態における位相差推定値ΘEの波形は、例えば、図１１（ａ），（ｂ），（ｃ）のグラフに例示するような波形になることが確認された。ここで、図１１（ａ）〜（ｃ）は、第１実施形態に係わる図７（ａ）〜（ｃ）と同様に、ロータ角度の実際値をある所定値に設定すると共に、トルク指令値Ｔr_cを互いに異なる値に設定した状態でのΘEの波形を示すグラフである。この場合、図１１（ａ）に示すΘEの波形は、トルク指令値Ｔr_cを０［Ｎ・ｍ］とした状態（モータ１の磁気飽和が発生していない状態）での波形である。また、図１１（ｂ），（ｃ）に示すΘEの波形は、それぞれトルク指令値Ｔr_cを最大トルクの半分、最大トルクとした状態（これらの状態は、モータ１の磁気飽和が発生する状態である）でのΘEの波形である。
【０１７１】
これらのグラフに示されるように、第１実施形態の場合と同様に、トルク指令値Ｔr_cによらずに、ひいては、モータ１の磁気飽和の発生状態によらずに、位相差θeに対する位相差推定値ΘEの変化の波形が、ほぼ一定の正弦波状の波形に保たれることが判る。この場合、第１実施形態と同様に、位相差推定値ΘEは、sin２θeにほぼ比例するので、位相差θeが“０”であるときに、ΘE≒０となる。また、位相差θeが正極性である場合と負極性である場合とで、ΘEの値は、互いに逆極性で、且つ、対称的なものとなる。
【０１７２】
なお、図示は省略するが、トルク指令値Ｔr_cを上記の各値（０［Ｎ・ｍ］、最大トルクの半分、最大トルク）に設定した状態において、ロータ角度の実際値を他の種々様々の角度に設定しても、ΘEの波形は図１１（ａ）〜（ｃ）に示す波形のそれぞれとほぼ同等の波形になることが確認された。また、トルク指令値Ｔr_cを上記の各値（０［Ｎ・ｍ］、最大トルクの半分、最大トルク）以外に、例えば、最大トルクの２５％、７５％、１０％、３０％、６０％、８０％の値に設定した場合においても、ΘEの波形は、図１１（ａ）〜（ｃ）と同様の正弦波状の波形に保たれることが確認された。この場合、Ｔr_cを最大トルクの１０％、３０％、６０％、８０％の値に設定した場合のα、β、γの値は、前記図１０（ａ）〜（ｃ）に示すデータテーブルから線形補間により決定している。
【０１７３】
以上のように、本実施形態においても、第１実施形態と同様に、位相差θeに対する位相差推定値ΘEの変化の波形は、モータ１の磁気飽和の発生状態によらずに、ほぼ一定の正弦波状の波形に保たれる。このため、前記式（１５）のオブザーバにより更新・算出されるロータ角度の推定値θ^を、モータ１の磁気飽和の発生状態によらずに、精度よく且つ安定に実際値に収束させることができることとなる。すなわち、モータ１の磁気飽和の発生状態によらずに、ロータ角度を精度よく安定に推定できる。
【０１７４】
また、ロータ角度を精度よく安定に推定できることから、ロータの突極性に起因するリラクタンストルクを有効に活用することができ、モータ１の所望のトルクを効率よく発生させることができる。
【０１７５】
なお、以上説明した第１及び第２実施形態では、位相差基本参照値ΘEbとして、Ｖsdq／Ｌ0又はＶsdqを使用した場合と例にとって説明したが、これら以外で、先に例示したもの（例えばＶsdq／√(Ｖsdq2＋Ｖcdq2)）を位相差基本参照値ΘEbとして使用するようにしてもよい。
【０１７６】
また、前記各実施形態では、前記重み係数α，βと補正項γとをトルク指令値Ｔr_cに応じて決定するようにしたが、モータ１の出力トルクにほぼ比例するような他のパラメータに応じてα、β、γの値を可変的に決定するようにしてもよい。例えば、モータ１の電機子２の電流をｄｑ座標系で表現した場合におけるｄｑ電流ベクトルのうちのロータの界磁極の磁束方向と直交する軸方向成分（前記各実施形態ではｄ軸電流）は、モータ１の出力トルクにほぼ比例する。従って、ｄｑ電流ベクトルのうちのロータの界磁極の磁束方向と直交する軸方向成分の検出値又は指令値（目標値）に応じてα、β、γの値を決定するようにしてもよい。
【０１７７】
また、前記各実施形態では、トルク指令値Ｔr_cを０［Ｎ・ｍ］とした状態での第１実施形態における位相差基本参照値ΘEb（＝Ｖsdq／Ｌ0）の波形を、位相差推定値ΘEの目標波形としたが、他の波形をΘEの目標波形として、α、β、γの値を決定するようにしてもよい。例えば、単に、位相差θeの２倍角の正弦関数値sin２θe、又はこれに任意の所定値の比例定数（≠０）を乗じた値の波形を、ΘEの目標波形として、α、β、γの値を決定するようにしてもよい。
【０１７８】
また、前記各実施形態におけるベクトル制御では、ロータの界磁極の磁束方向をｑ軸方向としたが、該磁束方向をｄ軸方向と定義してベクトル制御の演算処理を実行するようにしてもよい。
【符号の説明】
【０１７９】
１…ＤＣブラシレスモータ、２ｕ，２ｖ，２ｗ…電機子、１０…制御装置、１２ｕ，１２ｗ…電流センサ（電流検出手段）、２１…３相−ｄｑ変換部（ｄｑ基本電圧決定手段）、２３…ｄ軸電流偏差算出手段（ｄｑ基本電圧決定手段）、２４…ｑ軸電流偏差算出手段（ｄｑ基本電圧決定手段）、２５…電流ＦＢ制御部（ｄｑ基本電圧決定手段）、２７…周期信号発生部（高周波重畳手段）、２８…ｄ軸側重畳部（高周波重畳手段）、２９…ｑ軸側重畳部（高周波重畳手段）、３０…ロータ角度推定部（ロータ角度推定手段）、ＳＴＥＰ２，３，５，６…基本参照値算出手段、ＳＴＥＰ７…位相差推定値算出手段。
【図１】
2010273415.tif 000012
【図２】
2010273415.tif 000013
【図３】
2010273415.tif 000014
【図４】
2010273415.tif 000015
【図５】
2010273415.tif 000016
【図６】
2010273415.tif 000017
【図７】
2010273415.tif 000018
【図８】
2010273415.tif 000019
【図９】
2010273415.tif 000020
【図１０】
2010273415.tif 000021
【図１１】
2010273415.tif 000022