(57)【特許請求の範囲】
【請求項１】
極対数（Ｐｎ）が１〜２ｎ（ｎは正数）のモータ（１）を、検出されたモータ電流値とこの電流検出時の電気角データ（θｅ）に応じた正余弦波データとに応じて駆動制御するモータ制御装置（１０）であって、
制御対象のモータの前記極対数と電気角の一周期に対応する電気角一周期データ（Ｔｅ）とを取得する取得手段（１１）と、
前記モータの機械角に対応する機械角データ（θｍ）を検出する機械角データ検出手段（１１，２，１４）と、
前記機械角データ検出手段により検出された前記機械角データに基づいて前記電気角データを設定する電気角データ設定手段（１１，１５）と、
前記電気角データ設定手段により設定された前記電気角データに基づいて前記正余弦波データを設定する正余弦波データ設定手段（１１，１６）と、を備え、
前記電気角データ設定手段は、
前記機械角データ検出手段により検出された前記機械角データが前記電気角一周期データに２ｎ−１を乗算した値以上であるか否かを判定して、否定判定時に前記機械角データに等しくなるように１番目の仮電気角データ（θｅ１）を設定し、肯定判定時に前記機械角データから前記電気角一周期データに２ｎ−１を乗算した値を減算した値に等しくなるように１番目の仮電気角データ（θｅ１）を設定する第１仮電気角データ設定手段（１１，１５）と、
ｋ−１番目の仮電気角データが前記電気角一周期データに２ｎ−ｋを乗算した値以上であるか否かを判定して、否定判定時にｋ−１番目の仮電気角データ（θｅｋ−１）に等しくなるようにｋ番目の仮電気角データ（θｅｋ）を設定し、肯定判定時にｋ−１番目の仮電気角データ（θｅｋ−１）から前記電気角一周期データに２ｎ−ｋを乗算した値を減算した値に等しくなるようにｋ番目の仮電気角データ（θｅｋ）を設定する処理を、ｋが２からｎまで繰り返す第２仮電気角データ設定手段（１１，１５）と、を備え、
前記電気角データを前記ｎ番目の仮電気角データに等しくなるように設定することを特徴とするモータ制御装置。
【請求項２】
前記電気角データは、２進数のデータであって、
前記正余弦波データ設定手段は、
極対数が２ｎ−ｍ（ｍは０またはｎ以下の正数）である場合の前記電気角データと前記正余弦波データとの関係を示すテーブル（１６）と、
極対数がＰｎである場合に前記電気角データの桁のシフトと加減算とを用いることで当該電気角データにＰｎ／２ｎ−ｍを積算した正規化電気角データを算出する算出手段（１１，１５）と、を備え、
前記算出手段により算出された前記正規化電気角データに基づいて前記テーブルから前記正余弦波データを設定することを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
機械角の一周期に対応する機械角一周期データ（Ｔｍ）が特定の機械角一周期データに対して２ｘ（ｘは整数）を乗算したデータとなるモータを制御対象とし、
前記テーブルは、前記特定の機械角一周期データに基づいて設定され、
前記電気角データ設定手段により設定された前記電気角データの桁のシフトを用いることで当該電気角データを前記２ｘで除算するシフト手段（１１，１５）を備え、
前記正余弦波データ設定手段は、前記シフト手段により除算された電気角データを用いて前記正余弦波データを設定することを特徴とする請求項２に記載のモータ制御装置。
【請求項４】
極対数が１〜２ｎ（ｎは正数）のモータを、検出されたモータ電流値とこの電流検出時の電気角データに応じた正余弦波データとに応じて駆動制御するモータ制御方法であって、
制御対象のモータの前記極対数と電気角の一周期に対応する電気角一周期データとを取得する第１ステップと、
前記モータの機械角に対応する機械角データを検出する第２ステップと、
前記第２ステップにより検出された前記機械角データが前記電気角一周期データに２ｎ−１を乗算した値以上であるか否かを判定する第３ステップと、
前記第３ステップにおける否定判定時に前記機械角データに等しくなるように１番目の仮電気角データを設定し、肯定判定時に前記機械角データから前記電気角一周期データに２ｎ−１を乗算した値を減算した値に等しくなるように１番目の仮電気角データを設定する第４ステップと、
ｋ−１番目の仮電気角データが前記電気角一周期データに２ｎ−ｋを乗算した値以上であるか否かを判定する第５ステップと、
前記第５ステップにおける否定判定時にｋ−１番目の仮電気角データに等しくなるようにｋ番目の仮電気角データを設定し、肯定判定時にｋ−１番目の仮電気角データから前記電気角一周期データに２ｎ−ｋを乗算した値を減算した値に等しくなるようにｋ番目の仮電気角データを設定する処理を、ｋが２からｎまで繰り返す第６ステップと、
前記電気角データを前記ｎ番目の仮電気角データに等しくなるように設定する第７ステップと、
前記第７ステップにより算出された前記電気角データに基づいて前記正余弦波データを設定する第８ステップと、
を備えることを特徴とするモータ制御方法。
【請求項５】
前記電気角データは、２進数のデータであって、
極対数が２ｎ−ｍ（ｍは０またはｎ以下の正数）である場合の前記電気角データと前記正余弦波データとの関係を示すテーブルを備え、
前記第８ステップは、
極対数がＰｎである場合に前記電気角データの桁のシフトと加減算とを用いることで当該電気角データにＰｎ／２ｎ−ｍを積算した正規化電気角データを算出し、この正規化電気角データに基づいて前記テーブルから前記正余弦波データを設定することを特徴とする請求項４に記載のモータ制御方法。
【請求項６】
機械角の一周期に対応する機械角一周期データが特定の機械角一周期データに対して２ｘ（ｘは整数）を乗算したデータとなるモータを制御対象とし、
前記テーブルは、前記特定の機械角一周期データに基づいて設定され、
前記第８ステップは、
前記第７ステップにより設定された前記電気角データの桁のシフトを用いることで当該電気角データを前記２ｘで除算し、この除算された電気角データを用いて前記正余弦波データを設定することを特徴とする請求項５に記載のモータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検出されたモータ電流値とこの電流検出時の電気角データに応じた正余弦波データとに応じてモータを駆動制御するモータ制御装置およびモータ制御方法に関するものである。
【背景技術】
【０００２】
従来、モータ制御装置は、検出されたモータ電流値とこの電流検出時の電気角データに応じた正余弦波データとに応じてモータを駆動制御する。この駆動制御では、モータ制御装置は、例えば、ブラシレスモータに直結したエンコーダのカウント値（機械角）から電気角データを算出し、算出した電気角データを正余弦波データが格納された正弦波テーブルのアドレスとして入力することで、上記電気角データに応じた正余弦波データを取得する。
【０００３】
ところで、規定の極対数のモータのみを制御対象とする場合には、電気角データを算出する電気角算出ブロックと算出した電気角データに応じた正余弦波データを取得するための正弦波テーブルとが、上記規定の極対数に対応して１種類用意される。しかしながら、モータのバージョンアップ等を想定して異なる極対数のモータをも制御対象として汎用性を高めるためには、極対数ごとに電気角算出ブロックおよび正弦波テーブルが必要になるという問題がある。特に、電気角算出ブロックや正弦波テーブルの種類が多くなると、必要な回路が多くなり回路規模が大きくなってしまう。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０７−１２３７６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
そこで、汎用性を高めるモータ制御装置として、上記特許文献１に開示されるデジタルＡＣサーボ装置が知られている。このデジタルＡＣサーボ装置では、カウンタブロックは、各カウンタのカウンタリミット値に応じて、基本三角波ｆ（ｘ）の振幅１／（２ｉ−１）倍かつ周波数（２ｉ−１）の三角波を出力する。そして、このカウンタブロックの各カウンタの出力に、ゲイン乗算ブロックで、この三角波の振幅の１／（２ｉ−１）倍する。次に、加減算ブロックでＮ個の三角波の値を高調波成分が０になるように加減算することにより、正弦波データを算出する。すなわち、複数の三角波カウンタブロック、ゲイン乗算ブロックおよび加減算ブロックを用いることで、複数のカウンタからなる三角波を合成して、正弦波データが生成される。この構成では、極対数に応じてカウンタリミットを設定しなおすことで、同一の正弦波テーブルを各極対数のモータ制御にて使用することができる。
【０００６】
しかしながら、複数の三角波を合成して正弦波データを生成するため、正弦波データの精度が低くなってしまう。このように正弦波データの精度が低くなると、この正弦波データを用いたモータ制御の効率悪化等を招いてしまうという問題がある。
【０００７】
本発明は、上述した課題を解決するためになされたものであり、その目的とするところは、回路規模の増大を招くことなく汎用性を高め得るモータ制御装置およびモータ制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、特許請求の範囲の請求項１に記載のモータ制御装置は、極対数（Ｐｎ）が１〜２ｎ（ｎは正数）のモータ（１）を、検出されたモータ電流値とこの電流検出時の電気角データ（θｅ）に応じた正余弦波データとに応じて駆動制御するモータ制御装置（１０）であって、制御対象のモータの前記極対数と電気角の一周期に対応する電気角一周期データ（Ｔｅ）とを取得する取得手段（１１）と、前記モータの機械角に対応する機械角データ（θｍ）を検出する機械角データ検出手段（１１，２，１４）と、前記機械角データ検出手段により検出された前記機械角データに基づいて前記電気角データを設定する電気角データ設定手段（１１，１５）と、前記電気角データ設定手段により設定された前記電気角データに基づいて前記正余弦波データを設定する正余弦波データ設定手段（１１，１６）と、を備え、前記電気角データ設定手段は、前記機械角データ検出手段により検出された前記機械角データが前記電気角一周期データに２ｎ−１を乗算した値以上であるか否かを判定して、否定判定時に前記機械角データに等しくなるように１番目の仮電気角データ（θｅ１）を設定し、肯定判定時に前記機械角データから前記電気角一周期データに２ｎ−１を乗算した値を減算した値に等しくなるように１番目の仮電気角データ（θｅ１）を設定する第１仮電気角データ設定手段（１１，１５）と、ｋ−１番目の仮電気角データが前記電気角一周期データに２ｎ−ｋを乗算した値以上であるか否かを判定して、否定判定時にｋ−１番目の仮電気角データ（θｅｋ−１）に等しくなるようにｋ番目の仮電気角データ（θｅｋ）を設定し、肯定判定時にｋ−１番目の仮電気角データ（θｅｋ−１）から前記電気角一周期データに２ｎ−ｋを乗算した値を減算した値に等しくなるようにｋ番目の仮電気角データ（θｅｋ）を設定する処理を、ｋが２からｎまで繰り返す第２仮電気角データ設定手段（１１，１５）と、を備え、前記電気角データを前記ｎ番目の仮電気角データに等しくなるように設定することを特徴とする。
なお、特許請求の範囲および上記手段の括弧内の符号は、後述する実施形態に記載の具体的手段との対応関係の一例を示すものである。
【発明の効果】
【０００９】
請求項１，４の発明では、機械角データが電気角一周期データに２ｎ−１を乗算した値以上であるか否かが判定されて、否定判定時に機械角データに等しくなるように１番目の仮電気角データが設定され、肯定判定時に機械角データから電気角一周期データに２ｎ−１を乗算した値を減算した値に等しくなるように１番目の仮電気角データが設定される。そして、ｋ−１番目の仮電気角データが電気角一周期データに２ｎ−ｋを乗算した値以上であるか否かが判定されて、否定判定時にｋ−１番目の仮電気角データに等しくなるようにｋ番目の仮電気角データが設定され、肯定判定時にｋ−１番目の仮電気角データから電気角一周期データに２ｎ−ｋを乗算した値を減算した値に等しくなるようにｋ番目の仮電気角データを設定する処理が、ｋが２からｎまで繰り返される。そして、電気角データがｎ番目の仮電気角データに等しくなるように設定され、この電気角データに基づいて正余弦波データが設定される。
【００１０】
これにより、極対数ごとに電気角データを算出する電気角算出ブロックを採用することなく、極対数が１〜２ｎであればどのような極対数であっても電気角データを算出することができる。特に、乗算ブロックのような規模が大きくなる回路を用いる必要もないので、回路規模を小さくすることができる。また、複数の三角波を合成して正余弦波データを作成することもないので、正余弦波データの精度が低下することもない。
したがって、回路規模の増大を招くことなく汎用性を高めることができる。
【００１１】
請求項２，５の発明では、電気角データは、２進数のデータであって、極対数が２ｎ−ｍ（ｍは０またはｎ以下の正数）である場合の電気角データと正余弦波データとの関係を示すテーブルが設けられている。そして、極対数がＰｎである場合に電気角データの桁のシフトと加減算とを用いることで当該電気角データにＰｎ／２ｎ−ｍを積算した正規化電気角データが算出され、この正規化電気角データに基づいて上記テーブルから正余弦波データが設定される。
ここで、正規化電気角データとは、算出された電気角データに対して、その極対数Ｐｎ／２ｎ−ｍを乗算することで、極対数が２ｎ−ｍに対応するテーブルを共通して使用できるように正規化されたデータである。
【００１２】
例えば、ｎ＝３，ｍ＝１であり１〜８の極対数のモータが制御対象であって、極対数Ｐｎが２であるモータを制御する場合に、電気角データを１桁右シフトすることで、当該電気角データに２／２ｎ−ｍ、すなわち２／４を積算した正規化電気角データが算出される。また、例えば、極対数Ｐｎが５であるモータを制御する場合に、電気角データを２桁右シフトしたものに当該電気角データを加算することで、当該電気角データに５／２ｎ−ｍ、すなわち（１＋４）／４を積算した正規化電気角データが算出される。また、例えば、極対数Ｐｎが７であるモータを制御する場合に、電気角データを１桁左シフトしたものから電気角データを２桁右シフトしたものを減算することで、当該電気角データに７／２ｎ−ｍ、すなわち（８−１）／４を積算した正規化電気角データが算出される。
【００１３】
ここで、右シフトとは、２進数の数値を２α（αは正数）で除算する計算手法であり、２進数で「１０００」を１桁右シフトすると「０１００」となり、２で除算した結果と等しくなり、２進数で「１０００」を２桁右シフトすると「００１０」となり、２２で除算した結果と等しくなる。また、左シフトとは、２進数の数値に２αを乗算する計算手法であり、２進数で「０１００」を１桁左シフトすると「１０００」となり、２を乗算した結果と等しくなる。すなわち、上述したシフトを用いる計算手法により、乗算器や減算器を用いることなく回路における信号線の接続状態のみで、正規化電気角データが算出されるため、回路規模の増大を招くことなく共通のテーブルの使用が可能となり、さらなる回路の小型化を図ることができる。
【００１４】
請求項３，６の発明では、機械角一周期データが特定の機械角一周期データに対して２ｘ（ｘは整数）を乗算したデータとなるモータが制御対象であり、上記テーブルは、上記特定の機械角一周期データに基づいて設定される。そして、上述のように設定された電気角データの桁のシフトを用いることで当該電気角データを２ｘで除算し、この除算された電気角データを用いて正余弦波データが設定される。
【００１５】
これにより、機械角一周期データが特定の機械角一周期データに対して２ｘで異なるモータが制御対象であっても、共通のテーブルを使用して正余弦波データを設定することができる。特に、上述したシフトを用いる計算手法により、複数の機械角一周期データのモータを制御対象とすることに起因する回路規模の増大を抑制することができる。
【図面の簡単な説明】
【００１６】
【図１】第１実施形態に係るモータ制御装置の概略構成を示すブロック図である。
【図２】正余弦波データ算出処理の流れを示すフローチャートである。
【図３】電気角算出処理にて極対数が５である場合に算出される電気角データの一例を説明する説明図である。
【図４】電気角算出処理にて極対数が３である場合に算出される電気角データの一例を説明する説明図である。
【図５】極対数と正規化倍率との関係を示す図表である。
【図６】正余弦波データ算出処理におけるアドレス正規化処理を説明するための説明図である。
【図７】第２実施形態における正余弦波データ算出処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１７】
［第１実施形態］
以下、本発明の第１実施形態に係るモータ制御装置およびモータ制御方法について、図面を参照して説明する。
図１に示すモータ制御装置１０は、極対数が１〜２ｎ（ｎは正数）、具体的には、例えば、極対数が１〜８のブラシレスモータ１が制御対象であって、当該ブラシレスモータ１を、検出されたモータ電流値とこの電流検出時の電気角データに応じた正余弦波データとに応じて駆動制御する装置である。このモータ制御装置１０は、ブラシレスモータ１に直結したエンコーダ２のカウント値（機械角）を取得すると、後述する正余弦波データ算出処理により、電気角データを算出しこの算出した電気角データを正余弦波データが格納された正弦波テーブル（正弦波マップ）のアドレスとして入力することで、正余弦波データを算出する。なお、エンコーダ２、カウンタ・ラッチ回路１４は、特許請求の範囲に記載の「機械角データ検出手段」の一例に相当し得る。
【００１８】
モータ制御装置１０は、全体的制御を司る制御コントローラ１１と、ブラシレスモータ１のモータ電流を検出する電流検出器１２と、Ａ／Ｄコンバータ１３とを備えている。ブラシレスモータ１のモータ電流は、電流検出器２により電圧変換され、Ａ／Ｄコンバータ３でデジタル量に変換されて、モータ電流データＩｕ，Ｉｖ，Ｉｗとして制御コントローラ１１に取り込まれる。
【００１９】
また、この電流取り込みタイミングとは独立した制御コントローラ１１の制御周期に同期して、エンコーダ２より出力されるブラシレスモータ１の回転量に応じたエンコーダパルスが機械角データθｍとしてカウンタ・ラッチ回路１４に取り込まれる。そして、電気角算出ブロック１５にて、取り込まれたエンコーダパルス値に応じたブラシレスモータ１の電気角データθｅが出力されると、例えば、極対数Ｐｎが４である場合の正余弦波データが格納されている正弦波テーブル１６により、入力される電気角データθｅに対応した正余弦波データが制御コントローラ１１に出力される。なお、エンコーダ２からのエンコーダパルスは、上記電流取り込みタイミングと同期して、機械角データθｍとしてカウンタ・ラッチ回路１４に取り込まれてもよい。
【００２０】
制御コントローラ１１では、上記に示したそれぞれのタイミングで読み込まれた電気角データθｅに対応した正余弦波データと、モータ電流データＩｕ，Ｉｖ，Ｉｗとより、２相３相変換し、モータ無効効率成分であるｄ軸電流値と、モータ有効効率成分であるｑ軸電流値とを算出する。そして、これら実際の電流値と、制御コントローラ４内で算出される指令値との偏差が小さくなるように、ブラシレスモータ１がベクトル制御される。
【００２１】
次に、本発明の特徴的部分である正余弦波データ算出処理について、図２〜図６を用いて説明する。図２は、正余弦波データ算出処理の流れを示すフローチャートである。図３は、電気角算出処理にて極対数Ｐｎが５である場合に算出される電気角データθｅの一例を説明する説明図である。図４は、電気角算出処理にて極対数Ｐｎが３である場合に算出される電気角データθｅの一例を説明する説明図である。図５は、極対数Ｐｎと正規化倍率との関係を示す図表である。図６は、正余弦波データ算出処理におけるアドレス正規化処理を説明するための説明図である。
【００２２】
正余弦波データ算出処理は、極対数が１〜２ｎ（ｎは正数）で異なる複数のブラシレスモータ１を制御対象とする場合であっても、電気角算出ブロック１５の簡素化と正弦波テーブル１６の共用化を実現するためのものである。この正余弦波データ算出処理は、主に、検出した機械角データθｍに基づいて電気角データθｅを算出する電気角算出処理と、算出された電気角データθｅを正規化した正規化電気角データθｎを算出するアドレス正規化処理とから構成されている。なお、正余弦波データ算出処理では、機械角データθｍおよび電気角データθｅ等のデータは、２進数のデータとして取り扱われる。
【００２３】
以下、正余弦波データ算出処理について、図２に示すフローチャートを用いて詳細に説明する。
まず、図２のステップＳ１０１に示す取得処理がなされ、制御対象のブラシレスモータ１の極対数Ｐｎと、電気角の一周期に対応する電気角一周期データＴｅと、機械角データθｍとが取得される。なお、上記取得処理は、特許請求の範囲に記載の「取得手段」および「第１，第２ステップ」の一例に相当し得る。
【００２４】
続いて、ステップＳ１０３に示す判定処理にて、機械角データθｍが電気角一周期データＴｅに２ｎ−１を乗算した値以上であるか否かについて判定される。ステップＳ１０３の判定処理にて否定判定される場合には（Ｓ１０３でＮｏ）、ステップＳ１０５にて、１番目の仮電気角データθｅ１が、機械角データθｍに等しくなるように設定される。一方、ステップＳ１０３の判定処理にて肯定判定される場合には（Ｓ１０３でＹｅｓ）、ステップＳ１０７にて、１番目の仮電気角データθｅ１が、機械角データθｍから電気角一周期データＴｅに２ｎ−１を乗算した値を減算した値に等しくなるように設定される。なお、ステップＳ１０３〜Ｓ１０７に示す処理は、特許請求の範囲に記載の「第１仮電気角データ設定手段」の一例に相当し得る。また、ステップＳ１０３に示す判定処理は、特許請求の範囲に記載の「第３ステップ」の一例に相当し、ステップＳ１０５，Ｓ１０７に示す処理は、特許請求の範囲に記載の「第４ステップ」の一例に相当し得る。
【００２５】
このように１番目の仮電気角データθｅ１が設定されると、ステップＳ１０９にて仮電気角データの順番を示すｋがインクリメントされる。なお、ｋは、正余弦波データ算出処理が開始されるごとに、初期化されて１に設定される。
【００２６】
続いて、ステップＳ１１１に示す判定処理にて、ｋ−１番目の仮電気角データθｅｋ−１が電気角一周期データＴｅに２ｎ−ｋを乗算した値以上であるか否かについて判定される。ステップＳ１１１の判定処理にて否定判定される場合には（Ｓ１１１でＮｏ）、ステップＳ１１３にて、ｋ番目の仮電気角データθｅｋが、ｋ−１番目の仮電気角データθｅｋ−１に等しくなるように設定される。一方、ステップＳ１１１の判定処理にて肯定判定される場合には（Ｓ１１１でＹｅｓ）、ステップＳ１１５にて、ｋ番目の仮電気角データθｅｋが、ｋ−１番目の仮電気角データθｅｋ−１から電気角一周期データＴｅに２ｎ−ｋを乗算した値を減算した値に等しくなるように設定される。
【００２７】
このようにｋ番目の仮電気角データθｅｋが設定されると、ステップＳ１１７にてｋがｎ以上であるか否かについて判定され、ｋがｎ以上でなければ（Ｓ１１７でＮｏ）、ステップＳ１０９にてｋがインクリメントされて、ステップＳ１１１以降の処理が繰り返される。なお、ステップＳ１１１〜Ｓ１１５に示す処理は、特許請求の範囲に記載の「第２仮電気角データ設定手段」の一例に相当し得る。また、ステップＳ１１１に示す判定処理は、特許請求の範囲に記載の「第５ステップ」の一例に相当し、ステップＳ１１３，Ｓ１１５に示す処理は、特許請求の範囲に記載の「第６ステップ」の一例に相当し得る。
【００２８】
そして、インクリメントされたｋがｎ以上になると（Ｓ１１７でＹｅｓ）、ステップＳ１１９にて電気角データ設定処理がなされる。この処理では、電気角データθｅが、ｎ番目の仮電気角データθｅｎに等しくなるように設定される。なお、ステップＳ１１９に示す電気角データ設定処理は、特許請求の範囲に記載の「第７ステップ」の一例に相当し得る。
【００２９】
上述したステップＳ１０１からステップＳ１１９までの処理が電気角算出処理を構成し、この電気角算出処理について、図３に例示する具体的な数値を用いて説明する。なお、上記電気角算出処理は、特許請求の範囲に記載の「電気角データ設定手段」の一例に相当し得る。
【００３０】
まず、ｎ＝３であることから極対数が１〜８のブラシレスモータ１を制御対象としており、ステップＳ１０１にて、極対数Ｐｎ＝５，機械角データθｍ＝７６００，電気角一周期データＴｅ＝１６３８が取得される場合に算出される電気角データθｅについて説明する。
【００３１】
まず、ステップＳ１０３にて、機械角データθｍが電気角一周期データＴｅに２ｎ−１を乗算した値以上であるか否かについて判定される。θｍ（＝７６００）は、Ｔｅ×２ｎ−１（＝１６３８×２２＝６５５２）よりも大きいことから（Ｓ１０３でＹｅｓ）、１番目の仮電気角データθｅ１がθｍ−Ｔｅ×２ｎ−１（７６００−１６３８×２２）＝１０４８に設定される。
【００３２】
そして、ｋが初期値１からステップＳ１０９にてｋ＝２にインクリメントされた後、ステップＳ１１１にて、１番目の仮電気角データθｅ１が電気角一周期データＴｅに２ｎ−２を乗算した値以上であるか否かについて判定される。θｅ１（＝１０４８）は、Ｔｅ×２ｎ−２（＝１６３８×２１＝３２７６）よりも小さいことから（Ｓ１１１でＮｏ）、２番目の仮電気角データθｅ２が１番目の仮電気角データθｅ１に等しくなるように１０４８に設定される。
【００３３】
そして、ｋ＝２でありｋ≧ｎでないことから（Ｓ１１７でＮｏ）、ステップＳ１０９にてｋ＝３にインクリメントされた後、ステップＳ１１１にて、２番目の仮電気角データθｅ２が電気角一周期データＴｅに２ｎ−３を乗算した値以上であるか否かについて判定される。θｅ２（＝１０４８）は、Ｔｅ×２ｎ−３（＝１６３８×２０＝１６３８）よりも小さいことから（Ｓ１１１でＮｏ）、３番目の仮電気角データθｅ３が２番目の仮電気角データθｅ２に等しくなるように１０４８に設定される。
【００３４】
そして、ｋ＝３でありｋ≧ｎであることから（Ｓ１１７でＹｅｓ）、ステップＳ１１９にて電気角算出処理がなされ、電気角データθｅが、３番目の仮電気角データθｅ３である１０４８に等しくなるように設定される。
【００３５】
ここで、上述のように設定された電気角データθｅと、実際に機械角データθｍの数値を用いて計算した計算結果とを比較する。機械角データθｍ＝７６００であることから、この機械角データθｍ＝７６００を電気角一周期データＴｅ＝１６３８で割ると、商が４で余りが１０４８になる。この余りが電気角データθｅの計算結果となることから、上述のように設定された電気角データθｅが正しい数値であることが分かる。
【００３６】
また、上述した電気角算出処理について、図４に例示する具体的な数値を用いて説明する。まず、ｎ＝３であることから極対数が１〜８のブラシレスモータ１を制御対象としており、ステップＳ１０１にて、極対数Ｐｎ＝３，機械角データθｍ＝７６００，電気角一周期データＴｅ＝２７３０が取得される場合に算出される電気角データθｅについて説明する。
【００３７】
まず、ステップＳ１０３にて、機械角データθｍが電気角一周期データＴｅに２ｎ−１を乗算した値以上であるか否かについて判定される。θｍ（＝７６００）は、Ｔｅ×２ｎ−１（＝２７３０×２２＝１０９２０）よりも小さいことから（Ｓ１０３でＮｏ）、１番目の仮電気角データθｅ１が機械角データθｍ＝７６００に等しくなるように設定される。
【００３８】
そして、ｋが初期値１からステップＳ１０９にてｋ＝２にインクリメントされた後、ステップＳ１１１にて、１番目の仮電気角データθｅ１が電気角一周期データＴｅに２ｎ−２を乗算した値以上であるか否かについて判定される。θｅ１（＝７６００）は、Ｔｅ×２ｎ−２（＝２７３０×２１＝５４６０）よりも大きいことから（Ｓ１１１でＹｅｓ）、２番目の仮電気角データθｅ２がθｅ１−Ｔｅ×２ｎ−２（７６００−２７３０×２１）＝２１４０に設定される。
【００３９】
そして、ｋ＝２でありｋ≧ｎでないことから（Ｓ１１７でＮｏ）、ステップＳ１０９にてｋ＝３にインクリメントされた後、ステップＳ１１１にて、２番目の仮電気角データθｅ２が電気角一周期データＴｅに２ｎ−３を乗算した値以上であるか否かについて判定される。θｅ２（＝２１４０）は、Ｔｅ×２ｎ−３（＝２７３０×２０＝２７３０）よりも小さいことから（Ｓ１１１でＮｏ）、３番目の仮電気角データθｅ３が２番目の仮電気角データθｅ２に等しくなるように２１４０に設定される。
【００４０】
そして、ｋ＝３でありｋ≧ｎであることから（Ｓ１１７でＹｅｓ）、ステップＳ１１９にて電気角算出処理がなされ、電気角データθｅが、３番目の仮電気角データθｅ３である２１４０に等しくなるように設定される。
【００４１】
ここで、上述のように設定された電気角データθｅと、実際に機械角データθｍの数値を用いて計算した計算結果とを比較する。機械角データθｍ＝７６００であることから、この機械角データθｍ＝７６００を電気角一周期データＴｅ＝２７３０で割ると、商が２で余りが２１４０になる。この余りが電気角データθｅの計算結果となることから、上述のように設定された電気角データθｅが正しい数値であることが分かる。
【００４２】
上述のように電気角データθｅが設定されると、ステップＳ１２１に示すアドレス正規化処理がなされて、正規化電気角データθｎが設定される。この正規化電気角データθｎに基づいて、ステップＳ１２３に示す正余弦波データ設定処理にて正余弦波データが正弦波テーブル１６を用いて設定されて、正余弦波データ算出処理が終了する。なお、ステップＳ１２１に示す判定処理は、特許請求の範囲に記載の「算出手段」の一例に相当し得る。また、ステップＳ１２１，Ｓ１２３に示す判定処理は、特許請求の範囲に記載の「正余弦波データ設定手段」および「第８ステップ」の一例に相当し得る。
【００４３】
ここで、上述したアドレス正規化処理について説明する。この処理は、算出された電気角θｅに対して、正規化倍率である極対数Ｐｎ／２ｎ−１を乗算した正規化電気角データθｎを設定する処理である。すなわち、電気角θｅは、正弦波テーブルを使用するための正弦波テーブルアドレスであり、正弦波テーブル１６用に正規化したアドレス（正規化電気角データθｎ）を設定することで正弦波テーブル１６の極対数を区別することなく共通して使用できる。
【００４４】
具体的には、電気角データθｅは、２進数のデータであるため、桁のシフトと加減算とを用いることで当該電気角データθｅに正規化倍率Ｐｎ／２ｎ−１を積算した正規化電気角データθｎを算出する。このようなアドレス正規化処理について、図５および図６を用いて詳細に説明する。
【００４５】
正弦波テーブル１６は、例えば、極対数Ｐｎ＝４を基準に設定しているため、図５から分かるように、正規化電気角データθｎは、電気角データθｅに正規化倍率であるＰｎ／４が積算されるように設定される。本実施形態では、この積算を、図６に示すように桁のシフトと加減算とを用いることで実施する。
【００４６】
ここで、演算子「＞＞」は、右シフト演算（右ビットシフト演算）を示し、２進数の数値を２α（αは正数）で除算する計算手法であり、θｅ＞＞１は、電気角データθｅを１桁右シフトすることで、２進数である電気角データθｅを２で除算した正規化電気角データθｎが算出される。例えば、２進数で「１０００」を１桁右シフトすると「０１００」となり、２で除算した結果と等しくなり、２進数で「１０００」を２桁右シフトすると「００１０」となり、２２で除算した結果と等しくなる。
【００４７】
また、演算子「＜＜」は、左シフト演算（左ビットシフト演算）を示し、２進数の数値に２αを乗算する計算手法であり、θｅ＜＜１は、電気角データθｅを１桁左シフトすることで、２進数である電気角データθｅに２を乗算した正規化電気角データθｎが算出される。例えば、２進数で「０１００」を１桁左シフトすると「１０００」となり、２を乗算した結果と等しくなる。
【００４８】
図６に示すように、極対数Ｐｎ＝１では、電気角データθｅに１／４を乗算するため、電気角データθｅが２桁右シフトされて正規化電気角データθｎが算出される。また、極対数Ｐｎ＝２では、電気角データθｅに２／４を乗算するため、電気角データθｅが１桁右シフトされて正規化電気角データθｎが算出される。また、極対数Ｐｎ＝３では、電気角データθｅに３／４を乗算するため、電気角データθｅが２桁右シフトされた値と電気角データθｅが１桁右シフトされた値との和に等しくなるように正規化電気角データθｎが算出される。また、極対数Ｐｎ＝４では、電気角データθｅに等しくなるように正規化電気角データθｎが算出される。また、極対数Ｐｎ＝５では、電気角データθｅに５／４を乗算するため、電気角データθｅが２桁右シフトされた値と電気角データθｅとの和に等しくなるように正規化電気角データθｎが算出される。また、極対数Ｐｎ＝６では、電気角データθｅに６／４を乗算するため、電気角データθｅが１桁右シフトされた値と電気角データθｅとの和に等しくなるように正規化電気角データθｎが算出される。また、極対数Ｐｎ＝７では、電気角データθｅに７／４を乗算するため、電気角データθｅが１桁左シフトされた値から電気角データθｅが２桁右シフトされた値を減算した値に等しくなるように正規化電気角データθｎが算出される。また、極対数Ｐｎ＝８では、電気角データθｅに８／４を乗算するため、電気角データθｅが１桁左シフトされた値に等しくなるように正規化電気角データθｎが算出される。
【００４９】
このように、上述したシフトを用いる計算手法により、乗算器や減算器を用いることなく回路における信号線の接続状態のみで、正規化電気角データθｎが算出されるため、回路規模の増大を招くことなく共通のテーブルの使用が可能となり、さらなる回路の小型化を図ることができる。
【００５０】
以上説明したように、本実施形態に係るモータ制御装置１０およびモータ制御方法では、機械角データθｍが電気角一周期データＴｅに２ｎ−１を乗算した値以上であるか否かが判定されて、否定判定時に機械角データθｍに等しくなるように１番目の仮電気角データθｅ１が設定され、肯定判定時に機械角データθｍから電気角一周期データＴｅに２ｎ−１を乗算した値を減算した値に等しくなるように１番目の仮電気角データθｅ１が設定される。そして、ｋ−１番目の仮電気角データθｅｋ−１が電気角一周期データＴｅに２ｎ−ｋを乗算した値以上であるか否かが判定されて、否定判定時にｋ−１番目の仮電気角データθｅｋ−１に等しくなるようにｋ番目の仮電気角データθｅｋが設定され、肯定判定時にｋ−１番目の仮電気角データθｅｋ−１から電気角一周期データＴｅに２ｎ−ｋを乗算した値を減算した値に等しくなるようにｋ番目の仮電気角データθｅｋを設定する処理が、ｋが２からｎまで繰り返される。そして、電気角データθｅがｎ番目の仮電気角データθｅｎに等しくなるように設定され、この電気角データθｅに基づいて正余弦波データが設定される。
【００５１】
これにより、極対数Ｐｎごとに電気角データθｅを算出する電気角算出ブロックを採用することなく、極対数Ｐｎが１〜２ｎであればどのような極対数Ｐｎであっても電気角データθｅを算出することができる。特に、乗算ブロックのような規模が大きくなる回路を用いる必要もないので、回路規模を小さくすることができる。また、複数の三角波を合成して正余弦波データを作成することもないので、正余弦波データの精度が低下することもない。
したがって、回路規模の増大を招くことなく汎用性を高めることができる。
【００５２】
また、電気角データθｅは、２進数のデータであって、極対数Ｐｎが２ｎ−１である場合の電気角データθｅと正余弦波データとの関係を示す正弦波テーブル１６が設けられている。そして、電気角データθｅの桁のシフトと加減算とを用いることで当該電気角データθｅにＰｎ／２ｎ−１を積算した正規化電気角データθｎが算出され、この正規化電気角データθｎに基づいて上記正弦波テーブル１６から正余弦波データが設定される。
【００５３】
このように、上述したシフトを用いる計算手法により、乗算器や減算器を用いることなく回路における信号線の接続状態のみで、正規化電気角データθｎが算出されるため、回路規模の増大を招くことなく共通のテーブルの使用が可能となり、さらなる回路の小型化を図ることができる。
【００５４】
［第２実施形態］
次に、本発明の第２実施形態に係るモータ制御装置およびモータ制御方法について、図７を参照して説明する。図７は、第２実施形態における正余弦波データ算出処理の流れを示すフローチャートである。
本第２実施形態では、機械角一周期データＴｍが異なるブラシレスモータ１を制御対象とする場合であってもその汎用性を高めるため、正余弦波データ算出処理を図２に示すフローチャートに代えて図７に示すフローチャートに基づいて実施する点が、上記第１実施形態と異なる。したがって、第１実施形態と実質的に同一の構成部分には、同一符号を付し、その説明を省略する。
【００５５】
上記第１実施形態に係る正余弦波データ算出処理では、エンコーダ２における機械角の一周期に対応する機械角一周期データＴｍが一定の場合を前提に処理される。このため、ブラシレスモータ１のバージョンアップ等により機械角一周期データＴｍが変更されると、正弦波テーブル１６を共用できなくなってしまう。
【００５６】
そこで、本実施形態では、例えば、８１９２を特定の機械角一周期データとするとき、この特定の機械角一周期データに対して２ｘ（ｘは整数）を乗算したデータとなる機械角一周期データＴｍのブラシレスモータ１を制御対象とする。ここで、正弦波テーブル１６は、上記特定の機械角一周期データに基づいて設定される。そして、正余弦波データ算出処理では、機械角一周期データＴｍが異なるブラシレスモータ１を制御対象とする場合であってもその汎用性を高めるため、算出された電気角データθｅを上記２ｘで除算し、この除算されたデータを電気角データθｅとして正規化電気角データθｎを設定する。これにより、機械角一周期データＴｍが２ｘで変化する場合でも、正弦波テーブル１６等の共用が可能となる。
【００５７】
以下、本実施形態における正余弦波データ算出処理について、図７に示すフローチャートを用いて詳細に説明する。
上記第１実施形態と同様に、電気角データ設定処理にて電気角θｅが設定されると、図７のステップＳ１２０に示すシフト処理がなされる。この処理では、上述のように設定された電気角データθの桁のシフトを用いることで当該電気角データを２ｘで除算する。なお、上記シフト処理は、特許請求の範囲に記載の「シフト手段」の一例に相当し得る。
【００５８】
具体的には、例えば、ｘ＝１であり、機械角一周期データＴｍが１６３８４（＝８１９２×２１）である場合には、電気角データθを、１桁右シフトすることで２で除算する。また、例えば、ｘ＝−１であり、機械角一周期データＴｍが４０９６（＝８１９２×２−１）である場合には、電気角データθを、１桁左シフトすることで２−１で除算（２で乗算）する。
【００５９】
そして、このように除算されたデータを電気角データθｅとして、ステップＳ１２１に示すアドレス正規化処理がなされて、正規化電気角データθｎが設定される。
【００６０】
以上説明したように、本実施形態に係るモータ制御装置１０およびモータ制御方法では、機械角一周期データＴｍが特定の機械角一周期データに対して２ｘを乗算したデータとなるブラシレスモータ１が制御対象であり、正弦波テーブル１６は、上記特定の機械角一周期データに基づいて設定される。そして、上述のように設定された電気角データθｅの桁のシフトを用いることで当該電気角データθｅを２ｘで除算し、この除算された電気角データθｅを用いて正余弦波データが設定される。
【００６１】
これにより、機械角一周期データＴｍが特定の機械角一周期データに対して２ｘで異なるブラシレスモータ１が制御対象であっても、共通の正弦波テーブル１６を使用して正余弦波データを設定することができる。特に、上述したシフトを用いる計算手法により、複数の機械角一周期データＴｍのブラシレスモータ１を制御対象とすることに起因する回路規模の増大を抑制することができる。
【００６２】
なお、本発明は上記実施形態に限定されるものではなく、以下のように具体化してもよい。
（１）上述した正余弦波データ算出処理は、ブラシレスモータ１を制御対象する場合に採用されることに限らず、検出されたモータ電流値とこの電流検出時の電気角データに応じた正余弦波データとに応じて駆動制御するモータを制御対象とする場合に採用されてもよい。
【００６３】
（２）上述したアドレス正規化処理では、桁のシフトと加減算とを用いることで正規化電気角データθｎを算出することに限らず、当該モータ制御装置１０が使用される使用状況に応じて乗算器等を採用することで正規化電気角データθｎを算出しても、正弦波テーブル１６の共用化を図ることができる。
【００６４】
（３）上述したアドレス正規化処理では、極対数Ｐｎが２ｎ−１である場合の電気角データθｅと正余弦波データとの関係を示す正弦波テーブル１６に対し、電気角データθｅにＰｎ／２ｎ−１を積算した正規化電気角データθｎをアドレスとして入力することで、正余弦波データを生成しているが、この生成法に限らず、以下のように処理してもよい。
【００６５】
すなわち、上述したアドレス正規化処理では、当該モータ制御装置１０が使用される使用状況に応じて、極対数Ｐｎが２ｎ−ｍ（ｍは０またはｎ以下の正数）である場合の電気角データθｅと正余弦波データとの関係を示す正弦波テーブルに対し、電気角データθｅにＰｎ／２ｎ−ｍを積算した正規化電気角データθｎをアドレスとして入力することで正余弦波データを生成する方法を採用しても良い。
【００６６】
（４）上述したモータ制御装置１０では、機械角を取得する位置検出器としてエンコーダ２を採用することに限らず、例えば、レゾルバなどの位置検出器を採用してもよい。
【００６７】
（５）上述した正弦波テーブル１６として、正弦波一周期に相当する４象限（３６０度）全てのデータを格納した正弦波テーブルを採用することに限らず、例えば、読み出しデータの符号反転や読み出しアドレスの反転等を行う方法を用いて正余弦波を生成することを前提に、1象限（９０度）の正弦波データのみを格納した正弦波テーブルを採用してもよい。
【符号の説明】
【００６８】
１…ブラシレスモータ（モータ）  ２…エンコーダ
１０…モータ制御装置  １１…制御コントローラ
１５…電気角算出ブロック  １６…正弦波テーブル
Ｔｅ…電気角一周期データ
Ｔｍ…機械角一周期データ
θｅ…電気角データ
θｅｋ…仮電気角データ
θｍ…機械角データ
θｎ…正規化電気角データ
Ｐｎ…極対数
【図１】
0005765263.tif 000002
【図２】
0005765263.tif 000003
【図３】
0005765263.tif 000004
【図４】
0005765263.tif 000005
【図５】
0005765263.tif 000006
【図６】
0005765263.tif 000007
【図７】
0005765263.tif 000008