回転子と、3相巻線を有する固定子とからなるブラシレスDCモータを駆動するモータ駆動装置であって、前記3相巻線に電力を供給するインバータと、前記ブラシレスDCモータの端子電圧を取得する端子電圧取得部と、通電角が120度以上の波形である第1の波形信号を出力する第1波形発生部と、デューティは一定で、周波数のみを変化させて設定する周波数設定部と、前記端子電圧取得部が取得した前記端子電圧の発生タイミングによって通電角を120度以上180度未満の間で決定する通電角決定部と、前記周波数設定部で設定した周波数と前期通電角決定部で決定した通電角で第2の波形信号を出力する第2波形発生部と、前記端子電圧取得部が取得した前記端子電圧が所定の状態に近づくよう前記第2の波形信号を補正した補正波形信号を出力する波形補正部と、前記ブラシレスDCモータの運転状態に応じて前記第1の波形信号と前記補正波形信号を切り換えて出力する切換判定部と、前記切換判定部から出力された第1の波形信号または補正波形信号に基づき、前記インバータが前記3相巻線に供給する電力の供給タイミングを指示するドライブ信号を、前記インバータに出力するドライブ部、とを有するモータ駆動装置。前記ブラシレスDCモータを流れる還流電流が0になる時に端子電圧に現れる端子電圧変化のタイミングと前記ドライブ信号がオンまたはオフするタイミングとの時間差を計算する時間差計測部を有し、前記端子電圧の発生タイミングを前記時間差とする請求項1に記載のモータ駆動装置。前記所定の状態を、前記時間差の平均と前記時間差の差分が0である状態とした請求項2に記載のモータ駆動装置。前記通電角決定部は、前記時間差が決められた第1の閾値時間より大きくなったときに通電角を狭めるとした請求項2または3に記載のモータ駆動装置。前記通電角決定部は、前記時間差が決められた第2の閾値時間より小さくなったときに通電角を狭めるとした請求項2または3に記載のモータ駆動装置。前記第1波形発生部が、前記端子電圧取得部が取得した前記端子電圧のゼロクロスポイントを前記回転子の位置情報として取得し、前記回転子の位置情報に基づき前記第1の波形信号を出力する請求項1~5のいずれか1項に記載のモータ駆動装置。前記ブラシレスDCモータの回転子は、鉄心に永久磁石を埋め込んで構成され、さらに、突極性を有する請求項1~6のいずれか1項に記載のモータ駆動装置。前記ブラシレスDCモータは圧縮機を駆動する請求項1~7のいずれか1項に記載のモータ駆動装置。前記圧縮機はレシプロ圧縮機である請求項8に記載のモータ駆動装置。前記圧縮機で使用される冷媒はR600aである請求項8または9に記載のモータ駆動装置。請求項1~10のいずれか1項に記載のモータ駆動装置により駆動されるブラシレスDCモータを備えた電気機器。しかしながら、前記従来の構成では、端子電圧位相に対して電流位相が大きく進みモータ電流0クロスがインバータ205のモータ電流と同相のスイッチング素子がオフする前に発生するような負荷が軽い状態であっても非常に不安定な使用条件においては電流乱れが発生し、高速駆動時であってもモータ電流0クロスがインバータ205のモータ電流と同相のスイッチング素子がオンした後に発生するような負荷が非常に大きな条件では、端子電圧の状態から補正ができず電流乱れが発生するという課題を有していた。本発明は、前記従来の課題を解決するもので、非常に負荷が軽く不安定なシステム状態もしくは非常に負荷が重い状態であっても、安定駆動できるとしたモータ駆動装置を提供することを目的とする。前記従来の課題を解決するために、本発明のモータ駆動装置は、回転子と、3相巻線を有する固定子とからなるブラシレスDCモータを駆動するモータ駆動装置であって、前記3相巻線に電力を供給するインバータと、前記ブラシレスDCモータの端子電圧を取得する端子電圧取得部と、通電角が120度以上の波形である第1の波形信号を出力する第1波形発生部と、デューティは一定で、周波数のみを変化させて設定する周波数設定部と、前記端子電圧取得部が取得した前記端子電圧の発生タイミングによって通電角を120度以上180度未満の間で決定する通電角決定部と、前記周波数設定部で設定した周波数と前期通電角決定部で決定した通電角で第2の波形信号を出力する第2波形発生部と、前記端子電圧取得部が取得した前記端子電圧が所定の状態に近づくよう前記第2の波形信号を補正した補正波形信号を出力する波形補正部と、前記ブラシレスDCモータの運転状態に応じて前記第1の波形信号と前記補正波形信号を切り換えて出力する切換判定部と、前記切換判定部から出力された第1の波形信号または補正波形信号に基づき、前記インバータが前記3相巻線に供給する電力の供給タイミングを指示するドライブ信号を、前記インバータに出力するドライブ部を有するとしたものである。これによって、前記第2の波形信号で駆動中は前記端子電圧の状態を任意の状態に保てるようになり、前記ブラシレスDCモータの相電流0クロスが同相の前記ドライブ信号がオフ中に発生させることができ、常に前記端子電圧と前記第2の波形信号が所定の状態に近づくよう制御することとなる。本発明のモータ駆動装置は、不安定なシステム状態での非常に軽い負荷や電流位相と端子電圧位相が近づく非常に負荷が重い状態など広い負荷範囲で、安定駆動することができる。第1の発明は回転子と、3相巻線を有する固定子とからなるブラシレスDCモータを駆動するモータ駆動装置であって、前記3相巻線に電力を供給するインバータと、前記ブラシレスDCモータの端子電圧を取得する端子電圧取得部と、通電角が120度以上の波形である第1の波形信号を出力する第1波形発生部と、デューティは一定で、周波数のみを変化させて設定する周波数設定部と、前記端子電圧取得部が取得した前記端子電圧の発生タイミングによって通電角を120度以上180度未満の間で決定する通電角決定部と、前記周波数設定部で設定した周波数と前期通電角決定部で決定した通電角で第2の波形信号を出力する第2波形発生部と、前記端子電圧取得部が取得した前記端子電圧が所定の状態に近づくよう前記第2の波形信号を補正した補正波形信号を出力する波形補正部と、前記ブラシレスDCモータの運転状態に応じて前記第1の波形信号と前記補正波形信号を切り換えて出力する切換判定部と、前記切換判定部から出力された第1の波形信号または補正波形信号に基づき、前記インバータが前記3相巻線に供給する電力の供給タイミングを指示するドライブ信号を、前記インバータに出力するドライブ部を有したものである。これによって、前記第2の波形信号で駆動中は前記端子電圧の状態を任意の状態に保てるようになり、前記ブラシレスDCモータの相電流0クロスが同相の前記ドライブ信号がオフ中に発生させることができ、常に前記端子電圧と前記第2の波形信号が所定の状態に近づくよう制御することとなり、不安定なシステム状態での非常に軽い負荷や電流位相と端子電圧位相が近づく非常に負荷が重い状態など広い負荷範囲で、安定駆動することができる。第2の発明は、特に、第1の発明に加えて前記ブラシレスDCモータを流れる還流電流が0になる時に端子電圧に現れる端子電圧変化のタイミングと前記ドライブ信号がオンまたはオフするタイミングとの時間差を計算する時間差計測部を有し、前記端子電圧の発生タイミングを前記時間差とすることにより、前記第1波形発生部で採用されるような誘起電圧0クロスを検出しハイとローの2値を出力する単純な回路とその変化のタイミングを観測するだけで良いこととなり、より単純なアルゴリズムによって実現でき、さらなるソフトウェア品質の向上やより安価にシステムを構築することができる。第3の発明は、特に、第2の発明の所定の状態を、前記時間差の平均と前記時間差の差分が0である状態としたことにより、単純な計算により実現することとなり、ソフトウェアのアルゴリズムを簡易化したことによる保守性向上などのソフトウェア品質の向上や演算性能の低い安価なマイコンを採用することができる。第4の発明は、特に、第2の発明または第3の発明の通電角決定部が、前記時間差が決められた第1の閾値時間より大きくなったときに通電角を狭めるとしたことにより、低負荷で急激な負荷変動であっても時間にマージンを持たせることで、前記ブラシレスDCモータの電流0クロスが同相の前記ドライブ信号がオンより前に現れることを防ぐこととなり、低負荷時に、より確実に前記端子電圧が所定の状態に近づくよう補正することができ、更に安定した駆動が可能となる。第5の発明は、特に、第2の発明または第3の発明の通電角決定部が、前記時間差が決められた第2の閾値時間より小さくなったときに通電角を狭めるとしたことにより、高負荷で急激な負荷変動であっても時間にマージンを持たせることで、前記ブラシレスDCモータの電流0クロスが同相の前記ドライブ信号がオフするより前に現れることを防ぐこととなり、高負荷でより確実に前記端子電圧が所定の状態に近づくよう補正することができ、更に安定した駆動が可能となる。第6の発明は、特に、第1~第5の発明の第1波形発生部が、前記端子電圧取得部が取得した前記端子電圧のゼロクロスポイントを前記回転子の位置情報として取得し、前記回転子の位置情報に基づき前記第1の波形信号を出力することにより、第1波形発生部で駆動するための位置信号を取得するための特別な回路を設けることが不要となり、非常に安価に構成することができる。第7の発明は、特に、第1~第6の発明のブラシレスDCモータの回転子が、鉄心に永久磁石を埋め込んで構成され、さらに突極性を有するとしたことにより、前記ブラシレスDCモータの駆動において、永久磁石によるマグネットトルクとともに、突極性によるリラクタンストルクも有効に利用できるようになるため、低速時の高効率駆動とともに、高効率の高速駆動性能も更に伸張することが可能となる。第8の発明は、特に、第1~第7の発明のブラシレスDCモータが圧縮機を駆動するとしたことにより、圧縮機はイナーシャが比較的大きい負荷であることにより、サーボモータのような高い制御精度が必要とされず、モータの駆動周期よりも位相差の変動周期が遅い駆動となるため、補正の回数を間引いて運転することが可能となり、より演算速度が遅くより安価な制御装置でモータ駆動装置を提供できる。また、従来のモータ駆動装置と同じ圧縮機を用いた場合でも、冷凍能力を高めることが出来るので、高能力の冷凍サイクルの小型化と低価格化を実現できる。さらに、従来のモータ駆動装置を用いた冷凍サイクルに、本発明のモータ駆動装置を置き換えれば、より高効率なモータを用いることができる。第9の発明は、特に、第8の発明の圧縮機をレシプロ圧縮機としたことにより、構造上回転子には、金属性で重量の大きいクランクシャフトやピストンが接続されているため、イナーシャが非常に大きく、高速では短い時間での速度の変動は非常に少ない負荷を駆動することとなるため、電流と端子電圧の位相差の変化が少ないこととなり、低速ではトルク脈動に応じた高効率な運転を行い、高速では安定した駆動により高い冷凍能力を出力できる。第10の発明は、特に第8の発明または第9の発明の圧縮機で使用する冷媒をR600aとしたことにより、冷凍能力を得るために気筒容積を大きくし、イナーシャが大きくなり、さらに速度や負荷によって変動しにくい安定した駆動が可能となる。第11の発明は、特に、第1~第10の発明のモータ駆動装置により駆動されるブラシレスDCモータを備えた電気機器としたことにより、電気機器として冷蔵庫に用いた場合は、負荷変動は急ではないため、より安定した駆動が可能となる。さらに、安定時には高効率運転を行い、急冷時には高速駆動により冷凍能力を向上させることができる。また、電気機器として空気調和機に用いた場合は、冷房時の最低負荷から暖房時の最大負荷まで幅広い駆動範囲に対応できるとともに、特に定格以下の低負荷での消費電力を低減することができる。以下、本発明の実施の形態について、図面を参照しながら説明する。なお、本実施の形態によって本発明が限定されるものではない。実施の形態1図1は、本発明の実施の形態1におけるモータ駆動装置のブロック図である。図1において、交流電源1は一般的な商用電源で、日本においては実効値100Vの50または60Hzの電源である。モータ駆動装置22は、交流電源1に接続され、ブラシレスDCモータ4を駆動する。以下、モータ駆動装置22について説明する。整流平滑回路2は、交流電源1を入力として交流電力を直流電力に整流平滑するものであり、ブリッジ接続された4個の整流ダイオード2a~2dと、平滑コンデンサ2e、2fとから構成される。本実施の形態においては、整流平滑回路2は倍電圧整流回路により構成されているが、整流平滑回路2は全波整流回路により構成されても良い。さらに、本実施の形態においては、交流電源1は単相交流電源であるが、交流電源1が3相交流電源である場合は、整流平滑回路2は3相整流平滑回路によって構成される。インバータ3は、整流平滑回路2からの直流電力を交流電力に変換する。インバータ3は、6個のスイッチング素子3a~3fを3相ブリッジ接続して構成される。また、6個の還流電流用ダイオード3g~3lは、各スイッチング素子3a~3fに、逆方向に接続される。ブラシレスDCモータ4は、永久磁石を有する回転子4aと、3相巻線を有する固定子4bとから構成される。ブラシレスDCモータ4は、インバータ3により作られた3相交流電流が固定子4bの3相巻線に流れることにより、回転子4aを回転させる。端子電圧取得部5は、ブラシレスDCモータ4の端子電圧を取得する。端子電圧取得部5は、例えば、インバータ3の端子電圧を取得することにより、ブラシレスDCモータ4の相電流の電流ゼロクロスを検出する。具体的には、端子電圧取得部5は、インバータ3の還流電流用ダイオード例えばダイオード3hに流れる電流の有無、つまり、電流の流れが正から負、または負から正に切り換わる点、すなわちゼロクロスポイントを検出する。端子電圧取得部5は、このゼロクロスポイントをブラシレスDCモータ4の相電流のゼロクロスポイントとして検出する。また、端子電圧取得部5はブラシレスDCモータ4の回転子4aの磁極相対位置を検出する。具体的には、端子電圧取得部5は、固定子4bの3相巻線に発生する誘起電圧に基づいて、回転子4aの相対的な回転位置を検出している。なお、別な位置検出方法としては、モータ電流相電流または母線電流の検出結果に対してベクトル演算を行って磁極位置の推定を行う方法が挙げられる。このように、端子電圧取得部5は、ブラシレスDCモータ4の磁極位置と相電流のゼロクロスポイントを検出する。速度検出部6は、端子電圧取得部5が検出した位置情報に基づき、ブラシレスDCモータ4の速度すなわち回転速度を検出する。例えば、一定周期で発生する端子電圧取得部5からの信号を計測することにより、簡単に検出することができる。周波数指令部7はシステムの状態などから必要な出力を行うための速度が外部から入力され、その速度とあらかじめ分かっているブラシレスDCモータ4の局数からモータ駆動用の周波数を計算する。その計算結果を指令周波数として第1波形発生部8、周波数設定部9、通電角決定部10へと出力する。第1波形発生部8は、インバータ3のスイッチング素子3a~3fを駆動するための第1の波形信号を生成する。第1の波形信号は、通電角が120度以上150度以下の矩形波の信号である。3相巻線を有するブラシレスDCモータ4を滑らかに駆動させるためには、通電角は120度以上が必要である。一方、端子電圧取得部5が、誘起電圧に基づいて位置を検出するためには、スイッチング素子のオン/オフの間隔として30度以上の間隔が必要である。このため、通電角は、180度から30度を減じた150度を上限とする。なお、第1の波形信号は、矩形波以外であっても、矩形波に準じる波形が挙げられる。例えば、波形の立ち上り/立ち下りに傾斜を持たせた台形波である。第1波形発生部8は、端子電圧取得部5により検出された回転子4aの位置情報を基に、第1の波形信号を生成する。第1波形発生部8はさらに、周波数指令部7により指令される速度に保つために、パルス幅変調PWMデューティ制御を行っている。これにより、回転位置に基づいた最適なデューティで、効率良く、ブラシレスDCモータ4が駆動される。周波数設定部9は、デューティは一定で、周波数指令部7からの指令周波数に従って周波数のみを変化させて周波数を設定する。時間差計測部11は、端子電圧取得部5から電流0クロスポイントを取得した時間と、ドライブ部15からインバータ3へ出力しているドライブ信号が電流0クロス後に最初にオンに変化する時間の差分を計算し、スパイク電圧オフ期間として出力する。また、端子電圧取得部5から電流0クロスポイントを取得した時間と、電流0クロスが発生する前の最後に発生したドライブ信号がオフに変化する時間との差分を計算し、スパイク電圧発生期間として出力する。ここで、スパイク電圧とはスイッチング素子がオフしている間にブラシレスDCモータに蓄えられたエネルギーがインバータ3の還流電流用ダイオード例えば3hに流れている間に発生する電圧のことである。通電角決定部10は時間差計測部11からの出力であるスパイク電圧オフ期間およびスパイク電圧発生期間を取得する。このスパイク電圧オフ期間が第1の閾値時間より小さい場合と、スパイク電圧発生期間が第2の閾値時間より小さいときには通電角を狭める。本実施の形態では、2種類の時間差を用いたが、スパイク電圧発生期間のみで制御することも可能である。例えば、通電角と周波数からある特定の相例えばU相のドライブ信号が上下ともにオフしている期間を計算し、そのオフ期間から本実施の形態の第1の閾値時間を引いた値を第3の閾値時間として設け、スパイク電圧発生時間が第2の閾値時間から第3の閾値時間の間に無ければ通電角を狭めるとすることで実現できる。閾値時間差を1種類とした場合、時間差計測部11で計測する種類が減少するため、処理速度の遅いマイコンであっても容易に実現することができる。また、スパイク電圧オフ期間のみでも同様に制御できる。第1の閾値時間と第2の閾値時間はそれぞれ、ブラシレスDCモータ4が駆動する負荷や交流電源1の電圧が変化した際にどれだけスパイク電圧オフ期間とスパイク電圧発生期間が変化するかということをあらかじめ調べ、その変化時間の最大を設定する。通電角を広げる場合には、スパイク電圧オフ期間が第1の閾値時間に所定の値を加算した結果より大きく、かつスパイク電圧発生期間が第2の閾値時間に所定の値を加算した結果より大きい場合とする。このように閾値時間差にヒステリシスを設けることで、通電角変更の頻度が減少し、より安定した駆動が可能となる。このヒステリシスとなる所定の値は、それぞれの閾値時間の値と同じ、最大の時間変動の1.5倍でよい。これにより、最大の変動に対してもすぐに通電角が狭まることがなくなる。通電角の幅の範囲は第1の波形信号のように30度のオフ期間を設ける必要は無いため、120以上、180度未満となる。本実施の形態においては、閾値時間差を設けているため、175度程度となっている。第2波形発生部12は、周波数設定部9からの周波数と、通電角決定部10が決定した通電角を基に、インバータ3のスイッチング素子3a~3fを駆動するための第2の波形信号を生成する。なお、第2の波形信号は、矩形波に準じる波形であれば良い。例えば、正弦波や歪み波であって良い。また本実施の形態では、デューティは最大もしくは最大に近い状態90~100の一定のデューティである。波形補正部13では第2波形発生部12から出力された第2波形信号と時間差計測部11から出力されるスパイク電圧発生期間を入力として受け取る。波形補正部13では補正を行った後に、受け取ったスパイク電圧発生期間の平均を計算する。本実施の形態では、過去10回の平均を用いる。平均の回数は10回としたが、システムの応答速度や負荷の変動周期などから決定する。前回のスパイク電圧発生期間の平均と時間差計測部11より入力されたスパイク電圧発生期間の差分を計算し、計算結果に比例した波形の補正を第2の波形信号に対して行い、切換判定部14に出力する。補正を行った後に、スパイク電圧発生期間の平均を計算するため、初回は平均が0となり差分が大きくなり補正量が過剰となる可能性があるが、第1の波形信号で駆動中のスパイク電圧発生期間をあらかじめ計測し、入力しておき平均を計算しておくことや、初回は補正量を0にするなどで防ぐことができる。本実施の形態では初回の補正量を0としたものとする。切換判定部14は、回転子4aの回転速度が低速か高速かを判定し、ドライブ部15に入力する波形信号を、第1の波形信号か第2の波形信号かに切り換える。具体的には、速度が低い場合は第1の波形信号を選択し、速度が高い場合は第2の波形信号を選択して出力する。ここで、回転速度が低いか高いかの判定は、速度検出部6で検出した実際の速度に基づいて行うことができる。他にも、速度が低いか高いかの判定は、設定回転数やデューティに基づいて行うこともできる。例えば、デューティが最大一般的には100の場合は速度が最高となるため、切換判定部14は、波形信号を第2の波形信号に切り換える。ドライブ部15は、切換判定部14から出力された波形信号に基づき、インバータ3がブラシレスDCモータ4の3相巻線に供給する電力の供給タイミングを指示するドライブ信号を出力する。具体的にはドライブ信号は、インバータ3のスイッチング素子3a~3fをオンまたはオフ以下、オン/オフと記すする。これにより、固定子4bに最適な交流電力が印加され、回転子4aが回転し、ブラシレスDCモータ4が駆動される。次に、本実施の形態におけるモータ駆動装置22を用いた電気機器について説明する。電気機器の一例として、冷蔵庫21について説明する。冷蔵庫21には圧縮機17が搭載されているが、ブラシレスDCモータ4の回転子4aの回転運動は、クランクシャフト図示せずにより、往復運動に変換される。クランクシャフトに接続されたピストン図示せずは、シリンダ図示せず内を往復運動することにより、シリンダ内の冷媒を圧縮する。つまり、ブラシレスDCモータ4と、クランクシャフト、ピストン、シリンダにより、圧縮機17が構成される。圧縮機17の圧縮方式機構方式は、ロータリー型やスクロール型など、任意の方式が用いられる。本実施の形態においては、レシプロ型の場合について説明する。レシプロ型の圧縮機17はイナーシャが大きい。このため、圧縮機17のブラシレスDCモータ4を同期駆動する場合は、圧縮機17の駆動が安定する。圧縮機17に用いる冷媒は、一般にR134a等であるが、本実施の形態においては、冷媒はR600aを用いる。R600aは、R134aと比較して地球温暖化係数は小さいが、冷凍能力が低い。本実施の形態においては、圧縮機17はレシプロ型圧縮機で構成するとともに、冷凍能力を確保するために、気筒容積を大きくしている。気筒容積の大きい圧縮機17は、イナーシャが大きいため、電源電圧が低下した場合であっても、イナーシャによってブラシレスDCモータ4が回転する。これにより、回転速度の変動が少なくなり、より安定した同期駆動が可能となる。しかしながら、気筒容積の大きい圧縮機17は負荷が大きいため、従来のモータ駆動装置では駆動が困難である。本実施の形態におけるモータ駆動装置22は、特に高負荷での駆動範囲が拡張されるため、R600aを用いた圧縮機17を駆動するのに最適である。圧縮機17で圧縮された冷媒は、凝縮器18、減圧器19、蒸発器20を順に通って、再び圧縮機17に戻るような冷凍サイクルを構成する。この時、凝縮器18では放熱を、蒸発器20では吸熱を行うので、冷却や加熱を行うことができる。この冷凍サイクルを搭載して冷蔵庫21が構成される。ここで、別な電気機器の例としては、凝縮器18や蒸発器20に送風機を備えたものが空気調和機である。以上のように構成されたモータ駆動装置22について、その動作を説明する。まず、ブラシレスDCモータ4の速度が低い場合低速時の動作について説明する。図2は、本実施の形態におけるモータ駆動装置22のタイミング図である。特に図2は、低速時でのインバータ3を駆動させる信号のタイミング図である。インバータ3を駆動させる信号とは、インバータ3のスイッチング素子3a~3fをオン/オフするために、ドライブ部15から出力されるドライブ信号である。この場合、このドライブ信号は、第1の波形信号に基づいて得られる。第1の波形信号は、端子電圧取得部5の出力に基づき、第1波形発生部8から出力される。図2において、信号U、V、W、X、Y、Zはそれぞれ、スイッチング素子3a、3c、3e、3b、3d、3fをオン/オフするためのドライブ信号である。波形Iu、Iv、Iwはそれぞれ、固定子4bの巻線のU相、V相、W相の電流の波形である。ここで、低速時の駆動では、端子電圧取得部5の信号に基づいて、120度ごとの区間で順次転流を行う。信号U、V、Wは、PWM制御によるデューティ制御を行っている。また、U相、V相、W相の電流の波形である波形Iu、Iv、Iwは、図2に示す様に、のこぎり波の波形となる。この場合は、端子電圧取得部5の出力に基づいて、最適なタイミングで転流が行なわれている。このため、ブラシレスDCモータ4は最も効率良く駆動される。次に、最適な通電角について、図3を用いて説明する。図3は、本実施の形態におけるモータ駆動装置22の、最適な通電角を説明する図である。特に図3は、低速時の通電角と効率との関係を示す。図3において、線Aは回路効率、線Bはモータ効率、線Cは総合効率回路効率Aとモータ効率Bとの積を示す。図3に示すように、通電角を120度より大きくすると、モータ効率Bは向上する。これは、通電角が広がることにより、モータの相電流の実効値が下がりすなわち力率が上がり、モータの銅損減少に伴いモータ効率Bが上がるためである。しかしながら、通電角を120度より大きくすると、スイッチング回数が増加し、スイッチングロスが増加する場合がある。このような場合は、回路効率Aは低下する。この回路効率Aとモータ効率Bとの関係から、総合効率Cが最も良くなる通電角が存在する。本実施の形態では、130度が、総合効率Cが最も良くなる通電角である。次に、ブラシレスDCモータ4の速度が高い場合高速時の動作について説明する。図4は本実施の形態におけるモータ駆動装置22のタイミング図である。特に図4は、高速時でのインバータ3を駆動させるドライブ信号のタイミング図である。この場合、このドライブ信号は、第2の波形信号に基づいて得られる。第2の波形信号は、周波数設定部9の出力に基づき、第2波形発生部12から出力される。図4における信号U、V、W、X、Y、Z、および波形Iu、Iv、Iwは図2と同様である。各信号U、V、W、X、Y、Zは周波数設定部9の出力に基づいて、所定周波数を出力して転流を行う。この場合の導電角は、120度以上180度未満とする。図4では、導電角が150度の場合を示している。導電角を上げることによって、各相の電流の波形Iu、Iv、Iwは擬似的に正弦波に近づく。デューティを一定にして周波数を上げることにより、従来に比べて大幅に回転速度が上がる。この回転速度が上がった状態では、同期モータとして駆動されており、駆動周波数の上昇に伴い電流も増加する。この場合、導電角を最大の180度未満まで広げることにより、ピーク電流が抑制される。従って、ブラシレスDCモータ4は、さらに高い電流で駆動しても、過電流保護にかからずに動作される。ここで、第2波形発生部12によって生成される、第2の波形信号について説明する。図5は、ブラシレスDCモータ4を同期駆動した場合の、トルクと位相との関係を示した図である。図5において、横軸はモータのトルク、縦軸は誘起電圧の位相を基準とした位相差を示し、位相が正の場合、誘起電圧の位相に対して進みであることを示す。また、同期駆動での安定状態を示す図5の、線D1はブラシレスDCモータ4の相電流の位相を、線E1はブラシレスDCモータ4の端子電圧の位相を示す。ここで、相電流の位相が端子電圧の位相より進んでいることから、同期駆動でブラシレスDCモータ4を高速で駆動していることが判る。図5に示す相電流の位相と端子電圧の位相との関係から明確なように、負荷トルクに対して相電流の位相の変化は少ない。一方で、端子電圧の位相が直線的に変化していることから、負荷トルクに応じて相電流と端子電圧との位相差はほぼ線形に変化する。このように、同期駆動においては、ブラシレスDCモータ4の駆動は、駆動速度および負荷に応じた、適切な相電流の位相および端子電圧の位相との関係で安定する。この場合の、端子電圧の位相および相電流の位相との関係を図6に示す。特に図6は、負荷による相電流の位相と端子電圧の位相との関係をd-q平面上に示したベクトル図である。同期駆動においては、端子電圧ベクトルVtは、負荷が増加した場合、大きさはほぼ一定に保ちながら、位相は進み方向に推移する。図6を用いて説明すると、端子電圧ベクトルVtは矢印Fの方向に回転する。一方、電流ベクトルIは、負荷が増加した場合、ほぼ一定の位相を保ちながら、負荷の増加に伴い大きさが変化する例えば負荷増加に伴い電流が増える。図6を用いて説明すると、電流ベクトルIは矢印Gの方向に伸びる。このように電圧ベクトルおよび電流ベクトルが駆動環境入力電圧、負荷トルク、駆動速度等に従い適切な状態で各ベクトルの位相関係が定まる。ここで、ブラシレスDCモータ4をオープンループで同期駆動した場合の、ある負荷や速度における、位相の時間的変化について、図を用いて説明する。図7は、ブラシレスDCモータ4の位相関係を説明するための図である。特に図7は、ブラシレスDCモータ4の相電流の位相と端子電圧の位相との関係を示す。図7a、bにおいて、横軸は時間、縦軸は誘起電圧の位相を基準とした位相すなわち誘起電圧との位相差を示す。両図において、線D2は相電流の位相、線E2は端子電圧の位相、線H2は相電流の位相と端子電圧の位相との位相差を示す。そして、図7aは低負荷での駆動状態を示し、図7bは高負荷での駆動状態を示す。また、誘起電圧の位相との差から、図7a、図7b共に、端子電圧の位相より相電流の位相が進んでいることから、ブラシレスDCモータ4が、同期駆動により非常に高速で駆動していることが判る。図7aに示すように、駆動速度に対して負荷が小さい場合の同期駆動では、転流に対して負荷に見合った角度分だけ回転子4aが遅れる。すなわち、回転子4aから見ると転流が進み位相となり、所定の関係が保たれる。つまり、誘起電圧から見ると、端子電圧および相電流の位相が進み位相となり、所定の関係が保たれる。これは弱め磁束制御と同様の状態であるため、高速での駆動が可能となる。一方、図7bに示すように、駆動速度に対して負荷が大きい場合では、転流に対して回転子4aが遅れることで弱め磁束状態になり、回転子4aは転流周期に同期するように加速する。その後、回転子4aの加速により、端子電圧の進み位相の減少によって相電流が減少し、回転子4aが減速する。この状態が繰り返され、回転子4aは、この加速と減速を繰り返す。これにより結局、駆動状態駆動速度が安定しない。すなわち図7bに示す様に、一定周期で行われる転流に対して、ブラシレスDCモータ4の回転が変動する。このため、誘起電圧の位相を基準とした場合、端子電圧の位相が変動する。このような駆動状態では、ブラシレスDCモータ4の回転が変動し、それに伴ってうねり音が発生する。また、電流が脈動するため、過電流と判断されて、ブラシレスDCモータ4が停止される可能性が生じる。従って、ブラシレスDCモータ4をオープンループで同期駆動する場合、負荷が小さい状態では、ブラシレスDCモータ4は安定して駆動されるが、負荷が大きい状態では、上記の様な不都合が生じる。つまり、ブラシレスDCモータ4をオープンループで同期駆動する場合は、高速/高負荷での駆動はできず、駆動範囲が拡張されない。そこで、本実施の形態におけるモータ駆動装置22は、相電流の位相と端子電圧の位相とを、図5に示すような負荷に見合った位相関係に保った状態で、ブラシレスDCモータ4を駆動する。このような相電流の位相と端子電圧の位相との位相関係を保つ方法について、以下に述べる。モータ駆動装置22は、端子電圧の基準位相すなわちドライブ信号の転流基準位置と相電流の位相の基準点を検出し、これに基づき、オープンループの同期駆動における転流タイミング一定周期の転流に対して補正を行い、相電流の位相と端子電圧の位相との位相関係を保った転流タイミングを決定する。具体的には、波形補正部13が、上記の位相関係を保った転流タイミングを決定する。端子電圧の基準位相は、ドライブ信号がオンやオフするタイミングなどを用いることができる。一方、電流位相の基準点は電流0クロスで最も代表的な点であり、回転子4aの位置と相関をもつ。従って、この電流0クロスに基づいて補正された第2の波形信号は、端子電圧取得部が検出した回転子の位置と所定の関係を有する波形となる。この所定の関係を把握するために、時間差計測部11では端子電圧の基準位相であるドライブ信号のオフから相電流位相の基準である電流0クロスが発生するまでの時間であるスパイク電圧発生期間を計測する。そして、波形補正部13は、スパイク電圧発生期間をもとに補正した第2の波形信号をドライブ部15へ出力する。しかしながら、通電角によっては、負荷状態によってスパイク電圧の発生期間を計測することができない。そこで、通電角決定部10では位相差による補正を行えるよう、時間差計測部11の情報をもとに通電角を適切に制御している。スパイク電圧の発生について図8、図9を用いて説明する。図8は、第2の波形信号の通電角が175度でのトルクとブラシレスDCモータ4の位相の関係を示す特性図である。図9は、第2の波形信号の通電角が160度でのトルクとブラシレスDCモータ4の位相の関係を示す特性図である。図8、図9において、横軸はモータのトルク、縦軸は誘起電圧の位相を基準とした位相差を示し、位相が正の場合、誘起電圧の位相に対して進みであることを示す。また、図8の線D3はブラシレスDCモータ4の相電流の位相を、線E3はブラシレスDCモータ4の端子電圧の位相を示す。また、図9の線D4はブラシレスDCモータ4の相電流の位相を、線E4はブラシレスDCモータ4の端子電圧の位相を示す。ただし、端子電圧の位相差はU相上のドライブ信号がオンするタイミングの0度をとして見たものとする。図8において、L1が示すトルクからL4が示すトルクまでが、システムで必要とされるトルクである。L2において、線E3と線D3の位相差が5度となり、ドライブ信号がオフしている期間と同じとなるため、電流0クロスポイントはドライブ信号がオフするタイミングと一致する。つまり、L1からL2の間のトルクではスパイク電圧が発生せず、補正を行うことができない。また、L3が示すトルクにおいては、線D3と線E3が等しいため、電流0クロスポイントとドライブ信号のオンが一致する。つまり、L3からL4の間のトルクではスパイクとドライブ信号によって発生する端子電圧とがつながり、スパイク電圧のオフを検出できない。このように、通電角が175度ではL1からL2、L3からL4においてスパイク電圧を基にした補正を行うことができず、電流波形が乱れ振動が発生する可能性がある。一方、図9において、L6が示すトルクは図8のL1と等しく、L7が示すトルクは図8のL4と等しい。つまり、L6からL7がひつようなトルク範囲となっている。L5において、線D4と線E4の位相差が20度となり、通電角160度でのドライブ信号がオフしている期間と同じとなるため、電流0クロスポイントはドライブ信号がオフするタイミングと一致する。通電角175度と比べ、低トルクまでスパイクが消えることは無く、L6が示す必要最小トルクよりも下まで、補正が可能となる。また、L8が示すトルクにおいては、線D4と線E4の位相差が等しいため、電流0クロスポイントとドライブ信号のオフが一致する。L8は必要最大トルクよりも大きくなる。これは、通電角を狭めることにより、誘起電圧に対する相電流の位相差が大きな状態で安定するためである。このように通電角を狭めることによりスパイク電圧がオフする区間を作り出し、補正が可能となる。次に、時間差計測部11と通電角決定部10と波形補正部13の具体的な動作について、図10、図11、図12のフローチャートを用いて説明する。図10は時間差計測部11の動作を示すフローチャートである。図11は通電角決定部10の動作を示すフローチャートである。図12は波形補正部の動作を示すフローチャートである。まず、図10のステップ101では、スパイク電圧が発生したことを示すスパイク発生フラグとスパイク電圧がオフしたことを示すスパイクOFFフラグをクリアし、ステップ102へと進む。ステップ102では、あるスイッチング素子がオフになったかどうか、つまり、そのスイッチング素子のオフタイミングを待つ。本実施の形態では、U相下側のスイッチング素子、すなわちインバータ3のスイッチング素子3bのオフタイミングを待つ。スイッチング素子3bがオンからオフに変化しない場合ステップ102のNoは、再びステップ102に戻り、スイッチング素子3bがオンするまでステップ102で待ち続ける。一方、スイッチング素子3bがオフになった場合ステップ102のYesは、ステップ103に進む。ステップ103では、時間差計測部11が、時間計測用のタイマをスタートさせ、ステップ104に進む。ステップ104では、端子電圧取得部5からの入力により、特定相のスパイク電圧がオフしており、スパイク電圧オフしたことを示すフラグであるスパイクOFFフラグがセットされていないかを判定する。スパイクOFFフラグはクリアされているが、特定相は本実施の形態で特定相としたU相のスパイク電圧が発生中である場合ステップ104のNoはステップ105に進む。ステップ105では特定相の上側のスイッチング素子がオンしたかどうかを判定する。特定相をU相としているので、U相上側のスイッチング素子3aがオフのままの場合ステップ105のNoはふたたびステップ104へと戻る。ステップ104では、再度、特定相のスパイク電圧がオフし、スパイクOFFフラグがセットされていないかを判定する。前回同様スパイクオフフラグがセットされていない。しかし、特定相であるU相のスパイク電圧がオフした場合ステップ104のYesはステップ106へと進む。ステップ106ではスパイクがオフしたのでオフした時間をスパイク発生期間として記録する。電流位相の進みが大きく、スパイクが発生していなかった場合は、ほぼ0の値が記録される。実際は0であるが、定常値として存在するごくわずかな時間であり処理上0とかわらない処理となる。そして、スパイクOFFフラグをセットし、再度ステップ105へと進む。ステップ105では、再びスイッチング素子3aがオンしたかどうかを判定する。スイッチング素子3aのオフが継続されている場合ステップ105のNo、ステップ104へと進む。ステップ104では前回のステップ104でステップ106へと進み、ステップ106で、スパイクOFFフラグがセットされたので、ステップ105へと進む。つまり、スパイクがオフしていると判定した初回のみ条件が成立し、ステップ106へと進み次回以降のステップ104ではステップ105へと進む。ステップ105は、スイッチング素子3aがオンしたかどうかを判定し、スイッチング素子3aがオンした場合ステップ105のYesはステップ107へと進む。ステップ107では、タイマの値を記録し、スイッチング素子3bがオフしてからスイッチング素子3aがオンするまでの間の時間であるSW素子オフ期間として記録する。そして、ステップ108へと進む。ステップ108では、スパイクOFFフラグがセットされているか判定を行う。端子電圧の状態では、ステップ106でスパイクOFFフラグはセットされており、スパイクOFFフラグがセットされている場合ステップ108のYesであるので、ステップ109へと進む。ステップ109では、スパイク電圧オフ期間の計算を行なう。スパイク電圧オフ期間はスパイクがオフしてからドライブ信号がオンするまでの期間であるので、ステップ107で計算したSW素子オフ期間からスパイク電圧発生期間を減じた結果がとなる。これを格納しステップ110へ進む。ステップ110では、スパイク電圧発生期間とスパイク電圧オフ期間を出力し、処理を終了する。一方、スイッチング素子3aがオンするまでにスパイク電圧がオフしなかった場合、ステップ104でステップ106へと進むことが無く、ステップ108へと到達する。ステップ108では、ステップ106でフラグがセットされていないので、ステップ111へと進む。ステップ111では、スパイク電圧オフ期間を0とし、SW素子オフ期間をスパイク電圧発生期間として設定し、ステップ110に進む。そして、ステップ110で、スパイク電圧発生期間とスパイク電圧オフ期間を出力し、処理を終了する。スパイク電圧は基本的にオフを検出できるよう通電角の制御を行うが、想定外の電圧変動などによってスパイク電圧のオフを検出できなかったとしても、保護動作として最低限の補正を可能としている。時間差計測部11でスパイク電圧発生期間とスパイク電圧オフ期間の計測を完了した後に、図11に示す通電角決定部10のフローが実施される。まず、ステップ201において、時間差計測部11より入力されるスパイク電圧発生期間があらかじめ定めておいた第1の閾値時間より小さいかどうかを判定する。第1の閾値時間は電流1周期の間に変動する電流位相と端子電圧位相の差の最大をあらかじめ把握し、時間に変換して設定している。また、この第1の閾値時間は、図10のフローの中で、スパイク電圧が発生せずステップ106に到達した際に記録されるスパイク電圧発生期間より少なくとも大きいものとする。判定の結果スパイク電圧発生期間が第1の閾値時間よりも小さい場合ステップ201のYesはステップ202に進む。ステップ202では、電流位相と端子電圧位相の差の変動が最大となった場合、スパイク電圧が発生しなくなる可能性があるため、通電角を狭める。そして、変更後の通電角を出力し処理を終了する。一方、ステップ201で、スパイク電圧発生期間が第1の閾値時間より大きい場合ステップ201のNo、ステップ203に進む。ステップ203では、時間差計測部11より入力されるスパイク電圧オフ期間があらかじめ定めておいた第2の閾値時間より小さいかどうかを判定する。第1の閾値時間と同様に、電流1周期の間に変動する電流位相と端子電圧位相の差の最大をあらかじめ把握し、時間に変換して設定しており、第1の閾値時間と第2の閾値時間は同じ値を設定している。判定の結果スパイク電圧オフ期間が第2の閾値時間よりも小さい場合ステップ203のYesはステップ204に進む。ステップ204では、電流位相と端子電圧位相の差の変動が最大となった場合、スパイク電圧がオフを検出できなくなる可能性があるため、通電角を狭める。そして、変更後の通電角を出力し処理を終了する。一方、ステップ203で、スパイク電圧オフ期間が第2の閾値時間より大きい場合ステップ203のNo、ステップ205に進む。ステップ205では、第2の閾値時間を2.5倍した値よりスパイク電圧オフ期間が小さいかどうかを判定する。比較する値を第2の閾値時間とした場合、通電角を狭めた直後に通電角を広げる可能性が高く、発振状態に陥る。これを防ぐためのヒステリシスとして2.5倍の値を設定している。通電角を1度に広げる幅をスパイク電圧オフ期間が第2の閾値時間の0.5倍より小とし、比較する値を第2の閾値時間の2.5倍に設定することで、通電角を増加させた後に最大の変動幅であっても、次回の判定時に確実にスパイク電圧オフ期間は第2の閾値時間より大きくなり通電角がすぐに狭まることは無い。スパイク電圧オフ期間が第2の閾値時間の2.5倍より小さい場合ステップ205のNoは、通電角を変更せず、処理を終了する。一方、スパイク電圧オフ期間が第2の閾値時間の2.5倍より大きい場合ステップ205のYesは、ステップ206に進む。ステップ206では、第1の閾値時間を2.5倍した値よりスパイク電圧発生期間が小さいかどうかを判定する。ステップ205で第2の閾値時間の2.5倍を設定したのと同様の理由で第1の閾値時間も2.5倍し、スパイク電圧発生期間と比較している。比較した結果、スパイク電圧発生期間が大きい場合ステップ206のNoは、通電角を変更せず、処理を終了する。一方、スパイク電圧発生期間が第1の閾値時間の2.5倍より大きい場合ステップ206のYesは、ステップ207に進む。ステップ207では、通電角を広げてもスパイク電圧が発生し、オフタイミング検出できるので、通電角を広げる。なお、端子電圧取得部5で、U相上側スイッチング素子3aがオンする前に端子電圧の立ち上がりを検出した場合に、端子電圧位相より誘起電圧位相が進んでいる状態であるので、電圧のかけすぎと判断して通電角を狭めるとしても良い。この判定条件は、ステップ205よりも前に判定し、条件が成立した場合は、ステップ205以降の判定を通らないようにする。これによって、過剰な電圧の印加を抑制できるため効率よく運転することができる。通電変更部Bで通電角が決定した後に図12に示す波形補正部13のフローが実施される。ステップ301では、時間差計測部11で計測したスパイク電圧発生時間と、過去10回の平均時間との差分を計算し、ステップ302に進む。ステップ302では、ステップ301で計算した差分に基づいて、転流タイミングの補正量を演算し、ステップ303に進む。ここで、転流タイミングの補正とは、周波数設定部9で設定した周波数、つまり指令速度に基づく基本の転流周期に対して、転流タイミングを補正することである。従って、大きな補正量を付加した場合は、過電流や脱調が起こる。したがって、補正量を演算する場合は、ローパスフィルタ等を付加した上で演算を行い、転流タイミングの急激な変動を抑える。これにより、ノイズ等の影響で電流のゼロクロスを誤検出した場合であっても、補正量への影響が小さくなり、駆動の安定性がより向上する。さらに、補正量の演算において急激な変化を抑えているため、ブラシレスDCモータ4を加減速させる転流タイミングの変化も緩やかになる。このため、指令速度が大きく変更され、周波数設定部9による周波数転流周期が大幅に変わった場合であっても、転流タイミングの変化は緩やかになり、加減速が滑らかになる。この転流タイミングの補正は、具体的には、スパイク電圧発生期間を常にスパイク電圧発生期間の平均時間に近づけることである。例えば、負荷が大きくなることにより、回転子4aの回転速度が低下すると、相電流の位相は、端子電圧の位相を基準にすると遅れ方向に移動する。このため、スパイク電圧発生期間の平均時間より、今回計測されたスパイク電圧発生期間の方が長くなる。この場合には、第2波形発生部12は、転流タイミングを、回転速度回転数に基づく転流周期のタイミングよりも遅らせるように転流タイミングを補正する。つまり、相電流の位相が遅れたことにより計測時間が長くなったため、第2波形発生部12は、転流タイミングを遅らせて端子電圧の位相を遅らせ、相電流の位相との位相差であるスパイク電圧発生期間を平均時間に近づける。逆に、負荷が小さくなることにより、回転子4aの回転速度が上がると、相電流の位相は、端子電圧の位相を基準にすると進み方向に移動する。このため、スパイク電圧発生期間の平均時間より、今回計測したスパイク電圧発生期間の方が短くなる。この場合には、第2波形発生部12は、一旦、転流タイミングを、回転数に基づく転流周期のタイミングよりも早くするように転流タイミングを補正する。つまり、相電流の位相が早くなったことにより計測時間が短くなったため、第2波形発生部12は、転流タイミングを早くして端子電圧の位相を進ませ、スパイク電圧発生期間を平均時間に近づける。さらに波形補正部13は、転流タイミングの補正を、特定相例えば、U相上側のスイッチング素子のみの任意のタイミング例えば、回転子4aの1回転に1回として、その他の相の転流は、目標とする回転数に基づく転流周期で時間的に行う。これにより、負荷に応じて相電流の位相と端子電圧の位相との位相関係が最適に保たれ、ブラシレスDCモータ4の駆動速度が保持される。次にステップ303では、今回入力されたスパイク電圧発生期間を加味して平均時間を更新し、ステップ304に進む。ステップ304では、第2波形発生部12で設定した第2の波形信号に対して、補正量を付加することで転流タイミングを決定する。つまり、転流タイミングは、第2波形発生部12で設定した周波数に対して補正量を付加することにより、相電流の位相と端子電圧の位相とが、常に平均位相差となるように、電流位相を基準にして決定される。従って、負荷が大きくなった場合は、相電流の位相と転流タイミングの差である位相差が狭まるスパイク電圧発生期間は大きくなる。これに対して、補正の基準となる平均時間が小さくスパイク電圧発生期間の平均は大きくなり、負荷が大きくなる前と比較して、位相差が狭まった状態を基準としてブラシレスDCモータ4が駆動される。これにより、より大きな進角でブラシレスDCモータ4が駆動され、弱め磁束効果の向上により、出力トルクが増大し、必要な出力トルクが確保される。逆に、負荷が小さくなった場合は、相電流の位相と転流タイミングの差である位相差が広がるスパイク電圧発生期間は小さくなる。これに対して、補正の基準となる平均時間が大きくスパイク電圧発生期間の平均は小さくなり、負荷が小さくなる前と比較して、位相差が広がった状態を基準としてブラシレスDCモータ4が駆動される。これにより、より小さな進角でブラシレスDCモータ4が駆動され、弱め磁束効果の低減により、出力トルクが減少し、必要以上のトルクが出力されない。以上より、必要な出力を確保するとともに、余計な出力をしない駆動が行われる。以上、図10、図11、図12に示す動作を電気角1周期に1回行うことで、高速での安定駆動が可能となる。なお、本実施の形態では、U相上側のスイッチング素子3aのオフタイミングのみで転流周期の補正を行っているため、電気角1周期中に1回の補正となる場合について説明している。しかしながら、モータ駆動装置22の用途や、ブラシレスDCモータ4のイナーシャ等を考慮して補正のタイミングを設定すれば良い。例えば、回転子4aの1回転に1回の補正や、電気角1周期中に2回の補正、各スイッチング素子がオンする毎回のタイミングでの補正を行っても良い。次に、切換判定部14による切り換え動作について説明する。図13は、本実施の形態におけるブラシレスDCモータ4の、回転数とデューティとの関係を示す図である。図13において、ブラシレスDCモータ4の回転数、つまり回転子4aの回転数が50r/s以下の場合は、第1波形発生部8による第1の波形信号に基づいて、ブラシレスDCモータ4が駆動される。デューティは、フィードバック制御により、回転数に応じて、最も効率が良い値に調整される。回転数が50r/sでデューティが100となり、第1波形発生部8に基づく駆動では、それ以上回転させることができない。すなわち限界に到達する。よって、回転数50r/sより上では、デューティは一定で、周波数すなわち転流周期のみを上げて、ブラシレスDCモータ4が駆動される。一方、第2の波形信号を補正した補正波形信号に基づく駆動では、通電角が120度の状態で、かつ誘起電圧0クロスが端子電圧取得部5で検出された場合、第1波形発生部8の第1の波形信号で十分に駆動できるトルクであることが分かるため、第1波形発生部8に基づいた駆動に切り換える。このように、第1波形発生部8で生成した第1の波形信号と第2波形発生部12で生成された第2の波形信号を波形補正部13で補正した補正波形信号を適切に切り換えることで低速低負荷から、高速高負まで駆動を可能にする。次に、本実施の形態のブラシレスDCモータ4の構造について説明する。図14は、本実施の形態におけるブラシレスDCモータ4の回転子の、回転軸に対して垂直断面を示した断面図である。回転子4aは、鉄心4gと4枚のマグネット4c~4fとから構成される。鉄心4gは、0.35~0.5mm程度の薄い珪素鋼板を打ち抜いたものを積み重ねて構成される。マグネット4c~4fは、円弧形状のフェライト系永久磁石がよく用いられ、図示したように、円弧形状の凹部が外方を向くように、中心対称に配置される。一方、マグネット4c~4fとして、ネオジウムなどの希土類の永久磁石を用いる場合は、平板形状の場合もある。このような構造の回転子4aにおいて、回転子4aの中心から、1つのマグネット例えば4fの中央に向かう軸をd軸とし、回転子4aの中心から、1つのマグネット例えば4fとこれに隣接するマグネット例えば4cとの間に向かう軸をq軸とする。d軸方向のインダクタンスLdとq軸方向のインダクタンスLqは逆突極性を有し、異なるものとなる。つまりこれは、モータとしては、マグネットの磁束によるトルクマグネットトルク以外に、逆突極性を利用したトルクリラクタンストルクを有効に使える。したがって、モータとして、よりトルクが有効的に利用できる。この結果、本実施の形態としては、高効率なモータが得られる。また、本実施の形態の制御において、周波数設定部9と第2波形発生部12による駆動を行うと、相電流は進み位相でとなる。そのため、このリラクタンストルクが大きく利用されるので、逆突極性がないモータに比べて、より高回転で駆動することができる。また、本実施の形態のブラシレスDCモータ4は、鉄心4gに永久磁石4c~4fを埋め込んでなる回転子4aを有し、かつ突極性を有する。また、永久磁石のマグネットトルクの他に、突極性によるリラクタンストルクを用いている。このことにより、低速時の効率向上はもちろん、高速駆動性能をさらに上げることになる。また、永久磁石にネオジウムなどの希土類磁石を採用してマグネットトルクの割合を多くしたり、インダクタンスLd、Lqの差を大きくしてリラクタンストルクの割合を多くしたりすると、最適な通電角を変えることにより効率を上げることができる。次に、本実施の形態のモータ駆動装置22を冷蔵庫21や空気調和機に用いて、圧縮機17を駆動した場合について説明する。従来のモータ駆動装置であれば、高速/高負荷での駆動に対応するために、巻線の巻き込み数を少なくすることにより必要トルクを確保したブラシレスDCモータを利用する必要があった。このようなブラシレスDCモータは、モータの騒音等が大きかった。本実施の形態のモータ駆動装置22を用いれば、巻線の巻込み量を増やしてトルクダウンしたブラシレスDCモータ4を利用しても、高速/高負荷で駆動できる。これにより、回転数が低い場合のデューティが、従来のモータ駆動装置を用いた場合より大きくできる。そのため、モータの騒音、特にキャリア音PWM制御での周波数に相当する。例えば3kHzが低減できる。また、圧縮機17をレシプロ圧縮機とすることで、よりイナーシャが大きく、高速でのトルク脈動が小さいため、安定して高速まで動作させることができる。また、圧縮機17を冷蔵庫21に搭載した場合、冷蔵庫21は負荷の変動が急ではないため、相電流の位相と端子電圧の位相の位相差の変化は小さく、より安定した駆動が可能となる。なお、本実施の形態のモータ駆動装置22を用いて空気調和機の圧縮機17を駆動する場合では、さらに、冷房時の最低負荷から暖房時の最大負荷まで幅広い駆動範囲に対応できるとともに、特に定格以下の低負荷での消費電力を低減することができる。以上説明したように本発明は、回転子4aと、3相巻線を有する固定子4bとからなるブラシレスDCモータ4を駆動するモータ駆動装置であって、固定子4bの3相巻線に電力を供給するインバータ3と、ブラシレスDCモータ4の端子電圧を取得する端子電圧取得部5と、通電角が120度以上の波形である第1の波形信号を出力する第1波形発生部8と、デューティは一定で、周波数のみを変化させて設定する周波数設定部9と、端子電圧取得部5が取得した端子電圧の発生タイミングによって通電角を120度以上180度未満の間で決定する通電角決定部10と、周波数設定部9で設定した周波数と通電角決定部10で決定した通電角で第2の波形信号を出力する第2波形発生部12と、端子電圧取得部5が取得した端子電圧が所定の状態に近づくよう第2の波形信号を補正した補正波形信号を出力する波形補正部13と、ブラシレスDCモータ4の運転状態に応じて第1の波形信号と補正波形信号を切り換えて出力する切換判定部14と、切換判定部14から出力された第1の波形信号または補正波形信号に基づき、インバータ3が固定子4bの3相巻線に供給する電力の供給タイミングを指示するドライブ信号をインバータ3に出力するドライブ部15を有する。これによって、第2の波形信号をベースとした補正波形信号で駆動中は端子電圧の状態を任意の状態に保てるようになり、ブラシレスDCモータ4の相電流0クロスが同相のドライブ信号がオフ中に発生させることができ、常に端子電圧と第2の波形信号が所定の状態に近づくよう制御することとなり、不安定なシステム状態での非常に軽い負荷や電流位相と端子電圧位相が近づく非常に負荷が重い状態など広い負荷範囲で、安定駆動することができる。また、本実施の形態は、ブラシレスDCモータ4を流れる還流電流が0になる時に端子電圧に現れる端子電圧変化のタイミングとドライブ信号のオンまたはオフとの時間差を計算する時間差計測部11を有し、端子電圧の発生タイミングを時間差の変化とすることにより、第1波形発生部8で採用されるような誘起電圧0クロスを検出しハイとローの2値を出力する単純な回路とその変化を観測するだけで良いこととなり、より単純なアルゴリズムによって実現でき、さらなるソフトウェア品質の向上やより安価にシステムを構築することができる。また、本実施の形態は、端子電圧の所定の状態を、時間差の平均と時間差の差分が0であるとしたことにより、単純な計算により実現することとなり、ソフトウェアのアルゴリズムを簡易化したことによる保守性向上などのソフトウェア品質の向上や演算性能の低い安価なマイコンを採用することができる。また、本実施の形態は、通電角決定部10が、時間差が決められた第1の閾値時間より大きくなったときに通電角を狭めるとしたことにより、低負荷で急激な負荷変動であっても時間にマージンを持たせることで、ブラシレスDCモータ4の電流0クロスが同相のドライブ信号がオンより前に現れることを防ぐこととなり、低負荷時に、より確実に端子電圧が所定の状態に近づくよう補正することができ、更に安定した駆動が可能となる。また、本実施の形態は、通電角決定部10が、時間差計測部11によって計測された時間差が第2の閾値時間より小さくなったときに通電角を狭めるとしたことにより、高負荷で急激な負荷変動であっても時間にマージンを持たせることで、ブラシレスDCモータ4の電流0クロスが同相のドライブ信号がオフするより前に現れることを防ぐこととなり、高負荷でより確実に端子電圧が所定の状態に近づくよう補正することができ、更に安定した駆動が可能となる。また、本実施の形態は、第1波形発生部8が、端子電圧取得部5が取得した端子電圧のゼロクロスポイントを回転子4aの位置情報として取得し、回転子4aの位置情報に基づき第1の波形信号を出力することにより、第1波形発生部8で駆動するための位置信号を取得するための特別な回路を設けることが不要となり、非常に安価に構成することができる。また、本実施の形態は、ブラシレスDCモータ4の回転子4aが、鉄心4gに永久磁石4c~4fを埋め込んで構成され、さらに突極性を有するとしたことにより、ブラシレスDCモータ4の駆動において、永久磁石4c~4fによるマグネットトルクとともに、突極性によるリラクタンストルクも有効に利用できるようになるため、低速時の高効率駆動とともに、高効率の高速駆動性能も更に伸張することが可能となる。また、本実施の形態は、ブラシレスDCモータ4が圧縮機17を駆動するとしたことにより、圧縮機17はイナーシャが比較的大きい負荷であることにより、サーボモータのような高い制御精度が必要とされず、ブラシレスDCモータ4の駆動周期よりも位相差の変動周期が遅い駆動となるため、補正の回数を間引いて運転することが可能となり、より演算速度が遅くより安価な制御装置でモータ駆動装置を提供できる。また、従来のモータ駆動装置と同じ圧縮機を用いた場合でも、冷凍能力を高めることが出来るので、高能力の冷凍サイクルの小型化と低価格化を実現できる。さらに、従来のモータ駆動装置を用いた冷凍サイクルに、本発明のモータ駆動装置を置き換えれば、より高効率なモータを用いることができる。また、本実施の形態は、圧縮機17をレシプロ圧縮機としたことにより、構造上回転子には、金属性で重量の大きいクランクシャフトやピストンが接続されているため、イナーシャが非常に大きく、高速では短い時間での速度の変動は非常に少ない負荷を駆動することとなるため、電流と端子電圧の位相差の変化が少ないこととなり、低速ではトルク脈動に応じた高効率な運転を行い、高速では安定した駆動により高い冷凍能力を出力できる。また、本実施の形態は、圧縮機17で使用する冷媒をR600aとしたことにより、冷凍能力を得るために気筒容積を大きくし、イナーシャが大きくなり、さらに速度や負荷によって変動しにくい安定した駆動が可能となる。また、本実施の形態のモータ駆動装置により駆動されるブラシレスDCモータ4を備えた冷蔵庫21電気機器としたことにより、負荷変動は急ではないため、より安定した駆動が可能となる。さらに、安定時には高効率運転を行い、急冷時には高速駆動により冷凍能力を向上させることができる。また、電気機器として空気調和機に用いた場合は、冷房時の最低負荷から暖房時の最大負荷まで幅広い駆動範囲に対応できるとともに、特に定格以下の低負荷での消費電力を低減することができる。