(57)【要約】【課題】  ステッピングモータの制御方法を切替可能とすることができる。【解決手段】  一実施形態に係るモータ制御装置は、開ループ制御に依存する第１の電流指令値及び閉ループ制御に依存する第２の電流指令値に基づいて、ステッピングモータを制御するモータ制御装置であって、速度指令値に基づいて、前記開ループ制御又は前記閉ループ制御を選択する制御方法選択部と、前記開ループ制御が選択された場合、前記第１の電流指令値として第１の目標値を出力し、前記閉ループ制御が選択された場合、前記第２の電流指令値として第２の目標値を出力する指令値出力部と、を備える。【選択図】  図１
2018014875.tif 000002
【特許請求の範囲】
【請求項１】
開ループ制御に依存する第１の電流指令値及び閉ループ制御に依存する第２の電流指令値に基づいて、ステッピングモータを制御するモータ制御装置であって、
速度指令値に基づいて、前記開ループ制御又は前記閉ループ制御を選択する制御方法選択部と、
前記開ループ制御が選択された場合、前記第１の電流指令値として第１の目標値を出力し、前記閉ループ制御が選択された場合、前記第２の電流指令値として第２の目標値を出力する指令値出力部と、
を備えるモータ制御装置。
【請求項２】
前記開ループ制御において、前記ステッピングモータに供給された駆動電流の位相は、角度指令値に同期され、前記閉ループ制御において、前記駆動電流の位相は、角度推定値に同期される
請求項１に記載のモータ制御装置。
【請求項３】
角度指令値と、角度推定値と、速度推定値と、に基づいて、前記第２の目標値を算出する角度制御部を更に備える
請求項１又は請求項２に記載のモータ制御装置。
【請求項４】
角度指令値と、角度推定値と、速度推定値と、前記速度指令値と、に基づいて、前記第２の目標値を算出する角度制御部を更に備える
請求項１又は請求項２に記載のモータ制御装置。
【請求項５】
前記制御方法選択部は、前記開ループ制御の選択中に、前記速度指令値が第１の速度閾値以上の期間が所定期間以上になると、前記閉ループ制御を選択し、前記閉ループ制御の選択中に、前記速度指令値が第２の速度閾値未満になると前記開ループ制御を選択する
請求項１乃至請求項４のいずれか１項に記載のモータ制御装置。
【請求項６】
前記ステッピングモータに供給された駆動電流に基づいて、角度推定値及び速度推定値を算出する推定部を更に備える
請求項１乃至請求項５のいずれか１項に記載のモータ制御装置。
【請求項７】
基準パルスに基づいて、前記速度指令値及び角度指令値を算出する指令値算出部を更に備える
請求項１乃至請求項６のいずれか１項に記載のモータ制御装置。
【請求項８】
前記指令値出力部は、前記閉ループ制御が選択され、かつ、２つの電圧指令値の少なくとも一方が第１閾値以上になった場合、前記第１の電流指令値として、前記２つの電圧指令値の和が一定となる値を出力する
請求項１乃至請求項７のいずれか１項に記載のモータ制御装置。
【請求項９】
前記第１閾値は、電源電圧値に応じた値である
請求項８に記載のモータ制御装置。
【請求項１０】
前記指令値出力部は、前記２つの電圧指令値が第２閾値未満となった場合、前記第１の電流指令値として、第１所定値を出力する
請求項８又は請求項９に記載のモータ制御装置。
【請求項１１】
前記第２閾値は、前記第１閾値より小さい
請求項１０に記載のモータ制御装置。
【請求項１２】
前記指令値出力部は、前記２つの電圧指令値の和と第２所定値との差の積分値に基づいて、前記第１の電流指令値と、前記第２の電流指令値と、の比を算出する
請求項８乃至請求項１１のいずれか１項に記載のモータ制御装置。
【請求項１３】
前記ステッピングモータに駆動電流を供給するインバータと、
前記駆動電流を検出する電流検出器と、
請求項１乃至請求項１２のいずれか１項に記載のモータ制御装置と、
を備えるモータ駆動装置。
【請求項１４】
前記ステッピングモータと、
請求項１３に記載のモータ駆動装置と、
を備えるモータ駆動システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置、モータ駆動装置、及びモータ駆動システムに関する。
【背景技術】
【０００２】
２相のコイル及び着磁された回転子を備えるステッピングモータが知られている。このステッピングモータでは、２相のコイルに９０度位相が異なる駆動電流を供給し、この駆動電流の位相を進めると、駆動電流の位相に追従して回転子が回転する。このため、ステッピングモータは、エンコーダ等のセンサを利用しない開ループ制御により、精度よく駆動を制御できる。
【０００３】
しかしながら、開ループ制御では、負荷や駆動速度によらず、一定振幅の駆動電流がコイルに供給されるため、高速駆動時や高負荷時に、回転子が駆動電流の位相に追従できなくなり、脱調する恐れがある。また、低速駆動時や低負荷時の電力効率が低下するという問題もある。
【０００４】
ステッピングモータの他の制御方法として、閉ループ制御が提案されている。閉ループ制御は、コイルの誘起電圧に基づいて回転子の角度を推定し、推定された角度に基づいて駆動電流を制御する制御方法である。この閉ループ制御によれば、高速駆動時や高負荷時において、高精度かつ低消費電力にモータを制御することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、モータの低速駆動時には、発生する誘起電圧が小さいため、閉ループ制御によってモータを安定して制御することは困難であった。
【０００６】
本発明は、上記の課題に鑑みてなされたものであり、ステッピングモータの制御方法を切替可能とすることを目的とする。
【課題を解決するための手段】
【０００７】
一実施形態に係るモータ制御装置は、開ループ制御に依存する第１の電流指令値及び閉ループ制御に依存する第２の電流指令値に基づいて、ステッピングモータを制御するモータ制御装置であって、速度指令値に基づいて、前記開ループ制御又は前記閉ループ制御を選択する制御方法選択部と、前記開ループ制御が選択された場合、前記第１の電流指令値として第１の目標値を出力し、前記閉ループ制御が選択された場合、前記第２の電流指令値として第２の目標値を出力する指令値出力部と、を備える。
【発明の効果】
【０００８】
本発明の各実施形態によれば、ステッピングモータの制御方法を切替可能とすることができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係るモータ駆動システムの構成の一例を示す図。
【図２】モータの一例を示す図。
【図３】角度指令値算出部の一例を示す図。
【図４】角度制御部の一例を示す図。
【図５】ｄ軸電流制御部の一例を示す図。
【図６】ｑ軸電流制御部の一例を示す図。
【図７】第１ベクトル回転部の動作を説明するグラフ。
【図８】第１ベクトル回転部の動作を説明するグラフ。
【図９】第２ベクトル回転部の動作を説明するグラフ。
【図１０】角度推定部の一例を示す図。
【図１１】第１実施形態における制御方法の選択方法を説明する状態遷移図。
【図１２】第１実施形態におけるモータ駆動システムの動作の一例を示すフローチャート。
【図１３】第１実施形態に係るモータ駆動システムのシミュレーション結果を示す図。
【図１４】第１実施形態に係るモータ駆動システムの構成を示す図。
【図１５】第２実施形態に係る角度制御部の一例を示す図。
【図１６】第３実施形態に係るモータ駆動システムの構成を示す図。
【図１７】第３実施形態における制御方法の選択方法を説明する状態遷移図。
【図１８】第３実施形態におけるモータ駆動システムの動作の一例を示すフローチャート。
【図１９】第４実施形態に係るモータ駆動システムの構成の一例を示す図。
【図２０】閉ループ制御時における電圧指令値と回転速度との関係を示すグラフ。
【図２１】閉ループ制御時における電圧指令値と回転速度との関係を示すグラフ。
【図２２】第４実施形態に係る第１選択部の一例を示す図。
【図２３】第４実施形態における弱め界磁制御の切替方法を説明する状態遷移図。
【図２４】第４実施形態に係る第１選択部の一例を示す図。
【発明を実施するための形態】
【００１０】
以下、本発明の各実施形態について、添付の図面を参照しながら説明する。なお、各実施形態に係る明細書及び図面の記載に関して、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重畳した説明を省略する。
【００１１】
＜第１実施形態＞
第１実施形態に係るモータ駆動システムについて、図１〜図１３を参照して説明する。
【００１２】
図１は、本実施形態に係るモータ駆動システムの構成の一例を示す図である。図１のモータ駆動システムは、モータ１と、インバータ２と、電流検出器３と、モータ制御装置１００と、を備える。インバータ２、電流検出器３、及びモータ制御装置１００は、モータ１を駆動するモータ駆動装置を構成する。
【００１３】
モータ１は、９０度位相が異なる２相の交流電流により駆動されるモータである。モータ１の各相を、Ａ相及びＢ相と称する。以下では、モータ１は、２相のステッピングモータ（ＳＴＭ）であるものとするが、これに限られない。図２は、モータ１の一例を示す図である。図２のモータ１は、回転子１１と、Ａ相コイル１２Ａと、Ｂ相コイル１２Ｂと、を備える。
【００１４】
回転子１１は、円周状に配置された永久磁石や、円周状に着磁された磁性体により構成される。回転子１１は、ｐ個の極ペア（Ｓ極及びＮ極のペア）を有する。図２の例では、極ペア数ｐは１である。回転子１１の実際の角度（位置）を実角度θｍという。
【００１５】
以下では、回転子１１の１回転を１周期とする角度を機械角と称し、回転子１１の１回転をｐ周期とする角度を電気角と称する。電気角は、機械角のｐ倍に相当する。以降、断りのない限り、回転子１１の角度及び速度を電気角で表す。実角度θｍは、電気角である。
【００１６】
Ａ相コイル１２Ａ及びＢ相コイル１２Ｂは、互いに接続されていない独立したコイルであり、９０度位相をずらして配置される。以下、Ａ相コイル１２Ａの２つの端子の電圧を、それぞれ端子電圧Ａ＋，Ａ−という。また、Ｂ相コイル１２Ｂの２つの端子の電圧を、それぞれ端子電圧Ｂ＋，Ｂ−という。Ａ相コイル１２Ａ及びＢ相コイル１２Ｂに、９０度位相が異なる交流電流を流すことで、回転子１１は回転する。
【００１７】
インバータ２は、モータ制御装置１００から入力された電圧指令値に従って、モータ１に駆動電流Ｉを供給する回路である。インバータ２は、ＰＷＭ（Pulse Width Modulation）回路（制御信号生成部）やドライバ回路などにより構成される。ＰＷＭ回路は、モータ制御装置１００に設けられてもよい。
【００１８】
インバータ２は、モータ制御装置１００から入力されたａ軸電圧指令値Ｖａを、端子電圧Ａ＋，Ａ−に変換し、Ａ相コイル１２Ａの端子にそれぞれ印加する。具体的には、ＰＷＭ回路は、ａ軸電圧指令値Ｖａに応じた制御信号（パルス信号）を生成し、ドライバ回路に入力する。ドライバ回路は、制御信号に応じた端子電圧Ａ＋，Ａ−をＡ相コイル１２Ａの端子にそれぞれ印加する。端子電圧Ａ＋，Ａ−の差が、Ａ相コイル１２Ａの端子間電圧となる。この端子間電圧を印加されることにより、Ａ相コイル１２Ａにａ軸電圧指令値Ｖａに応じたＡ相駆動電流Ｉａが流れる。ａ軸電圧指令値Ｖａは、駆動電圧のａ軸成分であり、Ａ相コイル１２Ａの駆動電圧値に相当する。なお、インバータ２がＡ相コイル１２Ａに印加可能な端子間電圧は、インバータ２の電源電圧Ｖｃｃ以下である。
【００１９】
また、インバータ２は、モータ制御装置１００から入力されたｂ軸電圧指令値Ｖｂを、端子電圧Ｂ＋，Ｂ−に変換し、Ｂ相コイル１２Ｂの端子にそれぞれ印加する。具体的には、ＰＷＭ回路は、ｂ軸電圧指令値Ｖｂに応じた制御信号（パルス信号）を生成し、ドライバ回路に入力する。ドライバ回路は、制御信号に応じた端子電圧Ｂ＋，Ｂ−をＢ相コイル１２Ｂの端子にそれぞれ印加する。端子電圧Ｂ＋，Ｂ−の差が、Ｂ相コイル１２Ｂの端子間電圧となる。この端子間電圧を印加されることにより、Ｂ相コイル１２Ｂにｂ軸電圧指令値Ｖｂに応じたＢ相駆動電流Ｉｂが流れる。ｂ軸電圧指令値Ｖｂは、駆動電圧のｂ軸成分であり、Ｂ相コイル１２Ｂの駆動電圧に相当する。なお、インバータ２がＢ相コイル１２Ｂに印加可能な端子間電圧は、インバータ２の電源電圧Ｖｃｃ以下である。
【００２０】
電流検出器３は、電流値を検出し、デジタル値として出力する電流センサである。電流検出器３は、シャント抵抗、差動増幅器、及びＡＤ（Analog to Digital）変換器などにより構成される。
【００２１】
電流検出器３は、Ａ相駆動電流Ｉａの電流値であるａ軸電流値ｉａを検出し、出力する。ａ軸電流値ｉａは、駆動電流Ｉの検出値のａ軸成分である。また、電流検出器３は、Ｂ相駆動電流Ｉｂの電流値であるｂ軸電流値ｉｂを検出し、出力する。ｂ軸電流値ｉｂは、駆動電流Ｉの検出値のｂ軸成分である。ａ，ｂ軸は、それぞれＡ，Ｂ相に対応する。ａ，ｂ軸について、詳しくは後述する。電流検出器３が出力したａ軸電流値ｉａ及びｂ軸電流値ｉｂは、モータ制御装置１００に入力される。
【００２２】
モータ制御装置１００は、プロセッサと、メモリと、により構成される。プロセッサは、例えば、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）などである。プロセッサは、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）、ＰＬＤ（Programmable Logic Device）などであってもよい。プロセッサは、メモリに格納されたプログラムを実行する。
【００２３】
メモリは、ＤＲＡＭ（Dynamic Random Access Memory）、ＳＲＡＭ（Static RAM）、ＭＲＡＭ（Magnetic RAM）、フラッシュメモリなどである。メモリは、プロセッサが実行するプログラムを格納する。
【００２４】
モータ制御装置１００は、例えば、１つ又は複数のプロセッサと、１つ又は複数のメモリと、を備えるＩＣチップにより実現される。ＩＣチップには、インバータ２及び電流検出器３の少なくとも一方が含まれてもよい。
【００２５】
モータ制御装置１００は、基準パルスｒｅｆｃｌｋを入力される。基準パルスｒｅｆｃｌｋは、モータ１を制御するためのパルスであり、従来の制御装置に入力されるパルスと同様のものである。モータ制御装置１００は、基準パルスｒｅｆｃｌｋに基づいて、閉ループ制御と、開ループ制御と、の２種類の制御方法でモータ１を制御する。
【００２６】
閉ループ制御は、フィードバックされた制御結果（回転子１１の角度及び速度）に基づいて算出された電流指令値により、モータ１を制御する制御方法である。本実施形態のように、モータ１をセンサレス制御する場合、モータ１の角度及び速度を直接的に取得することはできない。このため、本実施形態では、モータ１の角度及び速度の推定値がフィードバックされる。閉ループ制御によれば、モータ１を高精度に制御することができる。
【００２７】
開ループ制御は、予め設定された電流指令値によってモータ１を制御する制御方法である。開ループ制御では、閉ループ制御とは異なり、制御結果であるモータ１の角度及び速度がフィードバックされない。開ループ制御によれば、簡易な方法でモータ１を制御することができる。
【００２８】
図１に示すように、モータ制御装置１００は、機能構成として、角度指令値算出部１０１と、角度制御部１０２と、第１選択部１０３と、第２選択部１０４と、ｄ軸電流制御部１０５と、ｑ軸電流制御部１０６と、を備える。また、モータ制御装置１００は、第１ベクトル回転部１０７と、第２ベクトル回転部１０８と、第３選択部１０９と、角度推定部１１０と、制御方法選択部１１１と、を備える。これらの機能構成は、プロセッサがプログラムを実行することにより実現される。
【００２９】
角度指令値算出部１０１は、外部から基準パルスｒｅｆｃｌｋを入力される。角度指令値算出部１０１は、基準パルスｒｅｆｃｌｋを積算することにより、角度指令値θｔｇｔを算出し、出力する。角度指令値θｔｇｔは、回転子１１の角度の目標値である。角度指令値算出部１０１が出力した角度指令値θｔｇｔは、角度制御部１０２と、第３選択部１０９と、に入力される。
【００３０】
また、角度指令値算出部１０１は、基準パルスｒｅｆｃｌｋの周波数を計測することにより、速度指令値ωｔｇｔを算出し、出力する。速度指令値ωｔｇｔは、回転子１１の速度（角速度）の目標値である。角度指令値算出部１０１が出力した速度指令値ωｔｇｔは、制御方法選択部１１１に入力される。
【００３１】
図３は、角度指令値算出部１０１の一例を示す図である。図３の角度指令値算出部１０１は、カウンタ１０１１と、周期計測部１０１２と、逆数算出部１０１３と、を備える。
【００３２】
カウンタ１０１１は、基準パルスｒｅｆｃｌｋを入力される。カウンタ１０１１は、基準パルスｒｅｆｃｌｋをカウントし、カウント値を角度指令値θｔｇｔとして出力する。基準パルスｒｅｆｃｌｋのカウントは、基準パルスｒｅｆｃｌｋの積算に相当する。
【００３３】
周期計測部１０１２は、基準パルスｒｅｆｃｌｋを入力される。周期計測部１０１２は、基準パルスｒｅｆｃｌｋの周期ｔωを計測し、出力する。周期ｔωは、基準パルスｒｅｆｃｌｋより十分高速な固定周波数のクロックで、基準パルスｒｅｆｃｌｋのエッジ間隔を計測することにより、計測できる。
【００３４】
逆数算出部１０１３は、周期ｔωを入力され、周期ｔωの逆数を算出し、得られた値に係数Ｋを乗算した値を、速度指令値ωｔｇｔとして出力する。係数Ｋは、周期ｔωの逆数を、基準パルスｒｅｆｃｌｋの周波数に相当する値に変換するための係数である。
【００３５】
なお、角度指令値算出部１０１は、角度指令値θｔｇｔを微分することにより、速度指令値ωｔｇｔを算出してもよい。この場合、角度指令値算出部１０１は、一定時間ごとに角度指令値θｔｇｔの差分を計算することにより、速度指令値ωｔｇｔを算出できる。角度指令値θｔｇｔの差分が、速度指令値ωｔｇｔに相当する。
【００３６】
角度制御部１０２は、角度指令値θｔｇｔと、角度推定値θｅｓｔと、速度指令値ωｅｓｔと、を入力される。角度推定値θｅｓｔは、回転子１１の角度の推定値である。速度指令値ωｅｓｔは、回転子１１の速度（角速度）の推定値である。角度推定値θｅｓｔ及び速度指令値ωｅｓｔについて、詳しくは後述する。
【００３７】
角度制御部１０２は、角度推定値θｅｓｔが角度指令値θｔｇｔに一致するように、電流指令値ｉｔｇｔを算出し、出力する。電流指令値ｉｔｇｔ（第２の目標値）は、モータ１を閉ループ制御する際のｑ軸電流指令値ｉｑｔ（第２の電流指令値）の目標値である。ｑ軸電流指令値ｉｑｔは、駆動電流Ｉのｑ軸成分（トルク成分）である。
【００３８】
図４は、角度制御部１０２の一例を示す図である。図４の角度制御部１０２は、比較部１０２１と、増幅部１０２２と、比較部１０２３と、増幅部１０２４，１０２５と、積分部１０２６と、加算部１０２７と、を備える。
【００３９】
比較部１０２１は、角度指令値θｔｇｔと、角度推定値θｅｓｔと、を入力される。角度指令値θｔｇｔは、角度制御の目標値に相当する。また、角度推定値θｅｓｔは、角度制御の検出角度値に相当する。比較部１０２１は、角度指令値θｔｇｔと角度指令値θｅｓｔとの差を算出し、出力する。比較部１０２１の出力値は、増幅部１０２２に入力される。
【００４０】
増幅部１０２２は、比較部１０２１の出力値を、所定のゲインＧ１で増幅し、出力する。増幅部１０２２の出力値は、角度制御の操作量に相当する。以下、増幅部１０２２の出力値を操作量Ｃ（＝Ｇ１×（θｔｇｔ−θｅｓｔ））と称する。操作量Ｃは、比較部１０２３に入力される。
【００４１】
比較部１０２３は、操作量Ｃと、速度推定値ωｅｓｔと、を入力される。比較部１０２３は、操作量Ｃと速度推定値ωｅｓｔとの差を算出し、出力する。速度推定値ωｅｓｔは、速度制御の検出角度値に相当する。また、操作量Ｃは、速度制御の目標値に相当する。比較部１０２３の出力値は、増幅部１０２４に入力される。
【００４２】
増幅部１０２４は、比較部１０２３の出力値を、所定のゲインＧ２で増幅し、出力する。増幅部１０２４の出力値は、増幅部１０２５と、加算部１０２７と、に入力される。
【００４３】
増幅部１０２５は、増幅部１０２４の出力値を、所定のゲインＧ３で増幅し、出力する。増幅部１０２５の出力値は、積分部１０２６に入力される。
【００４４】
積分部１０２６は、増幅部１０２５の出力値を積分し、出力する。積分部１０２６の出力値は、加算部１０５５に入力される。
【００４５】
加算部１０２７は、増幅部１０２４の出力値と、積分部１０２６の出力値と、を加算して、電流指令値ｉｔｇｔとして出力する。電流指令値ｉｔｇｔは、角度制御に含まれる速度制御の操作量に相当する。電流指令値ｉｔｇｔは、以下の式で表される。
【００４６】
【数１】
2018014875.tif 000003
【００４７】
図４の角度制御部１０２によれば、角度制御ループの内側に速度制御ループ（比較部１０２３及び増幅部１０２４）が含まれる。この速度制御ループは、位相進み要素となるため、図４の構成により、角度制御部１０２の位相余裕を確保することができる。また、図４の角度制御部１０２は、微分要素を含まないため、ノイズの影響を受けにくく、電流指令値ｉｔｇｔを安定して出力することができる。
【００４８】
なお、角度制御部１０２は、速度制御ループを含まない構成も可能である。この場合、図４の構成から、比較部１０２３及び増幅部１０２４を除去し、増幅部１０２２の出力値を、増幅部１０２５と、加算部１０２７と、に入力すればよい。
【００４９】
第１選択部１０３は、指令値出力部の一例である。第１選択部１０３は、電流値０と、電流値ｉｒｅｆと、を入力される。電流値ｉｒｅｆ（第１の目標値）は、開ループ制御の際のｄ軸電流指令値ｉｄｔ（第１の電流指令値）の目標値として予め設定された値である。ｄ軸電流指令値ｉｄｔは、駆動電流Ｉのｄ軸成分（磁束成分）である。
【００５０】
また、第１選択部１０３は、選択信号ｓｅｌを入力される。選択信号ｓｅｌは、制御方法選択部１１１による制御方法の選択結果を示す０又は１の信号である。以下では、制御方法選択部１１１は、開ループ制御を選択した場合、選択信号ｓｅｌとして０を出力し、閉ループ制御を選択した場合、選択信号ｓｅｌとして１を出力するものとする。選択信号ｓｅｌについて、詳しくは後述する。
【００５１】
第１選択部１０３は、選択信号ｓｅｌに従って、電流値０又は電流値ｉｒｅｆをｄ軸電流指令値ｉｄｔとして選択し、出力する。第１選択部１０３が出力したｄ軸電流指令値ｉｄｔは、ｄ軸電流制御部１０５に入力される。
【００５２】
第１選択部１０３は、選択信号ｓｅｌが０の場合（制御方法が開ループ制御の場合）、ｄ軸電流指令値ｉｄｔとして電流値ｉｒｅｆを選択し、選択信号ｓｅｌが１の場合（制御方法が閉ループ制御の場合）、ｄ軸電流指令値ｉｄｔとして電流値０を選択する。
【００５３】
第２選択部１０４は、指令値出力部の一例である。第２選択部１０４は、電流指令値ｉｔｇｔと、電流値０と、を入力される。また、第２選択部１０４は、選択信号ｓｅｌを入力される。第２選択部１０４は、選択信号ｓｅｌに応じた電流値を、ｑ軸電流指令値ｉｑｔとして選択し、出力する。第２選択部１０４が出力したｑ軸電流指令値ｉｑｔは、ｑ軸電流制御部１０６に入力される。
【００５４】
第２選択部１０４は、選択信号ｓｅｌが０の場合（制御方法が開ループ制御の場合）、ｑ軸電流指令値ｉｑｔとして電流値０を選択し、選択信号ｓｅｌが１の場合（制御方法が閉ループ制御の場合）、ｑ軸電流指令値ｉｑｔとして電流指令値ｉｔｇｔを選択する。
【００５５】
ｄ軸電流制御部１０５は、ｄ軸電流値ｉｄと、ｄ軸電流指令値ｉｄｔと、を入力される。ｄ軸電流値ｉｄは、駆動電流Ｉの検出値のｄ軸成分である。ｄ軸電流制御部１０５は、ＰＩ（Proportional Integral）制御などを利用して、ｄ軸電流値ｉｄがｄ軸電流指令値ｉｄｔに一致するように、ｄ軸電圧指令値Ｖｄを制御し、得られたｄ軸電圧指令値Ｖｄを出力する。ｄ軸電圧指令値Ｖｄは、電圧指令値のｄ軸成分である。ｄ軸電流制御部１０５が出力したｄ軸電圧指令値Ｖｄは、第１ベクトル回転部１０７に入力される。
【００５６】
図５は、ｄ軸電流制御部１０５の一例を示す図である。図５のｄ軸電流制御部１０５は、比較部１０５１と、増幅部１０５２，１０５３と、積分部１０５４と、加算部１０５５と、を備える。
【００５７】
比較部１０５１は、ｄ軸電流指令値ｉｄｔと、ｄ軸電流値ｉｄと、を入力される。比較部１０５１は、ｄ軸電流指令値ｉｄｔとｄ軸電流値ｉｄとの差を算出し、出力する。比較部１０５１の出力値は、増幅部１０５２に入力される。
【００５８】
増幅部１０５２は、比較部１０５１の出力値を、所定のゲインＧ４で増幅し、出力する。増幅部１０５２の出力値は、増幅部１０５３及び加算部１０５５に入力される。
【００５９】
増幅部１０５３は、増幅部１０５２の出力値を、所定のゲインＧ５で増幅し、出力する。増幅部１０５３の出力値は、積分部１０５４に入力される。
【００６０】
積分部１０５４は、増幅部１０５３の出力値を積分し、出力する。積分部１０５４の出力値は、加算部１０５５に入力される。
【００６１】
加算部１０５５は、増幅部１０５２の出力値と、積分部１０５４の出力値と、を加算して、ｄ軸電圧指令値Ｖｄとして出力する。このｄ軸電圧指令値Ｖｄは、以下の式で表される。
【００６２】
【数２】
2018014875.tif 000004
【００６３】
ｑ軸電流制御部１０６は、ｑ軸電流値ｉｑと、ｑ軸電流指令値ｉｑｔと、を入力される。ｑ軸電流値ｉｑは、駆動電流Ｉの検出値のｑ軸成分である。ｑ軸電流制御部１０６は、ＰＩ制御などを利用して、ｑ軸電流値ｉｑがｑ軸電流指令値ｉｑｔに一致するように、ｑ軸電圧指令値Ｖｑを制御し、得られたｑ軸電圧指令値Ｖｑを出力する。ｑ軸電圧指令値Ｖｑは、電圧指令値のｑ軸成分である。ｑ軸電流制御部１０６が出力したｑ軸電圧指令値Ｖｑは、第１ベクトル回転部１０７に入力される。
【００６４】
図６は、ｑ軸電流制御部１０６の一例を示す図である。図６のｑ軸電流制御部１０６は、比較部１０６１と、増幅部１０６２，１０６３と、積分部１０６４と、加算部１０６５と、を備える。これらの各構成は、図５のｄ軸電流制御部１０５の各構成と同様である。増幅部１０６２，１０６３のゲインをそれぞれＧ６，Ｇ７とすると、ｑ軸電圧指令値Ｖｑは、以下の式で表される。
【００６５】
【数３】
2018014875.tif 000005
【００６６】
第１ベクトル回転部１０７は、ｄ軸電圧指令値Ｖｄと、ｑ軸電圧指令値Ｖｑと、駆動角ｄｒｖと、を入力される。駆動角ｄｒｖは、ｄｑ座標系をＡＢ座標系に座標変換するための位相角である。ｄｑ座標系は、磁束成分に対応するｄ軸と、トルク成分に対応するｑ軸と、からなる回転座標系である。ＡＢ座標系は、Ａ相に対応するａ軸と、Ｂ相に対応するｂ軸と、からなる固定座標系である。回転子１１の角度は、ａ軸に対するｄ軸の角度に相当する。駆動角ｄｒｖは、第３選択部１０９から入力される。駆動角ｄｒｖについて、詳しくは後述する。
【００６７】
第１ベクトル回転部１０７は、ｄｑ座標系をＡＢ座標系に座標変換することにより、ｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｑから、ａ軸電圧指令値Ｖａ及びｂ軸電圧指令値Ｖｂを算出し、出力する。第１ベクトル回転部１０７が出力したａ軸電圧指令値Ｖａ及びｂ軸電圧指令値Ｖｂは、インバータ２と、角度推定部１１０と、に入力される。
【００６８】
具体的には、第１ベクトル回転部１０７は、ｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｑからなるベクトル電圧を、駆動角ｄｒｖだけ回転させることにより、ａ軸電圧指令値Ｖａ及びｂ軸電圧指令値Ｖｂを算出する。ａ軸電圧指令値Ｖａ及びｂ軸電圧指令値Ｖｂは、以下の式で表される。
【００６９】
【数４】
2018014875.tif 000006
【００７０】
式（４）及び式（５）は、以下の行列式で表される。
【００７１】
【数５】
2018014875.tif 000007
【００７２】
図７及び図８は、第１ベクトル回転部１０７の動作を説明するグラフである。以下では、閉ループ制御の場合を例に説明する。図７及び図８において、破線はｄ軸電圧指令値Ｖｄ、一点鎖線はｑ軸電圧指令値Ｖｑ、点線はａ軸電圧指令値Ｖａ、実線はｂ軸電圧指令値Ｖｂを示す。縦軸は電圧レベル［ａ．ｕ．］であり、横軸は回転子１１の実角度θｍ［ｄｅｇｒｅｅ］である。
【００７３】
図７の例では、Ｖｄ＝０、Ｖｑ＝１である。このとき、ａ軸電圧指令値Ｖａ（＝−ｓｉｎ（θｍ））及びｂ軸電圧指令値Ｖｂ（＝ｃｏｓ（θｍ））は、振幅が１となり、位相が実角度θｍに一致する。これに対して、図８の例では、Ｖｄ＝−０．３４２、Ｖｑ＝０．９４０である。このとき、ａ軸電圧指令値Ｖａ及びｂ軸電圧指令値Ｖｂは、振幅が１となり、位相が実角度θｍに対して約２０度進む。
【００７４】
このように、ｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｑに応じて、ａ軸電圧指令値Ｖａ及びｂ軸電圧指令値Ｖｂの位相が変化する。本実施形態では、モータ１の駆動速度が上昇し、速度ａ軸電流値ｉａ及びｂ軸電流値ｉｂの位相遅れが大きくなると、ａ軸電圧指令値Ｖａ及びｂ軸電圧指令値Ｖｂの位相が進むように、ｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｑが制御される。このため、駆動速度の上昇に伴う電力効率の低下が抑制される。
【００７５】
第２ベクトル回転部１０８は、ａ軸電流値ｉａと、ｂ軸電流値ｉｂと、駆動角ｄｒｖと、を入力される。第２ベクトル回転部１０８は、ＡＢ座標系をｄｑ座標系に座標変換することにより、ａ軸電流値ｉａ及びｂ軸電流値ｉｂから、ｄ軸電流値ｉｄ及びｑ軸電流値ｉｑを算出し、出力する。第２ベクトル回転部１０８が出力したｄ軸電流値ｉｄは、ｄ軸電流制御部１０５に入力される。また、第２ベクトル回転部１０８が出力したｑ軸電流値ｉｑは、ｑ軸電流制御部１０６に入力される。
【００７６】
具体的には、第２ベクトル回転部１０８は、ａ軸電流値ｉａ及びｂ軸電流値ｉｂからなるベクトル電流を、駆動角ｄｒｖだけ回転させることにより、ｄ軸電流値ｉｄ及びｑ軸電流値ｉｑを算出する。ｄ軸電流値ｉｄ及びｑ軸電流値ｉｑは、以下の式で表される。
【００７７】
【数６】
2018014875.tif 000008
【００７８】
式（７）及び式（８）は、以下の行列式で表される。
【００７９】
【数７】
2018014875.tif 000009
【００８０】
図９は、第２ベクトル回転部１０８の動作を説明するグラフである。以下では、閉ループ制御の場合を例に説明する。図９において、破線はａ軸電流値ｉａ、一点鎖線はｂ軸電流値ｉｂ、点線はｄ軸電流値ｉｄ、実線はｑ軸電流値ｉｑを示す。縦軸は電流レベル［ａ．ｕ．］であり、横軸は回転子１１の実角度θｍ［ｄｅｇｒｅｅ］である。
【００８１】
図９の例では、ａ軸電流値ｉａ及びｂ軸電流値ｉｂは、実角度θｍに対して位相が約３０度遅れている。このとき、ｉｄ＝０．５、ｉｑ＝０．８６６となる。これに対して、ａ軸電流値ｉａ及びｂ軸電流値ｉｂの位相が実角度θｍに一致している場合、ｉｄ＝０、ｉｑ＝１となる。
【００８２】
このように、ａ軸電流値ｉａ及びｂ軸電流値ｉｂの位相に応じて、ｄ軸電流値ｉｄ及びｑ軸電流値ｉｑが変化する。逆に言うと、ｄ軸電流値ｉｄ及びｑ軸電流値ｉｑが所定の値となるように電流制御することにより、ａ軸電流値ｉａ及びｂ軸電流値ｉｂの位相を所望の位相に制御することができる。
【００８３】
例えば、ｉｄ＝０となるように電流制御することにより、ａ軸電流値ｉａ及びｂ軸電流値ｉｂの位相を実角度θｍに一致させることができる。また、ｉｄが０以外の所定の値になるように電流制御することにより、ａ軸電流値ｉａ及びｂ軸電流値ｉｂの位相を実角度θｍから所定値ずらし、リラクタンストルクを向上させることも可能である。
【００８４】
第３選択部１０９は、角度指令値θｔｇｔと、角度推定値θｅｓｔと、選択信号ｓｅｌと、を入力される。第３選択部１０９は、選択信号ｓｅｌに従って、角度指令値θｔｇｔ又は角度推定値θｅｓｔを駆動角θｄｒｖとして選択し、出力する。以下では、第３選択部１０９は、選択信号ｓｅｌが０の場合、駆動角θｄｒｖとして角度指令値θｔｇｔを選択し、選択信号ｓｅｌが１の場合、駆動角θｄｒｖとして角度推定値θｅｓｔを選択するものとする。
【００８５】
角度推定部１１０は、ａ軸電圧指令値Ｖａと、ｂ軸電圧指令値Ｖｂと、ａ軸電流値ｉａと、ｂ軸電流値ｉｂと、を入力される。角度推定部１１０は、これらに基づいて、回転子１１の角度及び速度を推定する。すなわち、角度推定部１１０は、角度推定値θｅｓｔ及び速度推定値ωｅｓｔを算出し、出力する。
【００８６】
図１０は、角度推定部１１０の一例を示す図である。図１０の角度推定部１１０は、回転子１１の回転により生じる誘起電圧を利用して、実角度θｍを推定する。図１０の角度推定部１１０は、第３ベクトル回転部１１０１と、第４ベクトル回転部１１０２と、推定誤差算出部１１０３と、増幅部１１０４，１１０５と、積分部１１０６と、加算部１１０７と、積分部１１０８と、を備える。
【００８７】
第３ベクトル回転部１１０１は、ａ軸電圧指令値Ｖａ及びｂ軸電圧指令値Ｖｂを入力される。第３ベクトル回転部１１０１は、ａ軸電圧指令値Ｖａ及びｂ軸電圧指令値Ｖｂからなるベクトル電圧を、角度推定値θｅｓｔだけ回転させることにより、ｄ軸電圧指令値Ｖｄｅ及びｑ軸電圧指令値Ｖｑｅを算出し、出力する。第３ベクトル回転部１１０１が出力したｄ軸電圧指令値Ｖｄｅ及びｑ軸電圧指令値Ｖｑｅは、推定誤差算出部１１０３に入力される。ｄ軸電圧指令値Ｖｄｅ及びｑ軸電圧指令値Ｖｑｅは、以下の式で表される。
【００８８】
【数８】
2018014875.tif 000010
【００８９】
式（１０）及び式（１１）は、以下の行列式で表される。
【００９０】
【数９】
2018014875.tif 000011
【００９１】
第４ベクトル回転部１１０２は、ａ軸電流値ｉａ及びｂ軸電流値ｉｂを入力される。第４ベクトル回転部１１０２は、ａ軸電流値ｉａ及びｂ軸電流値ｉｂからなるベクトル電流を、角度推定値θｅｓｔだけ回転させることにより、ｄ軸電流値ｉｄｅ及びｑ軸電流値ｉｑｅを算出し、出力する。第４ベクトル回転部１１０２が出力したｄ軸電流値ｉｄｅ及びｑ軸電流値ｉｑｅは、推定誤差算出部１１０３に入力される。ｄ軸電流値ｉｄｅ及びｑ軸電流値ｉｑｅは、以下の式で表される。
【００９２】
【数１０】
2018014875.tif 000012
【００９３】
式（１３）及び式（１４）は、以下の行列式で表される。
【００９４】
【数１１】
2018014875.tif 000013
【００９５】
推定誤差算出部１１０３は、ｄ軸電圧指令値Ｖｄｅ及びｑ軸電圧指令値Ｖｑｅと、ｄ軸電流値ｉｄｅ及びｑ軸電流値ｉｑｅと、を入力される。推定誤差算出部１１０３は、これらに基づいて、推定誤差Ｘｅｒｒを算出し、出力する。推定誤差Ｘｅｒｒは、回転子１１の実角度θｍと、角度推定値θｅｓｔと、の誤差である角度誤差θｅｒｒ（＝θｍ−θｅｓｔ）に比例するパラメータである。推定誤差Ｘｅｒｒは、例えば、以下の式により算出される。
【００９６】
【数１２】
2018014875.tif 000014
【００９７】
式（１６）において、Ｋｅは逆起電圧定数（回転子１１の速度に比例してコイルに生じる逆起電圧の比率）、Ｒはコイル抵抗、Ｌはコイルインダクタンスである。Ｋｅ，Ｒ，Ｌの値は、モータ１の仕様により決定される。また、回転子１１の速度ωとして、速度推定値ωｅｓｔが利用される。
【００９８】
式（１６）により算出される推定誤差Ｘｅｒｒは、角度誤差θｅｒｒを位相とする正弦波となる（Ｘｅｒｒ＝ｓｉｎ（θｅｒｒ））。したがって、角度誤差θｅｒｒが十分に小さい場合、推定誤差Ｘｅｒｒは角度誤差θｅｒｒに比例するものとみなされる。推定誤差算出部１１０３が出力した推定誤差Ｘｅｒｒは、増幅部１１０４に入力される。
【００９９】
増幅部１１０４は、推定誤差Ｘｅｒｒを所定のゲインＧ８で増幅し、出力する。増幅部１１０４の出力値は、増幅部１１０５及び加算部１１０７に入力される。
【０１００】
増幅部１１０５は、増幅部１１０４の出力値を、所定のゲインＧ９で増幅し、出力する。増幅部１１０５の出力値は、積分部１１０６に入力される。
【０１０１】
積分部１１０６は、増幅部１１０５の出力値を積分し、出力する。積分部１１０６の出力値は、加算部１１０７に入力される。
【０１０２】
加算部１１０７は、増幅部１１０４の出力値と、積分部１１０６の出力値と、を加算して、速度推定値ωｅｓｔとして出力する。加算部１１０７が出力した速度推定値ωｅｓｔは、角度制御部１０２と、積分部１１０８と、推定誤差算出部１１０３と、に入力される。推定誤差算出部１１０３は、この速度推定値ωｅｓｔを利用して、推定誤差Ｘｅｒｒを算出する。
【０１０３】
積分部１１０８は、速度推定値ωｅｓｔを積分し、角度推定値θｅｓｔとして出力する。積分部１１０８が出力した角度推定値θｅｓｔは、角度制御部１０２と、第３選択部１０９と、第３ベクトル回転部１１０１と、第４ベクトル回転部１１０２と、に入力される。この角度推定値θｅｓｔを利用して、第３ベクトル回転部１１０１はｄ軸電圧指令値Ｖｄｅ及びｑ軸電圧指令値Ｖｑｅを算出し、第４ベクトル回転部１１０２は、ｄ軸電流値ｉｄｅ及びｑ軸電流値ｉｑｅを算出する。
【０１０４】
このように、角度推定値θｅｓｔは、第３ベクトル回転部１１０１及び第４ベクトル回転部１１０２にフィードバックされる。これにより、角度誤差θｅｒｒ（推定誤差Ｘｅｒｒ）が０に追従する、すなわち、角度推定値θｅｒｒが実角度θｍに追従する、位相同期ループ（ＰＬＬ:Phase Locked Loop）が構成される。結果として、角度推定値θｅｓｔを精度よく推定することができる。
【０１０５】
なお、推定誤差算出部１１０３は、式（１６）の計算を行うために、回転子１１の速度ωとして、速度指令値ωｔｇｔを利用してもよいし、速度推定値ωｅｓｔ及び速度指令値ωｔｇｔの両方を利用してもよい。推定誤差算出部１１０３は、モータ１の低速駆動時（起動時や停止時など）に、速度指令値ωｔｇｔを利用し、他の期間に速度推定値ωｅｓｔを利用するのが好ましい。これは、モータ１の低速駆動時には、誘起電圧が小さいため、推定誤差Ｘｅｒｒが不安定になり、結果として、速度推定値ωｅｓｔの推定精度が低下するためである。このような低速駆動時には、速度指令値ωｔｇｔを利用することにより、速度推定値ωｅｓｔの推定精度を向上させることができる。
【０１０６】
また、本実施形態において、角度推定部１１０は、開ループ制御中に動作してもよい。これにより、開ループ制御中のモータ制御装置１００の消費電力を低減できる。また、角度推定部１１０は、開ループ制御中に動作してもよい。これにより、開ループ制御中であっても、回転子１１の速度推定値ωｅｓｔを、モータ１の異常動作の検出などに利用することができる。
【０１０７】
制御方法選択部１１１は、速度指令値ωｔｇｔを入力される。制御方法選択部１１１は、速度指令値ωｔｇｔに基づいて、制御方法を選択し、選択結果を示す選択信号ｓｅｌを出力する。上述の通り、制御方法選択部１１１は、開ループ制御を選択した場合、選択信号ｓｅｌとして０を出力し、閉ループ制御を選択した場合、選択信号ｓｅｌとして１を出力する。
【０１０８】
図１１は、本実施形態における制御方法の選択方法を説明する状態遷移図である。図１１の各ノードは、モータ１の制御方法選択部１１１による制御方法の選択状態を示している。以下、ノードＮ１，Ｎ２，Ｎ３の選択状態を、それぞれ状態ＯＰ１（ＯＰＥＮ１），ＯＰ２（ＯＰＥＮ２），ＣＬ（ＣＬＯＳＥＤ）という。
【０１０９】
状態ＯＰ１は、制御方法選択部１１１が開ループ制御を選択し、選択信号ｓｅｌとして０を出力している状態である。状態ＯＰ１において、速度指令値ωｔｇｔが所定の速度閾値ω１以上になると、状態ＯＰ１は、状態ＯＰ２に遷移する。
【０１１０】
状態ＯＰ２は、制御方法選択部１１１が開ループ制御を選択し、選択信号ｓｅｌとして０を出力している状態である。状態ＯＰ２において、速度指令値ωｔｇｔが所定の速度閾値ω２未満になると、状態ＯＰ２は、状態ＯＰ１に遷移する。また、状態ＯＰ２において、状態ＯＰ２の継続期間ｔが所定期間Ｔ１以上になると、状態ＯＰ２は、状態ＣＬに遷移する。
【０１１１】
状態ＣＬは、制御方法選択部１１１が閉ループ制御を選択し、選択信号ｓｅｌとして１を出力している状態である。状態ＣＬにおいて、速度指令値ωｔｇｔが所定の速度閾値ω２未満になると、状態ＣＬは、状態ＯＰ１に遷移する。
【０１１２】
なお、速度閾値ω１，ω２は、予め設定された速度指令値ωｔｇｔの閾値である。速度閾値ω１は、モータ１を加速した際に、安定して閉ループ制御を実行できる速度指令値ωｔｇｔの下限値として、実験やシミュレーションなどにより設定される。速度閾値ω２は、モータ１を減速した際に、安定して閉ループ制御を実行できる速度指令値ωｔｇｔの下限値として、実験やシミュレーションなどにより設定される。安定した閉ループ制御とは、トルク振動が小さく、同期が確立した閉ループ制御のことである。
【０１１３】
図１２は、本実施形態におけるモータ駆動システムの動作の一例を示すフローチャートである。図１２は、各制御タイミングにおける動作を示している。
【０１１４】
制御タイミングが到来すると、まず、角度指令値算出部１０１が、基準パルスｒｅｆｃｌｋの周波数を計測し、速度指令値ωｔｇｔを算出する。速度指令値ωｔｇｔは、制御方法選択部１１１に入力される。また、角度指令値算出部１０１は、前回の制御タイミングから今回の制御タイミングまでの基準パルスｒｅｆｃｌｋを積算し、角度指令値θｔｇｔを算出する（ステップＳ１０１）。また、角度指令値θｔｇｔは、角度制御部１０２及び第３選択部１０９に入力される。
【０１１５】
次に、制御方法選択部１１１が、速度指令値ωｔｇｔが速度閾値ω２未満であるか判定する（ステップＳ１０２）。速度指令値ωｔｇｔが速度閾値ω２未満である場合（ステップＳ１０２のＹＥＳ）、制御方法選択部１１１は、制御方法として開ループ制御を選択し、選択信号ｓｅｌとして０を出力する（ステップＳ１０３）。このとき、選択状態は、状態ＯＰ１に相当する。選択信号ｓｅｌは、第１選択部１０３と、第２選択部１０４と、第３選択部１０９に入力される。
【０１１６】
選択信号ｓｅｌとして０を入力されると、第１選択部１０３は、ｄ軸電流指令値ｉｄｔとして電流値ｉｒｅｆを出力し、第２選択部１０４はｑ軸電流指令値ｉｑｔとして０を出力する。また、選択信号ｓｅｌとして０を入力されると、第３選択部１０９は、駆動角θｄｒｖとして角度指令値θｔｇｔを出力する（ステップＳ１０４）。ｄ軸電流指令値ｉｄｔは、ｄ軸電流制御部１０５に入力される。ｑ軸電流指令値ｉｑｔは、ｑ軸電流制御部１０６に入力される。駆動角θｄｒｖは、第１ベクトル回転部１０７及び第２ベクトル回転部１０８に入力される。
【０１１７】
なお、開ループ制御が選択された場合、角度制御部１０２は、動作してもよいし、しなくてもよい。角度制御部１０２に選択信号ｓｅｌを入力することにより、開ループ制御が選択された場合に、角度制御部１０２の動作を停止させることができる。
【０１１８】
続いて、ｄ軸電流制御部１０５が、ｄ軸電流指令値ｉｄｔ（＝ｉｒｅｆ）と、前回の制御タイミングに入力されたｄ軸電流値ｉｄと、に基づいて、ｄ軸電圧指令値Ｖｄを算出する。また、ｑ軸電流制御部１０６が、ｑ軸電流指令値ｉｑｔ（＝０）と、前回の制御タイミングに入力されたｑ軸電流値ｉｑと、に基づいて、ｑ軸電圧指令値Ｖｑを算出する（ステップＳ１０５）。ｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｑは、第１ベクトル回転部１０７に入力される。
【０１１９】
第１ベクトル回転部１０７は、ｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｑからなるベクトル電圧を、駆動角θｄｒｖ（＝θｔｇｔ）だけ回転させることにより、ａ軸電圧指令値Ｖａ及びｂ軸電圧指令値Ｖｂを算出する（ステップＳ１０６）。ａ軸電圧指令値Ｖａ及びｂ軸電圧指令値Ｖｂは、角度推定部１１０及びインバータ２に入力される。
【０１２０】
その後、インバータ２は、ａ軸電圧指令値Ｖａに応じたＡ相駆動電流ＩａをＡ相コイル１２Ａに供給し、ｂ軸電圧指令値Ｖｂに応じたＢ相駆動電流ＩｂをＢ相コイル１２Ｂに供給する（ステップＳ１０７）。これにより、モータ１が駆動される。
【０１２１】
モータ１にＡ相駆動電流Ｉａ及びＢ相駆動電流Ｉｂを供給すると、電流検出器３が、ａ軸電流値ｉａ及びｂ軸電流値ｉｂをそれぞれ検出する（ステップＳ１０８）。ａ軸電流値ｉａ及びｂ軸電流値ｉｂは、第２ベクトル回転部１０８及び角度推定部１１０に入力される。
【０１２２】
第２ベクトル回転部１０８は、ａ軸電流値ｉａ及びｂ軸電流値ｉｂからなるベクトル電流を、駆動角θｄｒｖ（＝θｔｇｔ）だけ回転させることにより、ｄ軸電流値Ｉｄ及びｑ軸電流値ｉｑを算出する（ステップＳ１０９）。ｄ軸電流値Ｉｄ及びｑ軸電流値ｉｑは、ｄ軸電流制御部１０５及びｑ軸電流制御部１０６にそれぞれ入力される。
【０１２３】
また、角度推定部１１０が、ａ軸電圧指令値Ｖａ及びｂ軸電圧指令値Ｖｂと、ａ軸電流値ｉａ及びｂ軸電流値ｉｂと、に基づいて、角度推定値θｅｓｔ及び速度推定値ωｅｓｔを算出する（ステップＳ１１０）。
【０１２４】
なお、開ループ制御が選択された場合、角度推定部１１０は、動作してもよいし、しなくてもよい。角度推定部１１０に選択信号ｓｅｌを入力することにより、開ループ制御が選択された場合に、角度推定部１１０の動作を停止させることができる。
【０１２５】
モータ１の駆動を終了する場合（ステップＳ１１１のＹＥＳ）、処理は終了する。一方、モータ１の駆動を継続する場合（ステップＳ１１１のＮＯ）、処理はステップＳ１０１に戻る。
【０１２６】
これに対して、速度指令値ωｔｇｔが速度閾値ω２以上である場合（ステップＳ１０２のＮＯ）、制御方法選択部１１１は、速度指令値ωｔｇｔが速度閾値ω１以上であるか判定する（ステップＳ１１２）。
【０１２７】
速度指令値ωｔｇｔが速度閾値ω１未満である場合（ステップＳ１１２のＮＯ）、上述のステップＳ１０２〜ステップＳ１１１の処理が実行される。
【０１２８】
一方、速度指令値ωｔｇｔが速度閾値ω１以上である場合（ステップＳ１１２のＹＥＳ）、制御方法選択部１１１は、速度指令値ωｔｇｔが速度閾値ω１以上の継続期間ｔが所定期間Ｔ１以上であるか判定する（ステップＳ１１３）。
【０１２９】
継続期間ｔが所定期間Ｔ１未満である場合（ステップＳ１１３のＮＯ）、制御方法選択部１１１は、制御方法として開ループ制御を選択し、選択信号ｓｅｌとして０を出力する（ステップＳ１１４）。選択信号ｓｅｌは、第１選択部１０３と、第２選択部１０４と、第３選択部１０９に入力される。このとき、選択状態は、状態ＯＰ２に相当する。以降、上述のステップＳ１０４〜ステップＳ１１１の処理が実行される。
【０１３０】
これに対して、継続期間ｔが所定期間Ｔ１以上である場合（ステップＳ１１３のＹＥＳ）、制御方法選択部１１１は、制御方法として閉ループ制御を選択し、選択信号ｓｅｌとして１を出力する（ステップＳ１１５）。選択信号ｓｅｌは、第１選択部１０３と、第２選択部１０４と、第３選択部１０９に入力される。このとき、選択状態は、状態ＣＬに相当する。
【０１３１】
閉ループ制御が選択された場合、角度制御部１０２が、角度指令値θｔｇｔと、前回の制御タイミングに入力された角度推定値θｅｓｔ及び速度推定値ωｅｓｔと、に基づいて、電流指令値ｉｔｇｔを算出する（ステップＳ１１６）。電流指令値ｉｔｇｔは、第２選択部１０４に入力される。
【０１３２】
選択信号ｓｅｌとして１と入力されると、第１選択部１０３は、ｄ軸電流指令値ｉｄｔとして電流値０を出力し、第２選択部１０４はｑ軸電流指令値ｉｑｔとして電流指令値ｉｔｇｔを出力する。また、選択信号ｓｅｌとして１と入力されると、第３選択部１０９は、駆動角θｄｒｖとして角度指令値θｅｓｔを出力する（ステップＳ１１７）。ｄ軸電流指令値ｉｄｔは、ｄ軸電流制御部１０５に入力される。ｑ軸電流指令値ｉｑｔは、ｑ軸電流制御部１０６に入力される。駆動角θｄｒｖは、第１ベクトル回転部１０７及び第２ベクトル回転部１０８に入力される。以降、上述のステップＳ１０５〜Ｓ１１１の処理が実行される。なお、閉ループ制御の場合、駆動角θｄｒｖとして、角度推定値θｅｓｔが利用される。
【０１３３】
以上まとめると、本実施形態によれば、ｓｅｌ＝０のとき、ｉｄｔ＝ｉｒｅｆ、ｉｑｔ＝０、θｄｒｖ＝θｔｇｔとなる。したがって、ｓｅｌ＝０のとき、ａ軸電流値ｉａ及びｂ軸電流値ｉｂは、以下のように制御される。
【０１３４】
【数１３】
2018014875.tif 000015
【０１３５】
式（１７）及び式（１８）からわかるように、ａ軸電流値ｉａ及びｂ軸電流値ｉｂは、位相が角度指令値θｔｇｔに同期し、振幅が一定値ｉｒｅｆとなるように制御される。すなわち、ａ軸電流値ｉａ及びｂ軸電流値ｉｂが回転子１１の角度（位置）とは無関係に制御される開ループ制御が実現されている。
【０１３６】
一方、ｓｅｌ＝１のとき、ｉｄｔ＝０、ｉｑｔ＝ｉｔｇｔ、θｄｒｖ＝θｅｓｔとなる。したがって、ｓｅｌ＝１のとき、ａ軸電流値ｉａ及びｂ軸電流値ｉｂは、以下のように制御される。
【０１３７】
【数１４】
2018014875.tif 000016
【０１３８】
式（１９）及び式（２０）からわかるように、ａ軸電流値ｉａ及びｂ軸電流値ｉｂは、位相が角度推定値θｅｓｔに同期し、振幅が速度推定値ωｅｓｔに応じた電流指令値ｉｔｇｔとなるように制御される。すなわち、ａ軸電流値ｉａ及びｂ軸電流値ｉｂが回転子１１の角度（位置）の推定値に応じて制御される閉ループ制御が実現されている。
【０１３９】
以上説明した通り、本実施形態によれば、モータ１は、開ループ制御と閉ループ制御とを切り替えながら制御される。モータ１は、低速駆動時（状態ＯＰ１，ＯＰ２のとき）に開ループ制御により制御され、高速駆動時（状態ＣＬのとき）に閉ループ制御により制御される。
【０１４０】
低速駆動時に開ループ制御することにより、モータ１の駆動を精度よく制御することができる。すなわち、回転子１１を角度指令値θｔｇｔに追従して回転させることができる。また、モータ１の停止時における回転子１１の角度（位置）を、所定の角度に固定することができる。
【０１４１】
また、高速駆動時に閉ループ制御することにより、モータ１の駆動を精度よく制御することができる。すなわち、回転子１１を角度推定値θｅｓｔに追従して回転させることができる。
【０１４２】
また、閉ループ制御によれば、ａ軸電流値ｉａ及びｂ軸電流値ｉｂの振幅である電流指令値ｉｔｇｔを速度推定値ωｅｓｔに応じた値とすることができる。これにより、電流指令値ｉｔｇｔを、負荷、速度、外乱などに釣り合う値に制御することができる。すなわち、負荷等が小さい場合、電流指令値ｉｔｇｔを小さくし、負荷等が大きい場合、電流指令値ｉｔｇｔを小さくすることができる。結果として、モータ１の消費電力を低減し、電力効率を向上させることができる。
【０１４３】
また、電流指令値ｉｔｇｔは、負の値をとり得るため、回転子１１に対して、回転子１１の回転方向とは逆方向のトルクを生じさせることができる。このため、モータ１を搭載した電気自動車が坂を下る場合のように、進行方向に対する逆方向のトルクを発生させることが要求される場合であっても、本実施形態により、所望のトルクを発生させることができる。
【０１４４】
また、本実施形態に係るモータ制御装置１００は、従来のステッピングモータの制御装置と同様に、基準パルスｒｅｆｃｌｋに基づいてモータ１を制御するため、従来の制御装置と互換性を有する。この結果、モータ制御装置１００の導入に伴う上位システムの設計変更が不要となり、導入に関するコストを低減し、納期を短縮することができる。
【０１４５】
また、本実施形態によれば、交流電流であるＡ相駆動電流Ｉａ及びＢ相駆動電流Ｉｂは、直流（低周波）のｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｑ（ｄ軸電流指令値ｉｄｔ及びｑ軸電流指令値ｉｑｔ）により制御される。したがって、ａ軸電流値ｉａ及びｂ軸電流値ｉｂを直接制御する場合に比べて、制御帯域を低くすることができる。結果として、制御帯域の低い安価なモータ制御装置１００によりモータ駆動システムを構成することができる。
【０１４６】
また、本実施形態によれば、選択信号ｓｅｌに応じて各構成の入力を切り替えるだけで、同一の構成により、開ループ制御及び閉ループ制御を実行することができる。したがって、モータ制御装置１００の構成を簡易化し、モータ制御装置１００を安価に構成することができる。
【０１４７】
また、本実施形態によれば、ｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｑにより、ａ軸電流値ｉａ及びｂ軸電流値ｉｂの位相を制御できるため、Ａ相駆動電流Ｉａ及びＢ相駆動電流Ｉｂの電圧や電流を、制御方法の切替前後でスムースに接続することができる。これにより、制御方法の切替に起因するモータ１の脱調を抑制することができる。
【０１４８】
図１３は、本実施形態に係るモータ駆動システムのシミュレーション結果を示す図である。
【０１４９】
図１３の上段は、速度指令値ωｔｇｔ（太線）と、速度推定値ωｅｓｔ（細線）と、のグラフを示す。図１３の例では、速度指令値ωｔｇｔは、いわゆる台形速度プロファイルに従い、一定の加速度で加速し、定常速度となり、その後、一定の加速度で減速している。
【０１５０】
図１３の中段は、制御方法選択部１１１による制御方法の選択状態を示す。選択状態は、モータ１の起動後、速度指令値ωｔｇｔが速度閾値ω１未満の間、状態ＯＰ１となっている。選択状態は、速度指令値ωｔｇｔが速度閾値ω１以上になると、状態ＯＰ２に遷移し、状態ＯＰ２に遷移してから所定期間Ｔ１が経過すると、状態ＣＬに遷移し、速度指令値ωｔｇｔが速度閾値ω２未満になると、状態ＯＰ１に遷移している。
【０１５１】
図１３の下段は、選択信号ｓｅｌの値を示す。選択信号ｓｅｌは、モータ１の起動後、速度指令値ωｔｇｔが速度閾値ω１以上になってから所定期間Ｔ１が経過するまで０であり、その後、１となる。選択信号ｓｅｌは、速度指令値ωｔｇｔが速度閾値ω２未満になると、０となる。
【０１５２】
すなわち、モータ１は、起動後、速度指令値ωｔｇｔが速度閾値ω１以上になってから所定期間Ｔ１が経過するまで開ループ制御され、その後、閉ループ制御される。モータ１は、速度指令値ωｔｇｔが速度閾値ω２未満になると、開ループ制御で制御される。
【０１５３】
図１３からわかるように、速度推定値ωｅｓｔは、モータ１の起動後、角度推定の位相同期が確立するまで、不安定な値となり、位相同期の確立後、速度指令値ωｔｇｔとほぼ一致している。また、速度推定値ωｅｓｔは、モータ１の減速中、速度指令値ωｔｇｔが小さくなると、角度推定が困難になるため、再び不安定になっている。
【０１５４】
図１３の例では、速度推定値ωｅｓｔの値が不安定になる期間に開ループ制御が選択されるように、速度閾値ω１，ω２が設定されている。このように速度閾値ω１，ω２を設定することにより、速度推定値ωｅｓｔの値が不安定な期間（閉ループ制御ではモータ１を精度よく制御できない期間）に、モータ１を開ループ制御することができる。また、速度推定値ωｅｓｔが速度指令値ωｔｇｔに追従する期間（閉ループ制御によりモータ１を精度よく制御できる期間）に、モータ１を閉ループ制御することができる。結果として、モータ１の駆動中の全期間にわたって、モータ１を精度よく制御することができる。
【０１５５】
また、図１３の例のように、速度閾値ω１，ω２を定常速度よりも低く設定することにより、モータ１が定常速度の間、モータ１を閉ループ制御することができる。一般に、定常速度でモータ１を駆動する期間は、モータ１の加速期間や減速期間よりも大幅に長い。このため、上記のように速度閾値ω１，ω２を設定することにより、駆動期間のほとんどの期間で、モータ１を閉ループ制御し、モータ１の消費電力を大幅に低減することができる。これに伴い、モータ１の発熱を抑制し、モータ１の小型化や低コスト化も可能となる。
【０１５６】
なお、本実施形態に係るモータ駆動システムの構成は、図１に限られない。例えば、ｄｑ座標系を介さずに、ａ軸電流値ｉａ及びｂ軸電流値ｉｂを直接制御する構成も可能である。この場合、式（１７）〜（２０）を満たすように、ａ軸電流値ｉａ及びｂ軸電流値ｉｂを制御すればよい。
【０１５７】
＜第２実施形態＞
第２実施形態に係るモータ駆動システムについて、図１４及び図１５を参照して説明する。本実施形態では、角度制御部１０２の他の例について説明する。
【０１５８】
図１４は、本実施形態に係るモータ駆動システムの構成を示す図である。図１４に示すように、本実施形態では、角度指令値算出部１０１が出力した速度指令値ωｔｇｔは、角度制御部１０２と、制御方法選択部１１１と、に入力される。他の構成は、第１実施形態（図１）と同様である。
【０１５９】
図１５は、本実施形態に係る角度制御部１０２の一例を示す図である。図１５に示すように、速度指令値ωｔｇｔは、比較部１０２３に入力される。比較部１０２３は、速度推定値ωｅｓｔと速度指令値ωｔｇｔとの差と、操作量Ｃと、を加算して出力する。他の構成は、第１実施形態（図４）と同様である。このような構成により、本実施形態では、電流指令値ｉｔｇｔは、以下の式で表される。
【０１６０】
【数１５】
2018014875.tif 000017
【０１６１】
式（１）及び式（２１）からわかるように、本実施形態における電流指令値ｉｔｇｔは、第１実施形態における電流指令値ｉｔｇｔの右辺第１項に速度指令値ωｔｇｔを加算したものである。本実施形態において、速度指令値ωｔｇｔは、速度制御の目標値として利用される。
【０１６２】
第１実施形態（図４）の角度制御部１０２では、操作量Ｃを目標値として速度制御が行われるため、操作量Ｃは、速度指令値ωｔｇｔに比例した値となる。すなわち、角度指令値θｔｇｔと角度推定値θｅｓｔとの差は、速度指令値ωｔｇｔに比例した値となる。この結果、モータ１が高速駆動するほど、角度指令値θｔｇｔと角度推定値θｅｓｔとの差が大きくなる。
【０１６３】
これに対して、本実施形態（図１５）の角度制御部１０２では、速度指令値ωｔｇｔを目標値として速度制御が行われるため、操作量Ｃは、速度指令値ωｔｇｔとは独立して操作される。結果として、操作量Ｃは、速度指令値ωｔｇｔとは比例した値とはならず、ゼロ近傍の値となる。したがって、本実施形態の角度制御部１０２によれば、角度指令値θｔｇｔに対する追従性を向上させることができる。
【０１６４】
また、第１実施形態の角度制御部１０２では、速度指令値ωｔｇｔの変化に対する応答（速度制御応答）は、角度指令値θｔｇｔの変化に対する応答（角度制御応答）の後に行われる。
【０１６５】
これに対して、本実施形態の角度制御部１０２では、速度指令値ωｔｇｔが変化すると、速度制御応答が瞬時に開始される。したがって、本実施形態の角度制御部１０２によれば、速度指令値ωｔｇｔの変化に対する応答速度を向上させ、速度指令値ωｔｇｔに対する追従性を向上させることができる。
【０１６６】
＜第３実施形態＞
第３実施形態に係るモータ駆動システムについて、図１６〜図１８を参照して説明する。本実施形態では、制御方法選択部１１１による制御方法の選択方法の他の例について説明する。
【０１６７】
図１６は、本実施形態に係るモータ駆動システムの構成を示す図である。図１６に示すように、本実施形態では、角度推定部１１０が出力した速度推定値ωｅｓｔは、角度制御部１０２と、制御方法選択部１１１と、に入力される。他の構成は、第１実施形態（図１）と同様である。
【０１６８】
図１７は、本実施形態における制御方法の選択方法を説明する状態遷移図である。図１７に示すように、本実施形態では、選択状態が遷移する条件（制御方法の選択方法）は以下のとおりである。
【０１６９】
状態ＯＰ１において、速度指令値ωｔｇｔが所定の速度閾値ω１以上になり、かつ、速度指令値ωｔｇｔと速度推定値ωｅｓｔとの差（以下、「速度誤差ωｅｒｒ」という）が誤差閾値ｅ未満になると、状態ＯＰ１は、状態ＯＰ２に遷移する。
【０１７０】
状態ＯＰ２において、速度指令値ωｔｇｔが所定の速度閾値ω２未満になる、又は速度誤差ωｅｒｒが誤差閾値ｅ以上になると、状態ＯＰ２は、状態ＯＰ１に遷移する。また、状態ＯＰ２において、状態ＯＰ２の継続期間ｔが所定期間Ｔ１以上になると、状態ＯＰ２は、状態ＣＬに遷移する。
【０１７１】
状態ＣＬにおいて、速度指令値ωｔｇｔが所定の速度閾値ω２未満になる、又は速度誤差ωｅｒｒが誤差閾値ｅ以上になると、状態ＣＬは、状態ＯＰ１に遷移する。
【０１７２】
なお、誤差閾値ｅは、予め設定された速度誤差ωｅｒｒの閾値である。誤差閾値ｅは、安定して閉ループ制御を実行可能な速度誤差ωｅｒｒの上限値として、実験やシミュレーションなどにより設定される。
【０１７３】
図１８は、本実施形態におけるモータ駆動システムの動作の一例を示すフローチャートである。図１８のフローチャートは、ステップＳ１１８を有する。図１８のステップＳ１０１〜Ｓ１１７は、第１実施形態（図１２）と同様である。
【０１７４】
図１８に示すように、本実施形態では、速度指令値ωｔｇｔが速度閾値ω２以上である場合（ステップＳ１０２のＮＯ）、制御方法選択部１１１は、速度誤差ωｅｒｒが誤差閾値ｅ以上であるか判定する（ステップＳ１１８）。
【０１７５】
速度誤差ωｅｒｒが誤差閾値ｅ以上である場合（ステップＳ１１８のＹＥＳ）、制御方法選択部１１１は、制御方法として開ループ制御を選択し、選択信号ｓｅｌとして０を出力する（ステップＳ１０３）。以降の処理は、上述の通りである。
【０１７６】
一方、速度誤差ωｅｒｒが誤差閾値ｅ未満である場合（ステップＳ１１８のＮＯ）、処理は、ステップＳ１１２に進む。以降の処理は、上述の通りである。
【０１７７】
以上説明した通り、本実施形態によれば、速度誤差ωｅｒｒが小さく、安定した閉ループ制御を実行可能なときに、閉ループ制御が選択される。したがって、閉ループ制御によるモータ１の制御の安定性をより向上させることができる。
【０１７８】
＜第４実施形態＞
第４実施形態に係るモータ駆動システムについて、図１９〜図２４を参照して説明する。本実施形態では、弱め界磁制御について説明する。
【０１７９】
図１９は、本実施形態に係るモータ駆動システムの構成を示す図である。本実施形態に係るモータ駆動システムの構成は、第１選択部１０３を除き、第１実施形態と同様である。以下、第１選択部１０３について説明する。
【０１８０】
図１９に示すように、第１選択部１０３は、電流値０の代わりに、ｄ軸電圧指令値Ｖｄ、ｑ軸電圧指令値Ｖｑ、及び電源電圧Ｖｃｃを入力される。本実施形態において、第１選択部１０３は、選択信号ｓｅｌが０の場合（制御方法が開ループ制御の場合）、ｄ軸電流指令値ｉｄｔとして電流値ｉｒｅｆを選択する。したがって、選択信号ｓｅｌが０の場合のモータ駆動システムの動作は、第１実施形態と同様となる。
【０１８１】
一方、第１選択部１０３は、選択信号ｓｅｌが１の場合（制御方法が閉ループ制御の場合）、ｄ軸電圧指令値Ｖｄ、ｑ軸電圧指令値Ｖｑ、及び電源電圧Ｖｃｃに基づいて、ｄ軸電流指令値ｉｄｔとして、ｑ軸電流指令値ｉｑｔの所定値倍の値を出力する。本実施形態におけるｄ軸電流指令値ｉｄｔについて、詳しくは後述する。
【０１８２】
ここで、閉ループ制御時における、第１選択部１０３の動作について説明する。なお、上述の通り、ｄ軸電流値ｉｄはｄ軸電流指令値ｉｄｔに追従し、ｑ軸電流値ｉｑはｑ軸電流指令値ｉｑｔに追従する。したがって、ｄ軸電流指令値ｉｄｔ及びｑ軸電流指令値ｉｑｔを制御することは、ｄ軸電流値ｉｄ及びｑ軸電流値ｉｑを制御することに相当する。
【０１８３】
モータ１が駆動している間、Ａ相コイル１２Ａ及びＢ相コイル１２Ｂの端子間には、回転子１１の速度及び磁束の強さに比例した逆起電圧が発生する。このため、閉ループ制御を成立させる場合、ｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｑは、それぞれ以下の式を満たすことを要求される。
【０１８４】
【数１６】
2018014875.tif 000018
【０１８５】
式（２２），（２３）において、Ｒ及びＬは、Ａ相コイル１２Ａ及びＢ相コイル１２Ｂの抵抗値（ｏｈｍ）及びインダクタンス（Ｈ）、ｗは回転子１１の回転数（ｒａｄ／ｓｅｃ）、Ｋｅは回転数ｗに比例して発生する逆起電圧定数（Ｖ／ｒａｄ／ｓｅｃ）である。
【０１８６】
第１実施形態のように、閉ループ制御時に、ｄ軸電流指令値ｉｄｔ（ｄ軸電流値ｉｄ）を電流値０に制御する場合、式（２２）より、ｄ軸電圧指令値Ｖｄは負の値になることがわかる。また、式（２３）より、回転数ｗが大きい場合、ｑ軸電圧指令値Ｖｑは大きな値となることがわかる。
【０１８７】
図２０は、閉ループ制御時における電圧指令値と回転速度との関係を示すグラフである。図２０の例では、ｄ軸電流指令値ｉｄｔを電流値０に制御する場合を想定している。図２０において、抵抗値Ｒは９．１（ｏｈｍ）、インダクタンスＨは２０ｍＨ、逆起電圧定数Ｋｅは０．００８（Ｖ／ｒａｄ／ｓｅｃ）、ｄ軸電流値ｉｄは０（Ａ）、ｑ軸電流値ｉｑは０．３（Ａ）、電源電圧Ｖｃｃは２４（Ｖ）である。また、破線はｄ軸電圧指令値Ｖｄ、実線はｑ軸電圧指令値Ｖｑ、一点鎖線は相電圧Ｖａｂ（＝（Ｖｄ２＋Ｖｑ２）１／２）を示す。
【０１８８】
図２０に示すように、ｄ軸電圧指令値Ｖｄ、ｑ軸電圧指令値Ｖｑ、及び相電圧Ｖａｂは、その振幅が２４Ｖ（電源電圧Ｖｃｃ）になると飽和する。図２０の例では、ｄ軸電圧指令値Ｖｄは約２０００ｒｐｍで飽和し、相電圧Ｖａｂは約１７００ｒｐｍで飽和している。一般に、ｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｑのいずれかが飽和するまで、閉ループ制御は成立するため、図２０の例では、約２０００ｒｐｍまで閉ループ制御が可能であることがわかる。言い換えると、図２０の例では、約２０００ｒｐｍまでしか閉ループ制御を実現できない。
【０１８９】
図２１は、閉ループ制御時における電圧指令値と回転速度との関係を示すグラフである。図２１の例では、ｄ軸電流指令値ｉｄｔを−０．１４（Ａ）に制御する場合を想定している。図２１の例では、ｄ軸電圧指令値Ｖｄは２５００ｒｐｍでも飽和していないため、２５００ｒｐｍ以上の回転速度まで閉ループ制御が可能であることがわかる。
【０１９０】
このように、ｄ軸電流値ｉｄを０（Ａ）以外の値に制御することで、閉ループ制御を成立させるために要求される電圧指令値を低下させる制御を、弱め界磁制御という。弱め界磁制御により、電圧指令値を低下させ、閉ループ制御を正常に実現可能な回転速度の上限値を上昇させることができる。本実施形態における第１選択部１０３は、ｄ軸電流指令値ｉｄｔとして、ｄ軸電流指令値ｉｄｔとｑ軸電流指令値ｉｑｔとの比Ａを出力することにより、この弱め界磁制御を実現する。
【０１９１】
図２２は、本実施形態に係る第１選択部１０３の一例を示す図である。図２２の第１選択部１０３は、加算部１０３１と、減算部１０３２と、増幅部１０３３と、積分部１０３４と、乗算部１０３５と、選択部１０３６と、弱め界磁判定部１０３７と、を備える。
【０１９２】
加算部１０３１は、ｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｑを入力される。加算部１０３１は、ｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｑを加算して出力する。加算部１０３１の出力値は、減算部１０３２に入力される。
【０１９３】
減算部１０３２は、加算部１０３１の出力値及び所定値Ｖ０（第２所定値）を入力される。所定値Ｖ０は、予め設定された一定値である。減算部１０３２は、所定値Ｖ０から加算部１０３１の出力値を減算して出力する。減算部１０３２の出力値は、増幅部１０３３に入力される。
【０１９４】
増幅部１０３３は、減算部１０３２の出力値を入力される。増幅部１０３３は、減算部１０３２の出力値を、所定のゲインＫで増幅し、出力する。ゲインＫは、後述する積分の収束速度を決める定数である。ゲインＫを適切に設定することにより、電流指令値ｉｄｔの急激な変化を避け、トルクや回転数の変動を抑制することができる。増幅部１０３３の出力値は、積分部１０３４に入力される。
【０１９５】
積分部１０３４は、増幅部１０３３の出力値、所定値Ａ０（第１所定値）、及び切替信号ｌｏａｄを入力される。所定値Ａ０は、予め設定された一定値である。切替信号ｌｏａｄは、弱め界磁制御の有効化及び無効化を切り替える２値の信号であり、弱め界磁判定部１０３７から入力される。以下では、弱め界磁判定部１０３７は、弱め界磁制御を有効化する場合、切替信号ｌｏａｄとして０を出力し、弱め界磁制御を無効化する場合、切替信号ｌｏａｄとして１を出力するものとする。
【０１９６】
積分部１０３４は、切替信号ｌｏａｄとして１を入力された（弱め界磁制御が無効化された）場合、出力値Ａとして所定値Ａ０を出力する。所定値Ａ０は、例えば、０である。この場合、ｄ軸電流指令値ｉｄｔとして電流値０が出力されるため、第１実施形態における閉ループ制御と同様の制御が行われる。
【０１９７】
一方、積分部１０３４は、切替信号ｌｏａｄとして０を入力された（弱め界磁制御が有効化された）場合、出力値Ａとして、所定値Ａ０に増幅部１０３３の出力値を積分した値を出力する。積分部１０３４の出力値Ａは、乗算部１０３５に入力される。
【０１９８】
乗算部１０３５は、積分部１０３４の出力値Ａ及び電流指令値ｉｔｇｔを入力される。乗算部１０３５は、出力値Ａと電流指令値ｉｔｇｔを乗算して出力する。乗算部１０３５の出力値は、選択部１０３６に入力される。
【０１９９】
選択部１０３６は、乗算部１０３５の出力値、電流値ｉｒｅｆ、及び選択信号ｓｅｌを入力される。選択部１０３６は、選択信号ｓｅｌとして０を入力された場合、ｄ軸電流指令値ｉｄｔとして、電流値ｉｒｅｆを出力する。一方、選択部１０３６は、選択信号ｓｅｌとして１を入力された場合、ｄ軸電流指令値ｉｄｔとして、乗算部１０３５の出力値を出力する。
【０２００】
弱め界磁判定部１０３７は、ｄ軸電圧指令値Ｖｄ、ｑ軸電圧指令値Ｖｄ、及び電源電圧値Ｖｃｃを入力される。弱め界磁判定部１０３７は、ｄ軸電圧指令値Ｖｄ、ｑ軸電圧指令値Ｖｄ、及び電源電圧値Ｖｃｃに基づいて、弱め界磁制御を有効化するか否かを判定し、判定結果に応じた切替信号ｌｏａｄを出力する。上述の通り、弱め界磁判定部１０３７は、弱め界磁制御を有効化する場合、切替信号ｌｏａｄとして０を出力し、弱め界磁制御を無効化する場合、切替信号ｌｏａｄとして１を出力する。
【０２０１】
図２３は、本実施形態における弱め界磁制御の切替方法を説明する状態遷移図である。図２３の各ノードは、弱め界磁判定部１０３７による弱め界磁制御の判定状態を示している。以下、ノードＮ４，Ｎ５の判定状態を、それぞれ状態ＮＯＲＭ，ＥＮという。
【０２０２】
状態ＮＯＲＭは、弱め界磁判定部１０３７が弱め界磁制御を無効化すると判定し、切替信号ｌｏａｄとして１を出力している状態である。状態ＮＯＲＭにおいて、ｄ軸電圧指令値Ｖｄの大きさ（絶対値）が第１閾値Ｖ１以上になる、又はｑ軸電圧指令値Ｖｑの大きさ（絶対値）が第１閾値Ｖ１以上になると、状態ＮＯＲＭは、状態ＥＮに遷移する。
【０２０３】
状態ＥＮは、弱め界磁判定部１０３７が弱め界磁制御を有効化すると判定し、切替信号ｌｏａｄとして０を出力している状態である。状態ＥＮにおいて、ｄ軸電圧指令値Ｖｄの大きさ（絶対値）が第２閾値Ｖ２未満になり、かつ、ｑ軸電圧指令値Ｖｑの大きさ（絶対値）が第２閾値Ｖ２未満になると、状態ＥＮは、状態ＮＯＲＭに遷移する。
【０２０４】
第１閾値Ｖ１は、電源電圧値Ｖｃｃの近傍の値に設定される。第１閾値Ｖ１は、例えば、０．９５Ｖｃｃであるが、これに限られない。第１閾値Ｖ１をこのように設定することにより、ｄ軸電圧指令値Ｖｄが電源電圧値Ｖｃｃに近づくと、状態ＮＯＲＭが状態ＥＮに遷移し、弱め界磁制御が有効化されるため、ｄ軸電圧指令値Ｖｄの飽和を遅らせることができる。また、ｑ軸電圧指令値Ｖｑが電源電圧値Ｖｃｃに近づくと、状態ＮＯＲＭが状態ＥＮに遷移し、弱め界磁制御が有効化されるため、ｑ軸電圧指令値Ｖｑの飽和を遅らせることができる。
【０２０５】
第２閾値Ｖ２は、第１閾値Ｖ１より小さい値に設定される。第２閾値Ｖ２は、例えば、０．８Ｖｃｃであるが、これに限られない。ｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｑの大きさが、第１閾値Ｖ１より小さい第２閾値Ｖ２未満となった場合に、状態ＥＮを状態ＮＯＲＭに遷移させることにより、２つの状態間の往復を抑制することができる。これにより、状態遷移に起因する、トルクや回転数の変動を抑制することができる。
【０２０６】
以上のような構成により、閉ループ制御が選択され（ｓｅｌ＝１）、弱め界磁制御が有効化されている場合（ｌｏａｄ＝０）、積分部１０３４は、ｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｑの和が所定値Ａ０と一致する（Ｖｄ＋Ｖｑ＝Ａ０）ように、出力値Ａを出力する。例えば、所定値Ａ０が０である場合、積分部１０３４の出力値Ａにより、Ｖｄ＋Ｖｑ＝０となるように、ｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｑが制御される。
【０２０７】
また、このとき、ｑ軸電流指令値ｉｑｔは電流値ｉｔｇｔであり（ｉｑｔ＝ｉｔｇｔ）、ｄ軸電流指令値ｉｄｔは電流値ｉｔｇｔのＡ倍であるため、出力値Ａは、ｑ軸電流指令値ｉｑｔと、ｄ軸電流指令値ｉｄｔと、の比に相当する（ｉｄｔ＝Ａ×ｉｑｔ）。
【０２０８】
このように、弱め界磁制御が有効である場合、積算部１０３４は、ｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｑの和が一定となるように、ｄ軸電流指令値ｉｄｔ及びｑ軸電流指令値ｉｑｔの比Ａを調整する調整部として機能する。例えば、図２１の例では、２５００ｒｐｍ付近でＶｄ＋Ｖｑ＝０となっている。これは、積算部１０３４により、Ｖｄ＋Ｖｑ＝０となるように、出力値Ａが約−０．４６に制御された結果である（ｉｑｔ＝０．３（Ａ），ｉｄｔ＝−０．１４（Ａ）＝Ａ×ｉｑｔ）。
【０２０９】
以上説明した通り、本実施形態によれば、ｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｑの和が一定となるように、ｄ軸電流指令値ｉｄｔとｑ軸電流指令値ｉｑｔとの比（出力値）Ａを制御することができる。これにより、ｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｑが電源電圧値Ｖｃｃに到達し、飽和するのを遅らせることができる。言い換えると、閉ループ制御により正常に制御可能な回転速度や負荷の範囲を広げる（上限値を上昇させる）ことができる。また、ｄ軸電流指令値ｉｄｔ及びｑ軸電流指令値ｉｑｔを連動させることができるため、モータ１のトルクの利用効率を向上させることができる。
【０２１０】
また、本実施形態によれば、比Ａは、モータ定数などの仕様値を用いずに、ｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｑに基づいて算出することができる。これにより、モータ１の製造ばらつきの影響を抑制し、安定した弱め界磁制御を実現することができる。
【０２１１】
また、第１選択部１０３は、加算器や減算器などの基本的な回路素子の組み合わせにより構成できるため、安価に製造することができる。
【０２１２】
図２４は、本実施形態に係る第１選択部１０３の一例を示す図である。図２４の第１選択部１０３は、図２２の第１選択部１０３の変形例に相当し、乗算部１０３５を備えず、積分部１０３４の出力値Ａが選択部１０３６に直接入力される。図２４の他の構成は、図２２と同様である。なお、図２４の構成は、図２２の積分部１０３５に、電流指令値ｉｔｇｔの代わりに、定数１を入力したものと同様である。
【０２１３】
図２４の第１選択部１０３は、閉ループ制御が選択され（ｓｅｌ＝１）、弱め界磁制御が有効化されている場合（ｌｏａｄ＝０）、ｄ軸電流指令値ｉｄｔとして出力値Ａを出力する。すなわち、ｄ軸電流指令値ｉｄｔは、電流指令値ｉｔｇｔに依存しない。したがって、図２４の構成により、外乱等により電流指令値ｉｔｇｔが過渡的に変化した場合であっても、当該変化によるｄ軸電流指令値ｉｄｔへの影響を抑制し、トルクや回転数の変動を抑制することができる。
【０２１４】
なお、本実施形態における弱め界磁制御は、光学エンコーダや磁気エンコーダなどの位置センサを備えるモータ駆動システムにも適用可能である。
【０２１５】
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせなど、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０２１６】
１：モータ
２：インバータ
３：電流検出器
１００：モータ制御装置
１０１：角度指令値算出部
１０２：角度制御部
１０３：第１選択部
１０４：第２選択部
１０５：ｄ軸電流制御部
１０６：ｑ軸電流制御部
１０７：第１ベクトル回転部
１０８：第２ベクトル回転部
１０９：第３選択部
１１０：角度推定部
１１１：制御方法選択部
【先行技術文献】
【特許文献】
【０２１７】
【特許文献１】特開２０１１−６７０６３号公報
【特許文献２】特開２０１１−１３９５８３号公報
【図１】
2018014875.tif 000019
【図２】
2018014875.tif 000020
【図３】
2018014875.tif 000021
【図４】
2018014875.tif 000022
【図５】
2018014875.tif 000023
【図６】
2018014875.tif 000024
【図７】
2018014875.tif 000025
【図８】
2018014875.tif 000026
【図９】
2018014875.tif 000027
【図１０】
2018014875.tif 000028
【図１１】
2018014875.tif 000029
【図１２】
2018014875.tif 000030
【図１３】
2018014875.tif 000031
【図１４】
2018014875.tif 000032
【図１５】
2018014875.tif 000033
【図１６】
2018014875.tif 000034
【図１７】
2018014875.tif 000035
【図１８】
2018014875.tif 000036
【図１９】
2018014875.tif 000037
【図２０】
2018014875.tif 000038
【図２１】
2018014875.tif 000039
【図２２】
2018014875.tif 000040
【図２３】
2018014875.tif 000041
【図２４】
2018014875.tif 000042