"モータの回転角度に同期して周期的に変動する、モータが発生する発生トルクと負荷を駆動するために必要な負荷トルクとの差の変動であるトルク変動を抑制するモータ制御装置であって、モータの回転角度に対して正弦波状に変化するトルクの値を表す正弦波データを記憶する記憶部と、記憶部に記憶される正弦波データが表すトルクの値に基づいて、発生トルクを補正するための複数の補正トルクであって、位相、周期および振幅のうちいずれかが異なる複数の補正トルクを発生するための複数の補正データを生成し、生成した複数の補正データによって発生される複数の補正トルクの値を加算し、加算した補正トルクの値を発生させるためのトルク変動補正データを生成するトルク変動補正データ生成部と、トルク変動補正データ生成部によって生成されたトルク変動補正データに基づいて、発生トルクを制御してトルク変動を抑制する制御部とを含むことを特徴とするモータ制御装置。前記複数の補正データは、前記記憶部に記憶される正弦波データが表すトルクの値の変動成分をフーリエ級数展開したときの正弦の項または余弦の項によって表わされる波形のデータであることを特徴とする請求項1に記載のモータ制御装置。前記複数の補正データは、負荷に起因するトルク変動を抑制するための負荷トルク変動補正データと、負荷を除く残余の要因に起因するトルク変動を抑制するための発生トルク変動補正データとからなり、前記トルク変動補正データ生成部は、負荷トルク変動補正データの値と、発生トルク変動補正データの値に対して発生トルクの変動成分を0とするための演算を行った値とを加算することによって、前記トルク変動補正データを生成することを特徴とする請求項1または2に記載のモータ制御装置。前記複数の補正データは、変動する負荷トルクの変動成分のうち、変動周期の一次成分を抑制するための負荷トルク変動補正データと、変動する負荷トルクの変動成分のうち、変動周期の二次以上の成分を抑制するための発生トルク変動補正データとからなり、前記トルク変動補正データ生成部は、負荷トルク変動補正データの値と、発生トルク変動補正データの値に対して変動周期の二次以上の変動成分を0とするための演算を行った値とを加算することによって、前記トルク変動補正データを生成することを特徴とする請求項1または2に記載のモータ制御装置。モータの特定相に流れる電流と同相へ印加する電圧との位相差に基づいてモータの回転角度を算出する回転角度算出部をさらに含み、前記トルク変動補正データ生成部は、前記記憶部に記憶される正弦波データが表すトルクの値に基づいて複数の補正データを生成するとき、回転角度算出部によって算出された回転角度でのトルクの値を前記記憶部に記憶される正弦波データから取得し、取得した正弦波データが表すトルクの値に基づいて、前記複数の補正データを生成することを特徴とする請求項1~4のいずれか1つに記載のモータ制御装置。前記制御部は、前記トルク変動補正データに基づいて、モータの特定相に流れる電流と同相へ印加する電圧との位相差が予め定める位相差になるように発生トルクを制御してトルク変動を抑制することを特徴とする請求項5に記載のモータ制御装置。前記制御部は、前記トルク変動補正データに基づいて、前記トルク変動補正データ生成部によって生成された負荷トルク変動補正データおよび発生トルク変動補正データに基づいて、モータの回転角度と前記正弦波データに対応する目標回転角度との差の変動を抑制するように発生トルクを制御してトルク変動を抑制することを特徴とする請求項3または4に記載のモータ制御装置。前記制御部は、前記トルク変動補正データに基づいて形成した電圧波形の電圧をモータの各相に印加することを特徴とする請求項1~7のいずれか1つに記載のモータ制御装置。第1~第5の従来技術は、圧縮機構の負荷変動による負荷トルク変動を抑制することを目的としたものであり、補正データ、たとえば衝撃緩和トルクマップ、正規化トルクパターン、あるいはd軸電流指令データテーブルなどの補正データは、負荷変動波形に合わせたものである。したがって、圧縮機構の構造や運転条件が変わるごとに、専用の補正データを用意しなければならず、マイクロコンピュータ以下マイコンという内の補正データ格納メモリを大容量必要とする。また、モータの組み付け誤差によって、永久磁石や回転軸で構成される回転子の位置が、モータのコイルを配置した固定子の中心からずれてしまう偏芯や、永久磁石の配置によって発生する磁束むらによって、発生トルクそのものが変動してしまうことがある。発生トルクそのものが変動する発生トルク変動による騒音や振動も問題であるが、第1~第5の従来技術は、発生トルク変動に対する補正については何ら考慮されていない。負荷トルク変動は、モータの外部から伝わるトルクの変動であり、基本的な考え方として、これを抑制して振動や騒音を低減するためには、モータの駆動電圧や駆動電流が、負荷変動と同じトルク変動で変動するように補正データを作成すればよい。これは、つまり、大きなトルクが必要な回転位置では、それに応じた大きなトルクを発生させることである。しかしながら、モータの偏芯や磁束むらなどによる発生トルク変動は、トルク定数自体が回転に同期して周期的に変動するために発生するものである。したがって、トルク定数が変動しても、発生トルクが一定になるように補正データを作成する必要があり、発生トルクを変える第1~第5の従来技術と同じ考え方では、発生トルク変動を抑制することはできない。さらに、モータの磁束むらによる発生トルク変動の代表的なものとして、一般にトルクリップルと呼ばれる成分は、1回転中に、固定子のモータコイルスロット数と回転子の磁石極数との最小公倍数の周期で発生する、たとえば、3相6スロット4極モータの場合、回転数の12倍の高次周期が基本のトルク変動成分となる。ここで、補正データは、回転位置情報に応じて読み出されて、出力されるが、回転位置の検出分解能が低いと、実際のトルク変動と、補正データによる発生トルクとに位相差が生じ、トルク変動の補正効果が弱まってしまうし、位相差が大きすぎると、逆にトルク変動を増大させてしまうこともある。これは、簡易的に、位相の異なる正弦波同士の引き算を行えば分かることであり、電気角で60度以上の位相差が生じると、補正効果はなくなり、返ってトルク変動が増大してしまう。これを、上述した1回転12回の基本変動成分を持つトルクリップルの場合について具体的に示すと、12倍成分は、回転角度30度でトルク変動1周期が発生していることになる。さらに、上述した補正効果を発揮するための電気角60度の回転角度を求めると、30×60÷360=5となり、回転位置として少なくとも±5度より小さい検出精度が得られないと、トルク補正が行えないことになる。上述した従来技術では、そもそも1回転中の回転位置検出間隔がトルクリップル1周期と同じ30度であるので、これから補正データを作成することは不可能である。本発明の目的は、少ないメモリ容量のトルク補正データで、負荷トルク変動および発生トルク変動を抑制するとともに、モータをより平滑に駆動し、モータを内蔵した圧縮機の振動および騒音を抑制することができるモータ制御装置の提供することである。また、本発明の目的は、メモリに格納するトルク補正データを、モータ固有のデータではなく、モータの個体差や機種に依存しない汎用性の高いデータとすることができるモータ制御装置を提供することである。本発明は、モータの回転角度に同期して周期的に変動する、モータが発生する発生トルクと負荷を駆動するために必要な負荷トルクとの差の変動であるトルク変動を抑制するモータ制御装置であって、モータの回転角度に対して正弦波状に変化するトルクの値を表す正弦波データを記憶する記憶部と、記憶部に記憶される正弦波データが表すトルクの値に基づいて、発生トルクを補正するための複数の補正トルクであって、位相、周期および振幅のうちいずれかが異なる複数の補正トルクを発生するための複数の補正データを生成し、生成した複数の補正データによって発生される複数の補正トルクの値を加算し、加算した補正トルクの値を発生させるためのトルク変動補正データを生成するトルク変動補正データ生成部と、トルク変動補正データ生成部によって生成されたトルク変動補正データに基づいて、発生トルクを制御してトルク変動を抑制する制御部とを含むことを特徴とするモータ制御装置である。また本発明は、前記複数の補正データは、前記記憶部に記憶される正弦波データが表すトルクの値の変動成分をフーリエ級数展開したときの正弦の項または余弦の項によって表わされる波形のデータであることを特徴とする。また本発明は、前記複数の補正データは、負荷に起因するトルク変動を抑制するための負荷トルク変動補正データと、負荷を除く残余の要因に起因するトルク変動を抑制するための発生トルク変動補正データとからなり、前記トルク変動補正データ生成部は、負荷トルク変動補正データの値と、発生トルク変動補正データの値に対して発生トルクの変動成分を0とするための演算を行った値とを加算することによって、前記トルク変動補正データを生成することを特徴とする。また本発明は、前記複数の補正データは、変動する負荷トルクの変動成分のうち、変動周期の一次成分を抑制するための負荷トルク変動補正データと、変動する負荷トルクの変動成分のうち、変動周期の二次以上の成分を抑制するための発生トルク変動補正データとからなり、前記トルク変動補正データ生成部は、負荷トルク変動補正データの値と、発生トルク変動補正データの値に対して変動周期の二次以上の変動成分を0とするための演算を行った値とを加算することによって、前記トルク変動補正データを生成することを特徴とする。また本発明は、モータの特定相に流れる電流と同相へ印加する電圧との位相差に基づいてモータの回転角度を算出する回転角度算出部をさらに含み、前記トルク変動補正データ生成部は、前記記憶部に記憶される正弦波データが表すトルクの値に基づいて複数の補正データを生成するとき、回転角度算出部によって算出された回転角度でのトルクの値を前記記憶部に記憶される正弦波データから取得し、取得した正弦波データが表すトルクの値に基づいて、前記複数の補正データを生成することを特徴とする。また本発明は、前記制御部は、前記トルク変動補正データに基づいて、モータの特定相に流れる電流と同相へ印加する電圧との位相差が予め定める位相差になるように発生トルクを制御してトルク変動を抑制することを特徴とする。また本発明は、前記制御部は、前記トルク変動補正データに基づいて、前記トルク変動補正データ生成部によって生成された負荷トルク変動補正データおよび発生トルク変動補正データに基づいて、モータの回転角度と前記正弦波データに対応する目標回転角度との差の変動を抑制するように発生トルクを制御してトルク変動を抑制することを特徴とする。また本発明は、前記制御部は、前記トルク変動補正データに基づいて形成した電圧波形の電圧をモータの各相に印加することを特徴とする。本発明によれば、モータの回転角度に同期して周期的に変動する、モータが発生する発生トルクと負荷を駆動するために必要な負荷トルクとの差の変動であるトルク変動を抑制するにあたって、記憶部は、モータの回転角度に対して正弦波状に変化するトルクの値を表す正弦波データを記憶する。トルク変動補正データ生成部は、記憶部に記憶される正弦波データが表すトルクの値に基づいて、発生トルクを補正するための複数の補正トルクであって、位相、周期および振幅のうちいずれかが異なる複数の補正トルクを発生するための複数の補正データを生成し、生成した複数の補正データによって発生される複数の補正トルクの値を加算し、加算した補正トルクの値を発生させるためのトルク変動補正データを生成する。そして、制御部は、トルク変動補正データ生成部によって生成されたトルク変動補正データに基づいて、発生トルクを制御してトルク変動を抑制する。したがって、モータ制御装置は、少ないメモリ容量のトルク補正データ、つまり正弦波データで、負荷トルク変動および発生トルク変動などのトルク変動を抑制するとともに、モータをより平滑に駆動し、モータを内蔵した圧縮機の振動および騒音を抑制することができる。また、モータ制御装置は、メモリに格納するトルク補正データを、モータ固有のデータではなく、モータの個体差や機種に依存しない汎用性の高いデータとすることができる。また本発明によれば、前記複数の補正データは、前記記憶部に記憶される正弦波データが表すトルクの値の変動成分をフーリエ級数展開したときの正弦の項または余弦の項によって表わされる波形のデータである。したがって、モータ制御装置は、正弦波データから容易に複数の補正データを生成することができる。また本発明によれば、前記複数の補正データは、負荷に起因するトルク変動を抑制するための負荷トルク変動補正データと、負荷を除く残余の要因に起因するトルク変動を抑制するための発生トルク変動補正データとからなる。そして、前記トルク変動補正データ生成部は、負荷トルク変動補正データの値と、発生トルク変動補正データの値に対して発生トルクの変動成分を0とするための演算を行った値とを加算することによって、前記トルク変動補正データを生成する。したがって、モータ制御装置は、トルク変動の発生要因が、負荷トルク変動および発生トルク変動のように異なった発生要因を含んでいても、効果的にトルク変動を抑制することができるトルク変動補正データを作成することができる。本発明によれば、前記複数の補正データは、変動する負荷トルクの変動成分のうち、変動周期の一次成分を抑制するための負荷トルク変動補正データと、変動する負荷トルクの変動成分のうち、変動周期の二次以上の成分を抑制するための発生トルク変動補正データとからなる。そして、前記トルク変動補正データ生成部は、負荷トルク変動補正データの値と、発生トルク変動補正データの値に対して変動周期の二次以上の変動成分を0とするための演算を行った値とを加算することによって、前記トルク変動補正データを生成する。したがって、モータ制御装置は、負荷トルク変動が高次波成分を含んでいても、トルクリップルをはじめとする高次のトルク変動の抑制を実現して、効果的にトルク変動を抑制することができるトルク変動補正データを作成することができる。また本発明によれば、回転角度算出部は、モータの特定相に流れる電流と同相へ印加する電圧との位相差に基づいてモータの回転角度を算出する。そして、前記トルク変動補正データ生成部は、前記記憶部に記憶される正弦波データが表すトルクの値に基づいて複数の補正データを生成するとき、回転角度算出部によって算出された回転角度でのトルクの値を前記記憶部に記憶される正弦波データから取得し、取得した正弦波データが表すトルクの値に基づいて、前記複数の補正データを生成する。したがって、モータ制御装置は、モータの回転角度を高精度に検出することができるので、トルクリップルなど高次のトルク変動成分の抑制が可能になるとともに、モータ駆動に必要な情報を使用するので特別な検出手段を設ける必要がない。また本発明によれば、前記制御部は、前記トルク変動補正データに基づいて、モータの特定相に流れる電流と同相へ印加する電圧との位相差が予め定める位相差になるように発生トルクを制御してトルク変動を抑制する。したがって、モータ制御装置は、負荷の振動および騒音を効果的に抑制することができる。また本発明によれば、前記制御部は、前記トルク変動補正データに基づいて、前記トルク変動補正データ生成部によって生成された負荷トルク変動補正データおよび発生トルク変動補正データに基づいて、モータの回転角度と前記正弦波データに対応する目標回転角度との差の変動を抑制するように発生トルクを制御してトルク変動を抑制する。したがって、モータ制御装置は、モータの回転を平滑化することができる。また本発明によれば、前記制御部は、前記トルク変動補正データに基づいて形成した電圧波形の電圧をモータの各相に印加する。したがって、モータ制御装置は、駆動電圧の電圧波形の振幅を制御するので、容易にトルク変動補正データを生成することができる。以下、図面を参照して本発明の各実施形態について詳細に説明する。当然ながら、本発明はこれらのみに限定されるものではなく、これの実施形態に記載されている構成などは、特に限定的な記載がない限り、この発明の範囲をこれのみに限定する趣旨ではなく、単なる説明例に過ぎない。また、本発明の各実施形態において、同じ構成を有するものに対しては、同じ名称かつ同じ参照符を付して説明する。図1は、本発明の第1実施形態である制御回路7の構成を示すブロック図である。交流AlternatingCurrent:以下ACという電源供給源1は、交流の駆動電源である。コンバータ2は、AC電源供給源1からのAC電圧を直流DirectCurrent:以下DCという電圧に変換する。インバータ3は、コンバータ2で変換されたDC電圧を、モータ各相のコイルごとの駆動波形の駆動電圧に振り分け、振り分けた駆動電圧を各相のコイルに供給する。モータ4は、3相のコイルを備え、回転子に永久磁石を配置した永久磁石同期型モータである。モータ4は、インバータ3とは3本のコイル端子で接続されている。圧縮機構5は、圧縮稼動部がモータ4のトルク軸、つまり回転軸に接続されている。圧縮機6は、主となる構成要素として、モータ4および圧縮機構5を含んで構成される。負荷である圧縮機構5は、シングルロータリー方式またはツインロータリー方式の圧縮機構であり、吸入、圧縮、および排出からなる圧縮工程を繰り返す。したがって、圧縮機構5の負荷トルクは、圧縮工程に同期して変動する。以下、負荷トルクの変動のことを、負荷トルク変動といい、発生トルクの変動のことを発生トルク変動という。トルク変動を抑制するとは、トルク変動の変動幅、つまり振幅を少なくすることである。モータ制御装置である制御回路7は、インバータ3を制御することによって、モータ4を制御する制御回路である。制御回路7は、電流検出器8、電流検出アンプ9、モータ電流推定部10、回転数設定部11、駆動データ作成部12、駆動用正弦波データテーブル13、位相差検出部14、目標位相差格納部15、比較部16、比例積分ProportionalIntegral:以下PIという演算部17、パルス幅変調PulseWidthModulation:以下PWMという作成部18、回転位置検出部19、補正用正弦波データテーブル20および補正データ作成部21を含んで構成される。制御回路7は、たとえばマイクロコンピュータ以下マイコンというおよび記憶装置を含んで構成される。マイクロコンピュータは、記憶装置に記憶されるプログラムを実行することによって、電流検出器8、および電流検出アンプ9を制御し、モータ電流推定部10、駆動データ作成部12、位相差検出部14、比較部16、PI演算部17、PWM作成部18、回転位置検出部19、および補正データ作成部21などの機能を実現し、回転数設定部11、駆動用正弦波データテーブル13、目標位相差格納部15、および補正用正弦波データテーブル20などの記憶部を実現し、制御に関する計算処理を実行する。電流検出器8は、微小な値の抵抗器などによって構成され、コンバータ2とインバータ3との間に流れる電流を検出する。電流検出アンプ9は、電流検出器8によって検出された電流を増幅して電流信号を生成し、生成した電流信号をモータ電流推定部10に送る。モータ電流推定部10は、電流検出アンプ9から受け取る電流信号に基づいて、モータ4の各相もしくは特定相に流れるモータ電流を検出する。制御回路7は、PWM作成部18によってインバータ3を制御しており、現在どのコイルに対して電流を流しているかを認識している。モータ電流推定部10は、PWM作成部18から現在どのコイルに対して電流を流しているかを表す情報を受け取り、その情報に基づいて、各相もしくは特定相に流れているモータ電流を検出する。モータ電流の検出は、たとえば特開2005-160149号公報に記載されている従来技術による方法で行ってもよいが、この方法に限定されるものではなく、カレントトランスなどに代表される電流センサを、モータのある1相のコイル端子に取付けて、モータ電流を直接検出する方法でもよい。回転数設定部11は、目標とするモータ回転数を表す情報が記憶しており、記憶しているモータ回転数を表す情報を駆動データ作成部12に送る。駆動データ作成部12は、回転数設定部11から受け取る情報が表すモータ回転数に応じて、駆動用正弦波データテーブル13から、3相のコイル端子それぞれに印加する駆動電圧の基本波形以下駆動電圧波形というを形成するための駆動データを読み込み、読み込んだ駆動データを、PWM作成部18および位相差検出部14に送る。近年、モータに印加する駆動電圧の波形は、正弦波状の波形が用いられることが多くなっている。正弦波の波形を用いる駆動は、モータの振動および騒音を低減する効果を有する。図2は、駆動用正弦波データテーブル13に記憶されるデータの一例を示す図である。図2aは、駆動用正弦波データテーブル13の一例を示す。図2bは、図2aに示した駆動用正弦波データテーブル13のデータをグラフ化したものである。駆動用正弦波データテーブル13は、アドレス欄131およびデータ欄132を有する。アドレス欄131は、データが記憶されているアドレスを記憶する。データ欄132は、各アドレス欄131に記憶されるアドレスごとの振幅を、最大振幅を1としたときの値で示すデータを記憶する。駆動用正弦波データテーブル13は、アドレス0~359の360個のデータを含む。駆動用正弦波データテーブル13に記憶される360個のデータは、図2bに示した1周期の正弦波を形成する正弦波データである。横軸は、アドレスを示し、縦軸は、振幅、つまりデータ欄132の値を示す。駆動データ作成部12は、低回転数で駆動するときは、所定の時間間隔で、アドレス0のデータ、アドレス1のデータ、といった具合に、アドレスを1ずつ加算しながらデータを読み出す。駆動データ作成部12は、高回転数で駆動するときは、上記と同じ時間間隔で、アドレス0のデータ、アドレス4のデータ、といった具合に、アドレスを間引きながら読み出す。これによって、高速回転時は低速回転時に比べて、駆動用正弦波データテーブル13から読み出して、正弦波の波形を1周期分作成するのに要する時間が短くなる。したがって、この正弦波の波形に同期して回転するモータ4の回転速度は、速くなる。位相差検出部14は、駆動データ作成部12で作成された駆動電圧波形のうち、ある特定相についての基準位相、たとえば、正弦波波形の位相0度のタイミングと、モータ電流推定部10で得られた、前記特定相と同じ相のモータ電流とから、駆動電圧とモータ電流との位相差を検出する。たとえば、位相差検出部14は、駆動電圧波形の位相0のタイミングと、モータ電流波形の位相0のタイミングとの差を位相差として求め、あるいは駆動電圧波形の位相0のタイミングでモータ電流を複数回サンプリングして、サンプリング結果の平均値などから位相差と同等の情報を位相差として求める。目標位相差格納部15は、回転数などの回転条件ごとに、最適な位相差の目標値が目標位相差として記憶され、格納されている。ここで、最適な位相差とは、モータの最高効率が得られる位相差、あるいはAC電源供給源1の不意の電源電圧降下などに対しても、モータが停止することのない安定な駆動ができる位相差のことである。比較部16は、位相差検出部14から受け取る位相差と、目標位相差格納部15から受け取る目標位相差とを比較し、位相差のずれ量を計算する。すなわち、比較部16は、実際に回転している状態の位相差の、目標位相差に対するずれ量を計算する。PI演算部17は、比較部16によって計算されたずれ量を積算した値に、所定の積分ゲイン値を乗算する積分Integral:以下Iという制御計算部と、ずれ量そのものに所定の比例ゲイン値を乗算する比例Proportional:以下Pという制御計算部とからなり、両計算結果を合算し、合算した合算結果をPWM作成部18に送る。回転角度算出部である回転位置検出部19は、後述する回転子43の回転位置を、任意の点、たとえば回転角度0度の点を基準とした回転角度に類する回転位置情報として作成する。回転位置検出部19は、作成した回転位置情報を補正データ作成部21に送る。記憶部である補正用正弦波データテーブル20は、駆動用正弦波データテーブル13に記憶されているデータと同様のデータ、たとえば図2aに示した正弦波データと同じデータを記憶する。トルク変動補正データ生成部である補正データ作成部21は、回転位置検出部19から受け取る回転位置情報を基本アドレスとして、補正用正弦波データテーブル20から補正データを読み出し、読み出した補正データに対して後述する計算を行い、計算結果をPWM作成部18に送る。制御部であるPWM作成部18は、駆動データ作成部12から受け取る駆動データ、PI演算部17から受け取る合算結果、および補正データ作成部21から受け取る計算結果に基づいて、実際にモータ4の各コイルに印加する駆動電圧波形を表す駆動電圧データを作成する。PWM作成部18は、通常、インバータ3へは、インバータ3での損失を低減するため、駆動電圧波形をパルス幅変調したPWM波形として送る。すなわち、PWM作成部18は、駆動電圧波形をPWM波形に変換して出力する。電流検出器8、電流検出アンプ9、モータ電流推定部10、回転数設定部11、駆動データ作成部12、駆動用正弦波データテーブル13、位相差検出部14、目標位相差格納部15、比較部16およびPI演算部17は、モータ4を駆動するための電圧/電流位相差フィードバック制御系を構成し、回転位置検出部19、補正用正弦波データテーブル20および補正データ作成部21は、トルク変動を補正するためのトルク変動補正データ作成系を構成している。上述した実施形態では、モータ4の駆動を、電圧と電流との位相差を制御することによって実現している。本実施形態は、後述するように、モータ4の回転位置を検出する方法として、電圧と電流との位相差の情報を使用しており、電圧と電流との位相差の情報を、モータ4の駆動とモータ4の回転位置を検出とで共有することができるので、演算量を軽減することができる効果的な構成である。モータ4の駆動は、これに限定されるものではなく、従来からある、逆起電圧を検出し、検出した逆起電圧に基づいて回転速度をフィードバック制御するもの、もしくは文献エアコン用正弦波駆動インバーターコンプレッサモータの高性能駆動:東芝レビューVol.57No.10に記載されているようなベクトル制御によって、回転速度および回転位置を推定して駆動するものであってもよい。次に、補正用正弦波データテーブル20および補正データ作成部21について詳細に説明する。図3は、補正用正弦波データテーブル20に記憶されるデータの一例を示す図である。図3aに示した補正用正弦波データテーブル20は、360個のデータで1周期の正弦波が形成されるようなデータを含み、図2aと同様のアドレス欄201およびデータ欄202を有するデータテーブルである。ここで、圧縮機構5によって、モータ4のモータ軸、つまり回転軸に外部から矩形波状のトルク変動が伝えられ、このトルク変動を抑制する場合を考える。一般に、矩形波fのフーリエ級数は式1のように表される。...1ここで、nは次数であり、tは時間である。n=1が1次であり、n=3が2次であり、n=5が3次であり、n=7が4次である。本実施形態では、回転位置の情報を使用する。すなわち、式1の右辺は、sin関数を用いて表されるが、補正用正弦波データテーブル20には、すでに正弦波データが記憶されているので、補正データ作成部21は、回転位置に従って、補正用正弦波データテーブル20から正弦波データを読み出せば、式1による波形と同じ正弦波の波形を生成することができる。負荷トルクの変動を抑制するためには、補正データ作成部21は、負荷トルクのトルク変動、すなわち、式1と同じ波形を作成し、作成した波形と同じ波形の補正トルクを、モータ4に発生させればよい。回転位置検出部19からの回転位置情報以下回転位置信号ともいうが、モータ4の1回転で360回の分解能で出てくるものとして、補正データ作成部21は、まず、図3aに示した補正用正弦波データテーブル20から、式1にn=1を代入して、回転位置に従って、アドレスを1ずつ加算しながら、つまりアドレス0,1,2のデータを作成する。すなわち、補正データ作成部21は、回転位置0の時にはアドレス0の値、回転位置1の時にはアドレス1の値を読み出す。回転位置信号は、1回転で360回の分解能であるので、たとえば、回転位置0は、0/360の位置であり、回転位置1は、1/360の位置である。また、補正データ作成部21は、n=3についても式1に代入して求める。このときは、データを回転位置に従って読み出すアドレスとしては、3個おきに、つまり、アドレス0,3,6を読み出せばよい。すなわち、補正データ作成部21は、回転位置0の時にはアドレス0の値、回転位置1の時にはアドレス3の値を読み出す。このようにして、補正データ作成部21が、n=1,3,5,7の4次までの高次波について、データを読み出し、さらに式1に示すような4/π×nの振幅を計算して、これらを加算すると、図3bに示したグラフのように矩形波状の負荷トルク変動補正データが得られる。すなわち、図3bに示したグラフは、回転位置ごとに、n=1のときの4/πnsinπntと、n=3のときの4/πnsinπntと、n=5のときの4/πnsinπntと、n=7のときの4/πnsinπntとを加算したグラフである。横軸は、回転位置を示し、縦軸は、振幅を示す。振幅は、データ欄202の最大振幅を1としたときの値である。このように、負荷トルク変動補正データを補正用正弦波データテーブル20から作成することは、式1のサイン演算を行う必要がないので、補正データ作成部21は、制御回路7のマイコンの処理負荷を軽減し、演算時間を短縮することができる。補正用正弦波データテーブル20からのデータの読み出しについて、もう少し具体的に説明する。補正データ作成部21は、回転位置信号が0の位置であった場合は、n=1,3,5,7のいずれの場合もアドレス0の値を読み出す。図3aに示した補正用正弦波データテーブル20では、データは0である。この場合、これらの値に振幅を乗算して合算しても、値は0である。次に、補正データ作成部21は、回転位置信号が1の位置であった場合は、n=1についてはアドレス1のデータを、n=3については回転位置信号の3倍のアドレスであるアドレス3のデータを、n=5については回転位置信号の5倍のアドレスであるアドレス5のデータを、n=7については回転位置信号の7倍のアドレスであるアドレス7のデータを読み出し、読み出したそれぞれのデータに4/π×nの振幅を乗算して、それぞれの乗算結果を合算する。補正データ作成部21は、これをモータ4の回転とともに更新されていく回転位置信号ごとに行うことによって、図3bに示したような矩形波状の負荷トルク変動補正データを作成していく。そして、補正データ作成部21は、作成した負荷トルク変動補正データを、PWM作成部18に送り、PWM作成部18がモータ駆動することで、矩形波状のトルクを発生することができる。したがって、制御回路7は、負荷トルクの変動による負荷トルク変動を抑制することができて、負荷トルク変動に伴うモータ4および圧縮機構5の振動および騒音の抑制を実現することができる。次に、モータ4自体が発生する発生トルクの補正について説明する。一般に、トルクリップルと呼ばれている発生トルクの変動は、1回転中に、固定子の巻線スロット数と回転子の磁極数との最小公倍数のトルク変動が発生する。図4は、モータ4の断面を示す図である。図5は、トルクリップルの一例を示す図である。モータ4は、固定子41および回転子43を含んで構成される。固定子41には、スロット42およびスロット42が形成される。ティース45は、コイル巻き芯である。スロット42は、ティース45に巻かれる固定子コイル巻線を収容する。回転子43は、磁極44および回転軸46を含んで構成される。磁極44は、永久磁石である。回転軸46は、回転子43から図4の紙面鉛直方向に延在している。図4に示したモータ4は、3相6スロット4極モータの例である。3相6スロット4極モータのような種類のモータでは、一定のトルクを発生しようとしても、図5に示したグラフのように、回転角度30度ごと、すなわち回転数の12倍が基本の周期となるトルク変動、いわゆるトルクリップルが発生してしまう。横軸は、回転角度度を示し、縦軸は、トルクNmを示す。トルクリップルの波形は、磁極44やティース45の形状や配置などによって、多少波形は変わるが、回転数の12倍という基本周期は変わらない。図6は、トルクリップルの他の例を示す図である。横軸は、回転角度度を示し、縦軸は、トルクNmを示す。図6に示したトルク変動波形を示すトルクリップルの例は、偏芯によるものである。偏芯とは、固定子41の中心位置に対して回転軸46の中心がずれてしまっていることや回転軸46が傾いていることである。この偏芯は、圧縮機6へのモータ4の組み込み時の組み付け誤差、あるいは各部材の加工精度によって発生するものである。また、電気的にみても、ティース45に巻かれるコイルの巻きむらなどにより一部のティース45に巻かれた固定子コイル巻線に流れる電流が変化すると、その電流の変化が発生トルクに影響を及ぼす。これも広義の意味で、偏芯ということができる。偏芯は、モータ4個々によって、その大きさや変動成分が異なる点が特徴的である。近年、モータ効率の高効率化を図るため、固定子41と回転子43とのギャップの狭隙化が図られている。ギャップの狭隙化によってギャップに対する偏芯量の割合が相対的に大きくなってきており、偏芯によるトルク変動も、モータ4の振動および騒音に大きく関係している。このようなトルクリップルについても、上記と同様に、補正データ作成部21によって補正データを作成して抑制すればよいが、上述のような圧縮機構5などの外部から加わる負荷トルクの変動と、トルクリップルに代表される発生トルクそのものの脈動であるトルクリップルとを同等に合算すると、トルク変動を悪化させてしまうことになりかねない。このことを式2および式3を用いて説明する。以下、各式では、乗算記号×をで表わす。...2ここで、Tは発生トルクまたは負荷トルクの直流成分からなるモータトルク、Kはモータ4固有のトルク定数、Iはモータ4に流すモータ電流の直流成分、tは周期成分からなる負荷トルク変動成分、iは負荷トルク変動補正データによる周期成分からなる負荷トルク補正電流である。補正電流iは、具体的には、モータ4の回転位置情報に従って、補正用正弦波データテーブル20から読み出して作成される周期成分である。モータトルクTは、式2の上段の式のように、トルク定数Kとモータ電流Iとの積で発生する。ここで、外部より負荷トルク変動成分tが加わった場合、負荷トルク変動成分tによる振動などの悪影響を防ぐためには、負荷トルク変動成分tと同波形の補正電流iが流れるようにすればよく、上述の方法で負荷トルク補正電流iが流れるような補正データを作成すればよい。次に、図5に示したトルクリップルのように、発生トルクそのものが変動することについて考慮すると、モータトルクTは式3のようになる。...3ここで、trは発生トルクの周期変動成分以下発生トルク変動成分という、kはトルク定数の周期変動成分である。すなわち、トルクリップルなど、発生トルクそのものの変動については、トルク定数に周期性をもったトルク変動定数kが存在していると見なすことができ、発生トルク変動成分tr=kIが発生する。これを上記と同様に、補正電流iをモータ電流Iに加算して補正すると、式3の下段の式のように、発生トルク変動成分tr=kIだけでなく、tra=Kikiという新たな発生トルク変動成分以下新たな発生トルク変動成分というも発生してしまう。仮に、Kiを負荷トルク変動による振動および騒音を抑制するためのトルクだとしても、kIkiというトルク定数の周期変動成分によるトルク変動が発生してしまうことになる。この発生トルク変動成分trおよび新たな発生トルク変動成分traによる変動が発生トルク変動であり、上記のように、負荷トルク変動と同様の補正では除去することができないことを表している。したがって、平滑なモータ駆動のためには、負荷トルク変動とは異なる計算式を用いて補正データを作成し、これらのトルク変動成分trtraを抑制する必要がある。発生トルクを周期的な変動なく平滑にするためには、発生トルクに周期的なトルク変動成分trtraが発生しないようにすればよいので、KikIkiが0になるようにすればよい。次の式4は、発生トルクを補正するための発生トルク補正電流をicとし、発生トルクの変動分が0になるような発生トルク補正電流icを求める式である。...4周期変動が0になる発生トルク補正電流icを求めると、式4の下段の式のようになる。すなわち、補正データ作成部21では、負荷トルク変動のときと同様に、発生トルク変動と同波形のデータ、つまり式4の下段の式のkに相当するデータ、を作成するとともに、式4の下段の式の計算を行った後に出力すればよい。周期変動成分kは、周期成分であり、上述と同じように、図3aに示したような補正用正弦波データテーブル20から、回転位置に従って、データを読み出して作成される。モータ電流Iおよびトルク定数Kは、いずれも直流成分であり、圧縮機6の駆動条件で回転数によって一義的に決まる値であるので、定数として予め設定しておけばよい。負荷トルク変動の補正は、式2のように抑制した波形と同じ波形を、そのままモータ電流として出力して負荷トルク変動と同じトルクを発生させるものである。しかし、発生トルク変動の補正では、変動成分が発生しないように補正するものであり、補正対象が変わるので、上記のような所定の計算を施した補正データを作成することで、トルクリップルの抑制も実現できる。なお、負荷トルク変動の補正と、発生トルク変動の補正とを同時に行う場合には、補正データ作成部21は、負荷トルク補正電流iを流すための負荷トルク変動補正データと、発生トルク補正電流icを流すための発生トルク変動補正データとを、それぞれ上述したように、補正用正弦波データテーブル20から読み出して所定の計算をした後に、合算して出力すればよい。この合算について式で表すと、式5のようになる。...5式5の上段の式の右辺のIic1i/Iの項が、負荷トルク変動と発生トルク変動とを同時に補正するための合算式である。これに式4の下段の式で表わされる発生トルク補正電流icを代入すると、出力トルクは、TtT=KI、t=Kiとなる。したがって、トルク定数の周期変動成分kによる発生トルク変動は除去され、周期変動トルクとしては、負荷トルク変動に応じた負荷トルク変動成分tのみを発生させることができる。これによって、制御回路7は、トルクリップルによる発生トルク変動を抑制することができ、かつ圧縮機構5の負荷トルク変動に合わせたトルクを発生することができ、モータ4の振動および騒音を抑制することができる。ここで、圧縮機6において、モータ4に接続されているのは、圧縮機構5のみであり、外部からの負荷変動要因による負荷トルク変動は、圧縮機構5の圧縮サイクルによるものと限定することができる。この圧縮機構5の負荷トルク変動の周期は、シングルロータリー方式で1回転1周期、つまり1倍成分が基本成分であり、また、ツインロータリー方式で1回転2周期、つまり2倍成分が基本成分である。また、負荷トルク変動は、基本成分とその高調波成分とからなる。負荷トルク変動の代表的な波形の形状は、三角波に近い。三角波の高調波成分の振幅は、基本成分に比べると1/{高次成分の値2}となる。たとえば、三角波の2倍高調波は、基本成分の振幅の1/4の振幅である。このように、高次成分による負荷トルク変動は小さく、実用上負荷トルク変動は、基本成分のみを補正して抑制することができればよいこともある。そこで、補正データ作成部21は、上記の負荷トルク変動の補正と、発生トルク変動の補正とにおいて、圧縮機構5の圧縮サイクルの1回転中の周期を負荷トルク変動として、それより高次の成分を発生トルク変動として扱う。そして、補正データ作成部21は、負荷トルク変動と発生トルク変動とのそれぞれで上記のような補正データを作成するための計算を行うことで、補正データの周期によって、補正データの計算を一義的に決めることができる。したがって、制御回路7は、補正データ作成部21での計算を軽減することができる。図7は、トルク変動補正処理の処理手順を示すフローチャートである。最も簡単な例として、ツインロータリー方式で、3相6スロット4極のモータ4を含む圧縮機6で、回転数の2倍周期成分のみを負荷トルク変動補正データを用いて補正し、回転数の12倍周期成分のみを発生トルク変動補正データを用いて補正する場合を、図7のフローチャートを交えて説明する。制御回路7は、制御回路7の電源が投入され、動作可能になると、ステップS1に移る。ステップS1では、回転位置検出部19は、モータ4の回転位置情報を更新する。ステップS2,S3では、補正データ作成部21は、ステップS1で回転位置検出部19によってモータ4の回転位置情報が更新されると、更新された回転位置情報に基づいて、補正用正弦波データテーブル20から該当の補正値を読み出す。たとえば、補正用正弦波データテーブル20が図3に示したような1周期分の正弦波データであれば、ステップS2では、補正データ作成部21は、2倍成分のデータを読み込んで振幅を設定する。すなわち、補正データ作成部21は、補正用正弦波データテーブル20から回転位置情報ごとに2個飛ばしのデータを読み出し、読み出したデータ、つまり振幅を、負荷トルク変動補正データとし、負荷トルク変動補正データから負荷トルク補正電流iを計算する。ステップS3では、補正データ作成部21は、12倍成分のデータを読み込んで振幅を設定する。すなわち、補正データ作成部21は、補正用正弦波データテーブル20から回転位置情報ごとに12個飛ばしのデータを読み出し、読み出したデータ、つまり振幅を、トルク定数の周期変動成分kを表す発生トルク変動補正データとする。なお、読み出したデータkを、振幅に変換する場合は、所定の値を乗算する。駆動用正弦波データテーブル13に記憶されているデータの値は、たとえば最大振幅を1としたときの振幅である。したがって、実際の振幅を求めるためには、補正したいトルク成分が除去できるように振幅を調整する必要がある。所定の値は、振幅を調整するための調整値である。調整値は、装置の組立後に一度だけ、トルクを、周波数を分析しながら、実際にトルクの補正を実施し、所望の成分を除去することができる振幅の調整値として求められる。ステップS4では、補正データ作成部21は、発生トルク変動補正データを計算する。すなわち、補正データ作成部21は、式4の下段の式に従って、読み出したデータkに対して、発生トルク補正電流icを求める計算を行う。ステップS5では、補正データ作成部21は、負荷トルク補正電流iと発生トルク補正電流icを、式5の上段の式に示すIic1i/Iに従って合算する。ステップS6では、補正データ作成部21は、合算した補正データをPWM作成部18に送り、ステップS1に戻る。制御回路7は、ステップS1~S6をモータ4の回転位置情報が更新されるごとに実行する。上述したように、負荷トルク変動および発生トルク変動では主成分が一番大きいので、上記のように2倍成分、および12倍成分のみを補正するだけでも、モータ4の騒音および振動を抑制する効果を得ることも可能である。また、補正データとしては、正弦波データを1種類のみ保持していればよく、データ容量を削減することが可能である。このように、制御回路7は、回転数の何倍の周期成分かによって、負荷トルクなのか発生トルクなのかを分けることで、補正データの作成を簡便に行うことができる。上述した各式は、内部永久磁石InternalPermanentMagnet:以下IPMというモータで、通電位相を変更した際に発生するリラクタンストルクについては、表現していないが、発生トルクの周期変動などは、同様の考え方であり、本実施形態は、この種のモータにも適用することができる。回転位置検出部19でのモータ4の回転位置の検出は、文献エアコン用正弦波駆動インバーターコンプレッサモータの高性能駆動:東芝レビューVol.57No.10に記載されているように、モータ4の回転速度を推定して、これを積分することでモータ4の回転位置を求めてもよいし、あるいは図1に示した構成で、モータ駆動に使用している位相差の情報を利用してもよい。位相差を用いた回転位置の計算例は、式6になる。...6ここで、Aは駆動電圧の振幅、ωtは回転位置を表しており、δは駆動電圧の印加タイミングとモータコイルに発生する逆起電圧との位相差、Rはモータコイル抵抗、Bはモータ電流の振幅、θは駆動電圧とモータ電流との位相差である。式6の上段の式は、左辺の第1項が駆動電圧、第2項が逆起電圧であり、両者の差がコイル電流を流すためのトルク電圧となることを表している。式6の上段の式の右辺は、トルク電圧がコイル抵抗とコイル電流との積であることを示している。すなわち、モータ4が回転している状態では、駆動電圧が印加されており、また、回転に伴う逆起電圧が発生しており、駆動電圧と逆起電圧との差が回転を持続するために必要なトルクを発生するための電圧であることを示している。また、式6の下段の式は、上段の式をδについて求めたものである。ここで、逆起電圧は、モータ4の回転に応じて発生するものである。逆起電圧の位相は、モータ4の回転位置と同期しているので、逆起電圧の波形の位相は、回転位置そのものを示していると考えることができる。モータ4への電圧の印加タイミングは、駆動データ作成部12で作成する駆動電圧波形の位相であるので、位相差検出部14は、駆動電圧と逆起電圧との位相差δが分かれば、モータ4の回転位置を求めることができる。モータ4に印加する駆動電圧の振幅Aは、位相差δを求めるための情報であり、PI演算部17で演算された値に比例した値を示す情報であるので、印加する駆動電圧の振幅Aを使用すればよく、モータ電流の振幅Bは、モータ電流推定部10で検出した値で求めることができる。回転位置検出部19は、駆動電圧の振幅Aおよびモータ電流の振幅Bと、位相差検出部14で求めた駆動電圧とモータ電流との位相差θとからδを計算することができる。したがって、モータ4の回転位置は、上記に従って、駆動電圧の印加タイミングを逆起電圧の位相差δ分だけ補正した値になる。図8は、回転位置検出の実験結果の一例を示す図である。図8に示した回転位置検出の実験結果は、モータ4の駆動電圧の印加タイミングと実際の回転位置との関係、および逆起電圧の位相差δの計算を実施して回転位置を補正した位置と実際の回転位置との関係を、実際にモータ4を駆動して求めたときのグラフである。図8に示した回転位置検出の実験結果は、種々の回転条件で回転位置の検出がどのように変化するかを確認したものである。縦軸は、モータ4の回転位置を表している。ここでは、回転位置の検出変動を確認するため、モータ4の回転軸46にエンコーダを取り付け、エンコーダのカウント値を示している。このエンコーダは、1回転で360パルスであり、1パルスのカウントが1度の回転角度に相当するものであり、カウント値は回転角度を示している。横軸は、回転条件を示している。回転条件は、回転数rpm/負荷Nmで示している。0Nmは、無負荷であることを示している。モータ4の回転位置情報として、駆動電圧の印加タイミングをそのまま使用した場合は、図8に示したグラフで塗りつぶした菱形状の印で示したように、モータ4の回転数や負荷トルクの回転条件によって、検出位置が5度以上変動してしまうことが分かる。これは、モータ4の回転位置情報を元にトルクを補正するための補正データを作成する制御回路7では、トルク変動と補正データとに位相ずれが生じることを示しており、抑制効果が弱くなってしまうことを示している。上述したように位相差δを用いて回転位置を検出した場合は、図8に示したグラフで塗りつぶした正方形状の印で示したように、回転条件が変わっても、回転位置情報の変動は小さく、トルク変動の抑制効果が損なわれないことが分かる。このように、制御回路7は、駆動電圧とモータ電流との位相差をはじめとする情報によって回転位置を計算することで、正確な回転位置を検出することができ、これによりトルク変動を抑制することができる。図9は、本発明の第2実施形態である制御回路71の構成を示すブロック図である。制御回路71の構成要素のうち、制御回路7と同じ構成要素については、同じ参照符を付して、重複を避けるために、説明は省略する。制御回路7では、駆動用正弦波データテーブル13と補正用正弦波データテーブル20とは、ともにアドレスに対する正弦波データで構成されている。したがって、補正用正弦波データテーブル20として、駆動用正弦波データテーブル13そのものを使用することで、正弦波データテーブルに関わるデータ容量を削減することができる。図9では、正弦波データテーブル22が、駆動用正弦波データテーブル13および補正用正弦波データテーブル20に該当するものである。図10は、本発明の第3実施形態である制御回路72の構成を示すブロック図である。制御回路72の構成要素のうち、制御回路7と同じ構成要素については、同じ参照符を付して、重複を避けるために、説明は省略する。上述したように、制御回路7および制御回路71は、トルク変動を補正して抑制するために、モータ4の発生トルクを変化させて、トルク変動を打ち消すトルクを発生させている。このために、制御回路7および制御回路71は、モータ4に印加する駆動電圧を変化させて、それに伴いモータ電流を変化させている。すなわち、モータ4の駆動制御を行うための位相差検出部14および回転位置検出部19は、すでに変化したモータ電流の情報に基づいて、位相差や回転位置を検出することになり、検出結果に誤差が生じる。これを防止するため、図9に示した制御回路72の構成では、位相差検出部14および回転位置検出部19に、補正データ作成部21で求めたトルク変動補正データを入力している。位相差検出部14および回転位置検出部19では、トルク変動補正データによるモータ電流の波形などの変化分を減算することによって補償して、本来のモータ電流を推定し、推定したモータ電流によって、正確な位相差および回転位置を検出することができる。このように、本発明に係る実施形態は、モータ4のトルク変動を抑制して平滑に駆動するものであり、圧縮機6などに内蔵される制御回路7,71,72などのモータ制御装置に適用することができる。上述したように、モータ4の回転位置に同期して周期的に発生するトルク変動を抑制する制御回路7は、1種類の補正用正弦波データテーブル20と、補正用正弦波データテーブル20から位相、周期および振幅のうちいずれかが異なる複数の補正データを作成し、これらを合算したトルク変動補正データを作成する補正データ作成部21を備えている。複数の補正データは、トルク変動成分を式1のようにフーリエ級数展開したときの正弦データもしくは余弦データである。このような実施形態によれば、補正データ作成部21は、モータ4の回転位置に応じて、補正用正弦波データテーブル20からデータを読み込んで、位相、周期および振幅のうちいずれかが異なる複数の補正トルクを発生するための複数の補正データを生成して合算することで、トルク変動を抑制するための補正トルクを発生するためのトルク変動補正データを生成する。そして、PWM作成部18は、このトルク変動補正データに基づいて、モータ4に駆動電圧を印加して、モータ4に、トルク変動を抑制することができるトルクを発生させることによって、トルク変動の抑制を実現することができる。ここで、位相を所望の位相にするには、補正用正弦波データテーブル20から読み出すアドレスに、所定のオフセット値を加算すればよい。周期を所望の周期にするには、補正用正弦波データテーブル20から読み出すアドレスを所定値間引けばよい。また、振幅を所望の振幅にするには、読み出したデータに所定の値を乗算すればよい。このようにすることで、補正データ作成部21は、1種類の補正用正弦波データテーブル20から複数の正弦波データを作成することができるので、これを合算することで、トルク変動に整合したトルク変動補正データを効率よく作成することができる。たとえば、エアコンディショナー以下エアコンという製品を例に取ると、機能や冷暖房性能、あるいは価格が異なる複数の機種が商品としてラインアップされており、エアコンに使用される圧縮機もそれぞれで異なるものが用いられている。ここで、トルク変動補正データそのものをメモリなどの記憶装置に記憶して格納する場合を考えると、その機種ごとに専用の補正データを作成してメモリに書き込むという作業が生じ、さらに、補正データの作成および管理の手間が生じるとともに、調整および設定に長時間が必要となってしまい、人員およびコストアップなどが増加してしまう。また、全機種の補正データを各装置のメモリに格納しておく場合は、メモリ使用領域が増大してしまうという問題が生じる。本実施形態では、補正データとしては、1種類の補正用正弦波データテーブル20のみでよく、除去したい成分などの情報を設定するだけでよい。除去したい成分とは、振動への影響が大きい成分のことである。すなわち、負荷トルク変動の波形は、純粋な正弦波ではなく、複数の正弦波が重畳された歪波である。重畳されている複数の正弦波のうち負荷トルク変動への寄与が大きい成分は、1つないしは2つ程度であるので、負荷トルク変動の波形から、この影響の大きい成分だけを除去すれば振動を抑えることができる。また、たとえば、制御回路7に外部から操作可能な複数のスイッチを設け、各スイッチのオン/オフ以下ON/OFFというを、各周期成分の補正のON/OFFと連動させ、ユーザが、使用時に任意のスイッチをON/OFFする設定を行うだけで所望のトルク変動の補正が実現できる。これにより、制御回路7のメーカは、装置の設定および調整作業を大きく軽減することができる。特に、偏芯によるトルク変動は、モータ4個々によるものであり、事前にトルク変動補正データを準備しておくことはできないが、本実施形態の制御回路7では、出荷前の試運転における騒音および振動の測定結果から補正実施成分を設定することで、制御回路7のメーカは、装置の設定および調整作業を大幅に軽減することができる。また、トルク変動補正データは、圧縮機6に内蔵される圧縮機構5に起因するトルク変動を抑制するための負荷トルク変動補正データと、その他の要因によるトルク変動を抑制するための発生トルク変動補正データとからなり、補正データ作成部21は、両補正データを異なる演算式で演算して合算する。また、トルク変動補正データは、圧縮機構5の負荷トルク変動の周期の1次成分を負荷トルク変動補正データと、それより高い変動周期を発生トルク変動補正データとからなり、補正データ作成部21は、両補正データを異なる演算式で演算して合算する。このような実施形態によれば、補正データ作成部21は、トルク変動の発生要因が異なっても効果的にトルク変動を抑制することができるトルク変動補正データを作成することができる。各補正データは、モータ4の回転位置情報に応じて補正用正弦波データテーブル20から読み出され、モータ4の回転位置情報の検出には、モータ4の特定相に流れる電流と同相への印加電圧との位相差の情報が用いられる。また、モータ4の駆動方法は、モータ4の特定相に流れる電流と同相への印加電圧との位相差を所定の値に制御するものである。また、制御回路7は、負荷トルク変動補正データおよび発生トルク補正データによるモータ4の回転位置の変動を抑制するものである。また、制御回路7は、1種類の補正用正弦波データテーブル20から、各補正データを作成するとともに、モータ4の駆動波形も生成している。このような実施形態によれば、制御回路7は、モータ4の回転位置を高精度に検出することができるので、トルクリップルなど高次のトルク変動成分の抑制が可能になるとともに、モータ駆動に必要な情報を利用するので特別な検出手段の必要がない。さらに、上述した実施形態によれば、制御回路7は、補正用のデータとして1種類の補正用正弦波データテーブル20のみを記憶するだけの少ないメモリ容量で、モータ4を平滑に駆動すること、およびモータ4を内蔵した圧縮機6の振動および騒音を抑制することができる。制御回路7は、トルク発生要因が異なる場合や、高次のトルク変動成分についても効果を奏することができる。さらに、トルク補正データは、通常の正弦波のデータであるので、装置のメーカは、モータ4の種類などに依存することなく、装置ごとに設定を行う手間を省くことができる。このように、モータ4の回転角度に同期して周期的に変動する、モータ4が発生する発生トルクと負荷を駆動するために必要な負荷トルクとの差の変動であるトルク変動を抑制するにあたって、補正用正弦波データテーブル20は、モータ4の回転角度に対して正弦波状に変化するトルクの値を表す正弦波データを記憶する。補正データ作成部21は、補正用正弦波データテーブル20に記憶される正弦波データが表すトルクの値に基づいて、発生トルクを補正するための複数の補正トルクであって、位相、周期および振幅のうちいずれかが異なる複数の補正トルクを発生するための複数の補正データを生成し、生成した複数の補正データによって発生される複数の補正トルクの値を加算し、加算した補正トルクの値を発生させるためのトルク変動補正データを生成する。そして、PWM作成部18は、補正データ作成部21によって生成されたトルク変動補正データに基づいて、発生トルクを制御してトルク変動を抑制する。したがって、制御回路7は、少ないメモリ容量のトルク補正データ、つまり正弦波データで、負荷トルク変動および発生トルク変動などのトルク変動を抑制するとともに、モータ4をより平滑に駆動し、モータ4を内蔵した圧縮機の振動および騒音を抑制することができる。また、制御回路7は、メモリに格納するトルク補正データを、モータ4固有のデータではなく、モータ4の個体差や機種に依存しない汎用性の高いデータとすることができる。さらに、前記複数の補正データは、補正用正弦波データテーブル20に記憶される正弦波データが表すトルクの値の変動成分をフーリエ級数展開したときの正弦の項または余弦の項によって表わされる波形のデータである。したがって、制御回路7は、正弦波データから容易に複数の補正データを生成することができる。さらに、前記複数の補正データは、負荷に起因するトルク変動を抑制するための負荷トルク変動補正データと、負荷を除く残余の要因に起因するトルク変動を抑制するための発生トルク変動補正データとからなる。そして、補正データ作成部21は、負荷トルク変動補正データの値と、発生トルク変動補正データの値に対して発生トルクの変動成分を0とするための演算を行った値とを加算することによって、前記トルク変動補正データを生成する。したがって、制御回路7は、トルク変動の発生要因が、負荷トルク変動および発生トルク変動のように異なった発生要因を含んでいても、効果的にトルク変動を抑制することができるトルク変動補正データを作成することができる。さらに、前記複数の補正データは、変動する負荷トルクの変動成分のうち、変動周期の一次成分を抑制するための負荷トルク変動補正データと、変動する負荷トルクの変動成分のうち、変動周期の二次以上の成分を抑制するための発生トルク変動補正データとからなる。そして、補正データ作成部21は、負荷トルク変動補正データの値と、発生トルク変動補正データの値に対して変動周期の二次以上の変動成分を0とするための演算を行った値とを加算することによって、前記トルク変動補正データを生成する。したがって、制御回路7は、負荷トルク変動が高次波成分を含んでいても、トルクリップルをはじめとする高次のトルク変動の抑制を実現して、効果的にトルク変動を抑制することができるトルク変動補正データを作成することができる。さらに、回転位置検出部19は、モータ4の特定相に流れる電流と同相へ印加する電圧との位相差に基づいてモータ4の回転角度を算出する。そして、補正データ作成部21は、補正用正弦波データテーブル20に記憶される正弦波データが表すトルクの値に基づいて複数の補正データを生成するとき、回転位置検出部19によって算出された回転角度でのトルクの値を補正用正弦波データテーブル20に記憶される正弦波データから取得し、取得した正弦波データが表すトルクの値に基づいて、前記複数の補正データを生成する。したがって、制御回路7は、モータ4の回転角度を高精度に検出することができるので、トルクリップルなど高次のトルク変動成分の抑制が可能になるとともに、モータ駆動に必要な情報を使用するので特別な検出手段を設ける必要がない。さらに、PWM作成部18は、前記トルク変動補正データに基づいて、モータ4の特定相に流れる電流と同相へ印加する電圧との位相差が予め定める位相差になるように発生トルクを制御してトルク変動を抑制する。したがって、制御回路7は、負荷の振動および騒音を効果的に抑制することができる。さらに、PWM作成部18は、前記トルク変動補正データに基づいて、補正データ作成部21によって生成された負荷トルク変動補正データおよび発生トルク変動補正データに基づいて、モータ4の回転角度と前記正弦波データに対応する目標回転角度との差の変動を抑制するように発生トルクを制御してトルク変動を抑制する。したがって、制御回路7は、モータ4の回転を平滑化することができる。さらに、PWM作成部18は、前記トルク変動補正データに基づいて形成した電圧波形の電圧をモータ4の各相に印加する。したがって、制御回路7は、駆動電圧の電圧波形の振幅を制御するので、容易にトルク変動補正データを生成することができる。"