電気機械を制御する方法であって、ロータ位置信号の第1のエッジ後の時点T_COM1において前記電気機械の相巻線を転流するステップと、前記ロータ位置信号の第2のエッジ後の時点T_COM2において前記相巻線を転流するステップと、を含み、前記ロータ位置信号のエッジ間の平均期間をT_AVEとし、前記第1のエッジと第2のエッジの間の期間をT_PDとした場合、T_COM2=T_COM1T_AVE-T_PDである、ことを特徴とする方法。位相シフト期間をT_PSとした場合、T_COM1∝T_AVET_PSである、ことを特徴とする請求項1に記載の方法。前記方法が、前記相巻線を励起するために使用する供給電圧、及び前記電気機械の速度の少なくとも一方の変化に応答して前記位相シフト期間T_PSを変化させるステップを含む、ことを特徴とする請求項2に記載の方法。T_AVEが、1又はそれ以上の機械サイクルに及ぶ前記ロータ位置信号のエッジ間の平均間隔である、ことを特徴とする請求項1から請求項3のいずれか1項に記載の方法。前記第1のエッジ及び前記第2のエッジが、それぞれ前記電気機械の個々の機械サイクルの第1のエッジ及び第2のエッジである、ことを特徴とする請求項1から請求項4のいずれか1項に記載の方法。前記方法が、前記ロータ位置信号の前記第1のエッジ後の時点T_COM1において前記相巻線を転流するステップと、機械サイクルに及ぶ前記ロータ位置信号の個々の後続するエッジ後の時点T_COMnにおいて前記相巻線を転流するステップと、を含み、前記ロータ位置信号のエッジiとエッジi1の間の期間をT_PDiとした場合、である、ことを特徴とする請求項1から請求項5のいずれか1項に記載の方法。ロータ位置信号を受け取るための入力部と、電気機械の相巻線を転流するための1又はそれ以上の制御信号を出力するための1又はそれ以上の出力部とを有する、前記電気機械のためのコントローラであって、該コントローラが、前記ロータ位置信号の第1のエッジ後の時点T_COM1及び前記ロータ位置信号の第2のエッジ後の時点T_COM2において前記相巻線を転流するための制御信号を生成し、前記ロータ位置信号のエッジ間の平均間隔をT_AVEとし、前記第1のエッジと第2のエッジの間の期間をT_PDとした場合、T_COM2=T_COM1T_AVE-T_PDである、ことを特徴とするコントローラ。請求項1から請求項6のいずれか1項に記載の方法を実施する、ことを特徴とする電気機械のための制御システム。第1の態様では、本発明は、電気機械を制御する方法を提供し、この方法は、ロータ位置信号の第1のエッジ後の時点T_COM1において電気機械の相巻線を転流するステップと、ロータ位置信号の第2のエッジ後の時点T_COM2において相巻線を転流するステップとを含み、ロータ位置信号のエッジ間の平均期間をT_AVEとし、第1のエッジと第2のエッジの間の期間をT_PDとした場合、T_COM2=T_COM1T_AVE-T_PDである。T_COM2をT_COM1T_AVE-T_PDと定義することにより、第2のエッジから第1のエッジと第2のエッジの間の期間におけるデューティサイクルの不均衡を考慮した期間だけ後に相巻線が転流される。この結果、より安定した電気機械がもたらされる。従って、電気機械の出力及び/又は効率を改善することができる。また、電気機械がAC電源によって給電される場合、AC電源から引き出される電流波形内の調波量を減少させることができる。T_COM1は、位相シフト期間をT_PSとするT_AVET_PSに比例することができる。この結果、方法は、相巻線の転流をロータ位置信号の各エッジに対して位相シフト期間だけシフトさせる。位相シフト期間を負にして各エッジの前に転流が行われるようにすることができ、これをゼロにして各エッジと同期して転流が行われるようにすることができ、又はこれを正にして各エッジの後に転流が行われるようにすることができる。方法は、相巻線を励起するために使用する供給電圧の変化、及び/又は電気機械の速度の変化に応答して位相シフト期間T_PSを変化させるステップを含むことができる。この結果、加速、出力、効率、及び/又は電流調波にわたってより良好な制御をもたらすことができる。T_COM1は、追加パラメータによって定義することができる。例えば、T_COM1を、ロータ位置信号を出力するセンサの電機子反作用又は位置ずれに対して補正することができる。T_AVEは、1又はそれ以上の機械サイクルに及ぶロータ位置信号のエッジ間の平均間隔によって定義することができる。機械サイクルの期間は、ロータ位置信号のデューティサイクルのいずれの不均衡にも反応しない。従って、T_AVEは、予想される第1のエッジと第2のエッジの間、及び第2のエッジと第3のエッジの間の期間の良好な近似値として機能する。第1のエッジ及び第2のエッジは、電気機械の個々の機械サイクルの第1のエッジ及び第2のエッジとすることができる。従って、電気機械の個々の機械サイクルにデューティサイクルの補償が適用される。個々の機械サイクルは、ロータ位置信号の複数のエッジを含むことができる。次に、方法は、電気機械の電源オンごとに第1のエッジと同じ個々の機械サイクルのエッジを選択するステップを含む。この結果、電気機械の性能が、電源オフ及びオンごとに一貫する。この方法は、ロータ位置信号の第1のエッジ後の時点T_COM1において相巻線を転流するステップと、機械サイクルに及ぶ個々の後続するロータ位置信号のエッジ後の時点T_COMnにおいて相巻線を転流するステップとを含み、ロータ位置信号のエッジiとエッジi1の間の期間をT_PDiとした場合、である。この結果、ロータ位置信号の各エッジからデューティサイクルの不均衡を調整した期間だけ後に相巻線が転流される。第2の態様では、本発明は、ロータ位置信号を受け取るための入力部と、電気機械の相巻線を転流するための1又はそれ以上の制御信号を出力するための1又はそれ以上の出力部とを有する、電気機械のためのコントローラを提供し、このコントローラは、ロータ位置信号の第1のエッジ後の時点T_COM1及びロータ位置信号の第2のエッジ後の時点T_COM2において相巻線を転流するための制御信号を生成し、ロータ位置信号のエッジ間の平均間隔をT_AVEとし、第1のエッジと第2のエッジの間の間隔をT_PDとした場合、T_COM2=T_COM1T_AVE-T_PDである。第3の態様では、本発明は、上記段落のいずれかにおいて説明した方法を実施する、電気機械のための制御システムを提供する。第4の態様では、本発明は、永久磁石モータを備えたモータシステム及び上記段落による制御システムを提供する。本発明を容易に理解できるようにするために、ここで添付図面を参照しながら本発明の実施形態を一例として説明する。図1~図3のモータシステム1は、AC電源2により給電され、ブラシレスモータ3及び制御システム4を備える。モータ3は、固定子6に対して回転する4極永久磁石ロータ5を有する。固定子6は、4つの固定子極を定める一対のC形コアを含む。コアの周りには導線が巻かれ、これらの導線が連結して単一の相巻線7を形成する。制御システム4は、整流器8、DCリンクフィルタ9、インバータ10、ゲートドライバモジュール11、電流センサ12、ロータ位置センサ13、及びコントローラ14を備える。整流器8は、AC電源2の出力を整流してDC電圧を供給する全波ブリッジの4つのダイオードD1~D4を含む。DCリンクフィルタ9は、インバータ10の切り替えによって生じる比較的高周波のリップルを平滑化するコンデンサC1を含む。必要に応じ、DCリンクフィルタ9は、整流済みの基本周波数のDC電圧をさらに平滑化することができる。インバータ10は、DCリンク電圧を相巻線7に結合する全波ブリッジの4つの電源スイッチQ1~Q4を含む。スイッチQ1~Q4の各々は、フリーホイールダイオードを含む。ゲートドライバモジュール11は、コントローラ14から受け取った制御信号に応答して、スイッチQ1~Q4の開閉を駆動する。電流センサ12は、1対のシャント抵抗器R1、R2を含み、個々の抵抗器はインバータ10の下部アーム上に位置する。個々の抵抗器R1、R2にかかる電圧は、電流検知信号I_SENSE_1及びI_SENSE_2としてコントローラ14に出力される。第1の電流検知信号I_SENSE_1は、インバータ10が以下で詳細に説明するように右から左へ駆動したときの相巻線7内の電流の測定値を示す。第2の電流検知信号I_SENSE_2は、インバータ10が左から右へ駆動したときの相巻線7内の電流の測定値を示す。抵抗器R1、R2をインバータ10の下部アーム上に配置する際に、これも以下でより詳細に説明するようにフリーホイーリング中に相巻線7内の電流が連続して検知される。ロータ位置センサ13は、センサ13を通過する磁束の方向に応じて論理的にhigh又はlowとなるデジタル信号HALLを出力するホール効果センサを含む。センサ13をロータ5に隣接して配置することにより、HALL信号が、ロータ5の角度位置の測定値を示す。より詳細には、HALL信号の各エッジが、ロータ5の極性の変化を示す。回転時には、永久磁石ロータ5が、相巻線7内に逆起電力を誘起する。結果として、HALL信号の各エッジは、相巻線7内の逆起電力の極性の変化もさらに示す。コントローラ14は、モータシステム1の動作を制御する責任を負う。4つの入力信号:I_SENSE_1、I_SENSE_2、HALL、及びDC_SMOOTHに応答して、コントローラ14は、3つの制御信号:DIR1、DIR2、及びFWを生成して出力する。これらの制御信号がゲートドライバモジュール11に出力され、これに応じて、ゲートドライバモジュール11がインバータ10のスイッチQ1~Q4の開閉を駆動する。I_SENSE_1及びI_SENSE_2は、電流センサ12により出力される信号であり、HALLは、ロータ位置センサ13により出力される信号である。DC_SMOOTHは、平滑化したDCリンク電圧の測定値であり、分圧器R3、R4及び平滑コンデンサC2によって得られる。DIR1及びDIR2は、インバータ10を、従って相巻線7を通過する電流の方向を制御する。DIR1が論理的highに引っ張られ、DIR2が論理的にlowに引っ張られると、ゲートドライバモジュール11は、スイッチQ1及びQ4を閉じてスイッチQ2及びQ3を開くことにより、相巻線7を通じて電流を左から右へ駆動する。反対に、DIR2が論理的にhighに引っ張られ、DIR1が論理的にlowに引っ張られると、ゲートドライバモジュール11は、スイッチQ2及びQ3を閉じてスイッチQ1及びQ4を開くことにより、相巻線7を通じて電流を右から左へ駆動する。従って、DIR1とDIR2を逆転させることにより、相巻線7内の電流が転流される。DIR1及びDIR2の両方が論理的にlowに引っ張られた場合、ゲートドライバモジュール11は、全てのスイッチQ1~Q4を開く。FWは、相巻線7をDCリンク電圧から切断するために使用され、相巻線7内の電流がインバータ10のlow側ループの周りをフリーホイールできるようにする。従って、ゲートドライバモジュール11は、論理的にlowに引っ張られたFW信号に応答して、high側スイッチQ1、Q2を開く。この結果、電流は、インバータ10のlow側ループの周りをDIR1及びDIR2によって定められる方向にフリーホイールする。図4は、コントローラ14の制御信号に応答してスイッチQ1~Q4が許容される状態をまとめたものである。以下、信号が論理的にhighに及び論理的にlowに引っ張られることを示すために、セット及びクリアという用語をそれぞれ使用する。コントローラ14は、ロータ5の速度に応じて2つのモードの一方で動作する。所定の速度閾値を下回る速度では、コントローラ14は加速モードで動作する。速度閾値又はこれ以上の速度では、コントローラ14は定常モードで動作する。ロータ5の速度は、HALL信号の2つの連続するエッジ間の期間T_PDから求められる。この期間は、1つのHALLパルスの長さに相当し、以下ではHALL期間と呼ぶ。従って、T_PDiは、HALLエッジiとHALLエッジi1の間のHALL期間に相当する。加速モード速度閾値を下回る速度では、コントローラ14は、HALL信号のエッジと同期して相巻線7を転流する。各HALLエッジは、相巻線7内の逆起電力の極性の変化を表す。この結果、コントローラ14は、逆起電力のゼロ交差と同期して相巻線7を転流する。転流は、相巻線7を通過する電流の方向を逆転させるために、DIR1及びDIR2を逆転させるすなわち、DIR1をクリアしてDIR2をセットするか、或いはDIR2をクリアしてDIR1をセットすることを伴う。相巻線7は、転流の時点でフリーホイールすることができる。従って、DIR1及びDIR2の逆転に加え、コントローラ14は、インバータ10が確実に駆動状態に戻るようにするためにFWをセットする。コントローラ14は、2つの電流検知信号I_SENSE_1及びI_SENSE_2をモニタする。相巻線7内の電流が過電流閾値を超えると、コントローラ14は、FWをクリアすることによりモータ3をフリーホイールする。フリーホイーリングは、フリーホイール期間T_FWにわたって継続し、この間、相巻線7内の電流は、過電流閾値を下回るレベルまで減少すると予想される。相巻線7内の電流が過電流閾値を超過し続ける場合、コントローラ14は、相巻線7をフリーホイール期間T_FWにわたって再度フリーホイールする。そうでない場合、コントローラ14は、FWをセットすることにより相巻線7を励起する。この結果、コントローラ14は、相巻線7を個々の電気的半サイクルにわたって連続して励起及びフリーホイールする。図5には、加速モードで動作している場合のいくつかのHALL期間にわたるHALL信号、制御信号、及び相電流の波形を示している。コントローラ14は、固定フリーホイール期間T_FWを利用することができる。しかしながら、固定フリーホイール期間の間、対応する電気角度はロータ速度とともに増加する。この結果、電流ひいては電力を相巻線7に引き込む残りの電気角度が減少する。また、ロータ速度が増加するにつれ、相巻線7内に誘起される逆起電力が増加する。この結果、フリーホイール中に相電流がより速い速度で減少する。従って、コントローラ14は、固定フリーホイール期間を使用する代わりに、ロータ速度とともに変化するフリーホイール期間を使用する。より詳細には、コントローラ14は、ロータ速度の増加とともに減少するフリーホイール期間を使用する。従って、コントローラ14は、複数のロータ速度の各々のフリーホイール期間T_FWを記憶するフリーホイールルックアップテーブルを含む。この結果、コントローラ14は、T_PDから求められる現在のロータ速度を使用してフリーホイールルックアップテーブルのインデックスを作成することにより、フリーホイール期間を定期的に更新する。定常モード速度閾値又はこれ以上の速度では、コントローラ14は、相巻線7を各HALLエッジよりも前に、従って逆起電力のゼロ交差よりも前に転流する。この場合も、転流は、DIR1とDIR2を逆転させてFWをセットすることを伴う。コントローラ14は、各HALLエッジよりも進み期間T_ADVだけ前に相巻線7を転流する。特定のHALLエッジよりも前に相巻線7を転流するために、コントローラ14は、前回のHALLエッジに応じて動作する。前回のHALLエッジnに応じて、コントローラ14は、転流期間T_COMnを計算する。次に、コントローラ14は、前回のHALLエッジの後の時点T_COMnにおいて相巻線7を転流する。この結果、コントローラ14は、後続するHALLエッジn1よりも前に相巻線7を転流する。コントローラ14が転流期間T_COMnを計算する方法については以下で説明する。加速モードの場合と同様に、コントローラ14は、相巻線7の電流が過電流閾値を超える場合には常に相巻線7をフリーホイールする。フリーホイーリングは、フリーホイール期間T_FWにわたって継続し、この間、相巻線7の電流は、過電流閾値を下回るレベルまで減少すると予想される。相巻線7内の電流が過電流閾値を超過し続ける場合、コントローラ14は、相巻線7を再度フリーホイールする。そうでない場合、コントローラ14は相巻線7を励起する。この結果、加速モードの場合と同様に、コントローラ14は、相巻線7を連続して励起及びフリーホイールする。加速モードで動作している場合、コントローラ14は、個々の電気的半サイクルの全長にわたって相巻線7を連続して励起及びフリーホイールする。一方、定常状態で動作している場合、コントローラ14は、通常は個々の電気的半サイクルの一部のみに及ぶ通電期間T_CDにわたって相巻線7を連続して励起及びフリーホイールする。通電期間の終わりに、コントローラ14は、FWをクリアすることにより巻線をフリーホイールする。その後、フリーホイールは、コントローラ14がモータ3を転流するときまで無制限に継続する。図6には、定常モードで動作している場合のいくつかのHALL期間にわたるHALL信号、制御信号、及び相電流の波形を示している。コントローラ14は、DC_SMOOTHから求められる電源2の電圧及びT_PDから求められるロータ5の速度の変化に応答して、進み期間T_ADV及び通電期間T_CDを調整する。従って、コントローラ14は、進みルックアップテーブル及び通電ルックアップテーブルを記憶する。進みルックアップテーブルは、複数の供給電圧及びロータ速度の各々の進み期間T_ADVを記憶する。同様に、通電ルックアップテーブルは、複数の供給電圧及びロータ速度の各々の通電期間T_CDを記憶する。コントローラ14は、DC_SMOOTHから求められる供給電圧及び/又はT_PDから求められるロータ速度の変化に応答して、進み期間、通電期間及びフリーホイール期間を定期的に更新する。例えば、コントローラ14は、個々の又はn番目ごとのHALLエッジに応答して様々な制御パラメータを更新することができる。或いは、コントローラ14は、一定期間後に、又は電源2の電圧のゼロ交差に応答して制御パラメータを更新することができる。ルックアップテーブルは、個々の電圧点及び速度点において特定の入力又は出力を達成する値を記憶する。さらに、この値を、個々の電圧点及び速度点におけるモータシステム1の効率が特定の入力又は出力に関して最適化されるように選択する。すなわち、進み期間、通電期間及びフリーホイール期間の様々な値の組により、同一の所望の入力又は出力を得ることができる。しかしながら、これらの様々な値の組から、効率を最適にする1つの組が選択される。多くの国には、主電源から引き出すことができる電流調波量に厳しい制限を課す規定が存在する。従って、これらの値は、効率が最適化されると同時に、電源2から引き出される電流調波量が所要の規制を確実に順守するように選択することができる。デューティサイクル補償上述したように、各HALLエッジは、ロータ5の極性の変化を表す。ロータ5は、相巻線7内に逆起電力を誘起するので、各HALLエッジは、逆起電力のそれぞれのゼロ交差に関連する。HALL信号のデューティサイクルが完全に均衡を保ち、すなわち各HALLパルスが同じ機械角度に及ぶことが理想的である。しかしながら、モータシステム1の公差、特にロータ極の磁化の公差に起因して、一般にデューティサイクルの不均衡が存在する。一方、相巻線7内に誘起される逆起電力は均衡を保ち続ける。この結果、それぞれの逆起電力のゼロ交差に関連するHALLエッジの角度位置をオフセットすることができる。詳細には、HALLエッジの角度位置によりゼロ交差を導き、又はゼロ交差を遅らせることができる。このHALLエッジの角度位置のオフセットは、今から説明するように、モータシステム1の挙動及び性能に悪影響を及ぼすことがある。定常モードで動作している場合、コントローラ14は、逆起電力のゼロ交差よりも進み期間T_ADVだけ前に相巻線7を転流しようとする。とりあえず、各HALLエッジが逆起電力のゼロ交差と一致することに基づいてコントローラ14が動作すると仮定する。従って、コントローラ14は、各HALLエッジよりも進み期間T_ADVだけ前に相巻線7を転流しようとする。特定のHALLエッジよりも前に相巻線7を転流するために、コントローラ14は、前回のHALLエッジnからセット期間T_COMnだけ後に相巻線7を転流する。従って、転流期間T_COMnを以下のように定義することができる。T_COMn=T_PDn-1-T_ADV式中、T_PDn-1はHALLエッジnの直前のHALL期間であり、T_ADVは進み期間である。各HALLエッジが逆起電力のゼロ交差と一致する場合、実際には、コントローラ14は、個々のゼロ交差よりも所要の進み期間T_ADVだけ前に相巻線7を転流する。しかしながら、HALLエッジの角度位置にゼロ交差に対してオフセットが存在する場合、代わりに今から図7を参照して実証するように、コントローラ14は、所要の進み期間T_ADVとは異なる期間に相巻線7を転流する。図7には、一定速度で動作するモータシステム1の機械サイクルを示している。個々の機械サイクルの期間は200μsである。デューティサイクルの不均衡がない場合、個々のHALL期間T_PDnの長さは50μsとなる。しかしながら、モータシステム1の公差に起因して、個々の機械サイクルの第1のHALL期間は60μsとなり、第2のHALL期間は30μsとなり、第3のHALL期間は70μsとなり、第4のHALL期間は40μsとなる。従って、デューティサイクルの不均衡は、60:30:70:40となる。ここで、コントローラ14が、20μsの進み期間T_ADV、及び方程式:T_COMn=T_PDn-1-T_ADVにより定義される転流期間T_COMnを使用すると仮定する。機械サイクルの第1のHALLエッジに応答して、コントローラ14は、転流期間T_COM1を計算する。第1のHALLエッジの直前のHALL期間T_PD0は40μsであり、進み期間T_ADVは20μsであるので、転流期間T_COM1は20μsとなる。従って、コントローラ14は、第1のHALLエッジから20μs後に相巻線を転流し、これは逆起電力のゼロ交差に対して30μsの進み期間に相当する。機械サイクルの第2のHALLエッジに応答して、コントローラ14は、次の転流期間T_COM2を計算する。先行するHALL期間T_PD1は60μsであり、進み期間T_ADVは20μsであるので、転流期間T_COM2は40μsとなる。従って、コントローラ14は、第2のHALLエッジから40μs後に相巻線を転流する。この結果、コントローラ14は、逆起電力の次のゼロ交差よりも前に相巻線7を転流するのではなく、ゼロ交差と同期して相巻線を転流する。機械サイクルの第3のエッジに応答して、コントローラ14は転流期間T_COM3を再度計算し、これはこの場合10μsである。従って、コントローラ14は、第3のHALLエッジから10μs後に相巻線10を転流し、これは逆起電力の次のゼロ交差に対して50μsの進み期間に相当する。最終的に、機械サイクルの第4のHALLエッジに応答して、コントローラ14は転流期間COM4を計算し、これはこの場合50μsである。従って、コントローラ14は、第4のHALLエッジから50μs後に相巻線を転流する。この結果、コントローラ14は、逆起電力の次のゼロ交差よりも前に相巻線7を転流するのではなく、ゼロ交差から10μs後に相巻線を転流する。要約すれば、コントローラ14は、逆起電力の個々のゼロ交差よりも20μs前に相巻線7を転流するのではなく、第1のゼロ交差よりも30μs前に、第2のゼロ交差とは同期して、第3のゼロ交差よりも50μs前に、及び第4のゼロ交差から10μs後に相巻線を転流する。また、図7から分かるように、転流期間T_COM2及びT_COM3は同時に生じている。この結果、コントローラ14は、相巻線7を素早く連続して2回転流しようとする。この結果、電流は、比較的長い期間にわたって相巻線7を同じ方向に通り抜ける。図7に示す例では、コントローラ14が、電流を個々の機械サイクルの10μsにわたって左から右へDIR1及び190μsにわたって右から左へDIR2相巻線7に通す。進み期間が分散して転流点が衝突すると、モータシステム1の性能に悪影響が及ぶ。詳細には、モータシステム1の出力及び/又は効率が低下することがある。また、AC電源2から引き出される電流波形内の調波量が増加して、規定の閾値を超えることもある。従って、コントローラ14は、転流期間T_COMnを計算するためのデューティサイクル補償スキームを使用する。最初に、コントローラ14は、1又はそれ以上の機械サイクルに及ぶ連続するHALLエッジ間の平均期間T_AVEを取得する。式中、T_PDiは、HALLエッジiとHALLエッジi1の間の期間であり、Nは、機械サイクル当たりの総エッジ数である。機械サイクルの期間は、HALL信号のデューティサイクルのいずれの不均衡の影響も受けない。この結果、1又はそれ以上の機械サイクルにわたる連続するエッジ間の期間を平均することにより、デューティサイクルの不均衡に影響されない平均HALL期間が得られる。機械サイクルの第1のHALLエッジに応答して、コントローラ14は、以下の式により定義される転流期間を計算する。T_COM1=T_AVE-T_ADV式中、T_AVEは平均HALL期間であり、T-ADVは進み期間である。この結果、コントローラ14は、第1のHALLエッジ後の時点T_COM1において相巻線7を転流する。機械サイクルの第2のHALLエッジに応答して、コントローラ14は、再び転流期間を計算する。しかしながら、今回は転流期間が以下のように定義される。T_COM2=T_COM1T_AVE-T_PD1式中、T_COM1は、第1のHALLエッジの転流期間であり、T_AVEは平均HALL期間であり、T-PD1は第1のHALLエッジと第2のHALLエッジの間の期間である。この結果、コントローラ14は、第2のHALLエッジ後の時点T_COM2において相巻線7を転流する。機械サイクルの第3のHALLエッジに応答して、コントローラ14は、転流期間を以下のように計算する。T_COM3=T_COM12×T_AVE-T_PD1-T_PD2式中、T_COM1は第1のHALLエッジの転流期間であり、T_AVEは平均HALL期間であり、T-PD1は第1のHALLエッジと第2のHALLエッジの間の期間であり、T-PD2は第2のHALLエッジと第3のHALLエッジの間の期間である。この結果、コントローラ14は、第3のHALLエッジ後の時点T_COM3において相巻線7を転流する。最後に、機械サイクルの第4のHALLエッジに応答して、コントローラ14は、転流期間を以下のように計算する。T_COM4=T_COM13×T_AVE-T_PD1-T_PD2-T_PD3式中、T_COM1は第1のHALLエッジの転流期間であり、T_AVEは平均HALL期間であり、T-PD1は第1のHALLエッジと第2のHALLエッジの間の期間であり、T-PD2は第2のHALLエッジと第3のHALLエッジの間の期間であり、T-PD3は第3のHALLエッジと第4のHALLエッジの間の期間である。この結果、コントローラ14は、第4のHALLエッジ後の時点T_COM4において相巻線7を転流する。図8には、上述の補償スキームを用いて転流期間を計算するモータシステム1の機械サイクルを示している。機械的期間、デューティサイクルの不均衡、及び進み期間は、図7に示す例と同じである。機械サイクルの期間は200μsであり、機械サイクル当たり4つのHALLエッジが存在するので、平均HALL期間T-AVEは50μsとなる。従って、第1のHALLエッジの転流期間T-COM1は30μsとなり、これは逆起電力の第1のゼロ交差に対して20μsの進み期間に相当する。第2のHALLエッジの転流期間T-COM2は20μsとなり、これは逆起電力の第2のゼロ交差に対して20μsの進み期間に相当する。第3のHALLエッジの転流期間T-COM3は40μsとなり、これは逆起電力の第3のゼロ交差に対して20μsの進み期間に相当する。最後に、第4のHALLエッジの転流期間T-COM4は20μsとなり、これは逆起電力の第4のゼロ交差に対して20μsの進み期間に相当する。従って、コントローラ14は、逆起電力の個々のゼロ交差よりも進み期間T_ADVだけ前に相巻線7を転流する。さらに、転流点の衝突は存在しない。一方、図7に示す例では、逆起電力のゼロ交差よりも前、ゼロ交差時、及びゼロ交差よりも後に転流が行われる。また、2つの転流点の衝突が存在する。従って、デューティサイクル補償スキームを使用した場合の方が、モータシステム1の挙動が安定する。結果的に、モータシステム1の出力及び/又は効率が改善される。また、AC電源2から引き出される電流波形の調波が低下する。上述したデューティサイクル補償スキームでは、単一のタイマーを使用してT_AVE、T_COM及びT_PDを測定することができる。例えば、第1のHALLエッジに応答してコントローラ14のタイマーをリセットし、比較レジスタにT_COMをロードすることができる。タイマーと比較レジスタが対応する場合、コントローラ14が相巻線7を転流する。タイマーは停止するのではなく、第2のHALLエッジまでカウントし続ける。第2のHALLエッジに応答して、T_PD1に相当するタイマーの値をメモリに記憶し、タイマーをリセットして、比較レジスタにT_COM2をロードする。従って、コントローラ14のメモリは、1つの機械サイクル後にT_PAD1、T_PAD2、T_PAD3及びT_PAD4を記憶するようになる。次にこれらの期間を合計し、4で除算してT_AVEを得ることができる。上述の実施形態では、コントローラ14が、定常モードで動作している場合、逆起電力の個々のゼロ交差よりも前に相巻線7を転流する。この理由は、ロータ速度が増加するにつれてHALL期間が減少し、従って相インダクタンスに関連する時定数L/Rが次第に重要になるからである。個々のゼロ交差よりも前に相巻線7を転流することにより、逆起電力によって供給電圧が高められる。この結果、相巻線7を通過する電流の方向をより素早く逆転させることができる。また、ロータ速度が増加するにつれて相巻線7内に誘起される逆起電力も増加し、これがさらに相電流の上昇率に影響を及ぼす。個々のゼロ交差よりも前に相巻線7を転流することにより、相電流が逆起電力をもたらすことができるようになり、これが緩慢な上昇を補償する助けとなる。この結果、短時間の負トルクが生じ、通常このトルクは、この後に得られる正トルクにより相殺されるよりも大きい。従って、コントローラ14は、定常モードで動作している場合、これに伴う比較的高いロータ速度によって転流を進める。しかしながら、モータシステム1が定常モードにおいて低速で動作しているとした場合、必ずしも転流を進める必要がない場合がある。さらに、転流を逆起電力の個々のゼロ交差の後まで遅延させることにより、最適な効率及び/又は最小の電流調波を実現することができる。従って、コントローラ14は、定常モードで動作している場合、逆起電力のゼロ交差に対して転流を進め、同期させ、又は遅延させることができる。従って、第1のHALLエッジの転流期間は、より一般的に以下のように定義することができる。T_COM1=T_AVET_PS式中、T_PSは負進められた転流、ゼロ同期した転流又は正遅延した転流とすることができる位相シフト期間である。この結果、コントローラ14は、供給電圧及び/又はロータ速度の変化に応答して位相シフト期間T_PSを調整することができる。コントローラ14は、個々のモータシステム1に特有の一定の分散に関して、個々の転流期間T_COMnを補正することができる。例えば、コントローラ14は、ホール効果センサ13のロータ5に対する位置ずれに関して個々の転流期間を補正することができる。転流期間のあらゆる補正は、第1の転流期間T_COM1にのみ適用する必要がある。これは、後続する転流期間T_COMnが第1の転流期間に依存するからである。この結果、第1のHALLエッジの転流期間をより一般的に以下のように定義することができ、T_COM1∝T_AVET_PS後続するHALLエッジの転流期間を以下のように定義することができる。エッジ選択上記のデューティサイクル補償の例では、60μsのHALLパルスの立ち上がりを、個々の機械サイクルの第1のHALLエッジとして扱った。代わりに、60μsのHALLパルスの立ち下がりを第1のHALLエッジとして扱った場合、コントローラ14は、逆起電力の個々のゼロ交差の20μs前ではなく、10μs前に相巻線を転流すると考えられる。この進み期間の差は、2つのHALLエッジの角度位置に、これらのそれぞれの逆起電力のゼロ交差に対して異なるオフセットが存在することにより生じる。従って、相巻線7を転流する時点は、どのHALLエッジを個々の機械サイクルの第1のエッジとして選択するかによって決まる。モータシステム1の動作中、コントローラ14は、一貫して同じHALLエッジを個々の機械サイクルの第1のエッジとして選択する。しかしながら、モータシステム1の電源をオフにしてオンにした場合、コントローラ14が、異なるHALLエッジを個々の機械サイクルの第1のエッジとして選択することがある。この結果、電源オフ及びオンごとにモータシステム1の性能が変化することがある。モータシステム1の性能が一貫したものになることを確実にするために、コントローラ14は、基準エッジを個々の機械サイクルの第1のエッジとして選択するエッジ選択スキームを使用する。以下で説明するように、基準エッジは、モータシステム1の電源オンごとに逆起電力のそれぞれのゼロ交差に対する基準エッジの角度位置が同じになるように選択される。この結果、電源オフ及びオンごとにモータシステム1の性能が一貫する。コントローラ14は、最初に4つの連続するHALLパルスの期間T_PDnを測定する。コントローラ14は、HALL信号の立ち上がり及び立ち下がりの一方のみに応答してHALLパルスを測定する。この結果、コントローラ14により測定された第1のHALLパルスは、一貫して立ち上がり前縁又は立ち下がり前縁のいずれかを有するようになる。次に、コントローラ14は、以下の条件で、第1のHALLパルスの前縁を基準エッジとして選択する。T_PD1T_PD2≧T_PD3T_PD4この条件に合わなければ、コントローラ14は、第3のHALLパルスの前縁を基準エッジとして選択する。従って、コントローラ14は2つのオペランドを比較する。第1のオペランドは、機械サイクルのほぼ半分に及ぶ第1の期間T_PD1T_PD2を含む。第2のオペランドは、機械サイクルの残りの半分に及ぶ第2の期間T_PD3T_PD4を含む。2つのオペランドが等しい場合、HALL信号のデューティサイクルが機械サイクルの個々の半分と均衡を保っていることを意味し、すなわち第1の2つのHALLパルスも第2の2つのHALLパルスも180機械度に及ぶ。この結果、第1のHALLパルスの前縁を、その逆起電力のそれぞれのゼロ交差に対してオフセットした場合、第3のHALLパルスの前縁は、そのそれぞれのゼロ交差に対して同じ量だけオフセットされるようになる。このことは、たとえHALL信号のデューティサイクルが個々の機械的半サイクル内で均衡を失っていても当てはまる。従って、例えば、機械度で測定したHALL信号のデューティサイクルは、100:80:110:70となり得る。個々の機械的半サイクル内で不均衡が生じるにもかかわらず、第1のHALLパルスすなわち、100度のパルスの前縁と第3のHALLパルスすなわち、110度のパルスの前縁との間の差は180機械度となる。従って、第1のHALLパルス又は第3のHALLパルスのいずれかの前縁を基準エッジとして選択することができる。上述の方程式では、2つのオペランドが等しい場合、コントローラ14は第1のHALLパルスの前縁を選択する。しかしながら、コントローラ14は、第3のHALLパルスの前縁を同様に選択することもできる。第1のオペランドが第2のオペランドよりも大きい場合、コントローラ14は、第1のHALLパルスの前縁を選択し、そうでない場合、コントローラ14は、第3のHALLパルスの前縁を選択する。コントローラ14は、同様にこの逆を選択することもでき、すなわち第1のオペランドが第2のオペランドよりも小さい場合、第1のHALLパルスの前縁を選択することができる。実際には、電源オンごとに同じオペランド及び演算子を使用する限り、上記方程式の演算子は、≧、>、≦又は<のうちのいずれか1つとすることができる。従って、より一般的な意味では、コントローラ14は、第1のオペランドと第2のオペランドを比較し、比較結果が論理的に真である場合には第1のHALLパルスの前縁を選択し、比較の結果が論理的に偽である場合には第3のHALLパルスの前縁を選択すると言うことができる。ここまで、第1のHALLパルス又は第3のHALLパルスのいずれかの前縁を選択することについて言及した。しかしながら、一意のオペランドを識別してしまったら、電源オンごとに同じ選択基準を適用する限り、コントローラ14により選択された実際のエッジは重要でない。従って、例えば、コントローラ14は、第1のHALLパルス又は第3のHALLパルスのいずれかの後縁を選択することもできる。エッジ選択スキームの結果として、コントローラ14は、逆起電力のそれぞれのゼロ交差に対する基準エッジの角度位置が電源オンごとに同じである基準エッジを選択する。コントローラ14は、電源オンごとに異なるHALLエッジを基準エッジとして選択することができる。にもかかわらず、それぞれのゼロ交差に対する基準エッジの角度位置は同じとなる。従って、例えば、機械度で測定したHALL信号のデューティサイクルは、100:80:110:70となり得る。コントローラ14は、電源オンごとに、100:80:110:70及び110:70:100:80という2つのシーケンスの一方のHALLパルスを測定することができる。従って、コントローラ14は、電源オンごとに100度のパルス又は110度のパルスのいずれかの前縁を選択するようになる。しかしながら、パルスの前縁は180機械度によって分離され、従って上述したように、これらのエッジは、逆起電力のそれぞれのゼロ交差に対して同じ角度位置を有するようになる。エッジの角度位置が逆起電力のそれぞれのゼロ交差に対して同じである基準エッジを選択し、この基準エッジに関する時点で相巻線7を転流することにより、モータシステム1の挙動及び性能が電源オフ及びオンごとに一貫する。オペランドの長さの差分は比較的小さく、従って過渡効果の影響を受ける場合がある。過渡効果によって、誤ったHALLエッジが選択されないようにするために、個々のオペランドは、いくつかの機械サイクルにわたって累積したHALLパルスの合計、すなわちΣT_PD1T_PD2≧ΣT_PD3T_PD4を含むことができる。モータ3の初期加速中、ロータ5の速度は自然に増加し、従って個々のHALLパルスの長さは減少する。この結果、モータ3が定常モードで動作するようになるまでエッジ選択を遅延させることができる。しかしながら、たとえ定常モードで動作していても、モータ3の速度の変化が、いずれのHALLエッジを基準エッジとして選択するかに影響を及ぼすことがある。例えば、HALL信号のデューティサイクルが、機械度で92:90:90:88であるとする。電源オンごとに、コントローラ14は、92:90:90:88及び90:88:92:90という2つのシーケンスの一方でHALLパルスを測定することができる。コントローラ14により測定されたシーケンスに関係なく、コントローラ14は、電源オンごとに92度のパルスの前縁を選択すべきである。ここで、ロータ5の速度が一定であり、個々の機械サイクルの長さが200μsであると仮定する。従って、コントローラ14は、2つの考えられるシーケンスをそれぞれ51:50:50:49μs及び50:49:51:50μsとして測定する。従って、予想通りに、コントローラ14は、電源オンごとに51μsのパルスすなわち、92度のパルスの前縁を一貫して選択する。一方で、ロータ5が加速している場合、コントローラ14は、2つのシーケンスをそれぞれ51:49:48:46μs及び50:48:49:47μsとして測定することができる。第1のシーケンスでは、コントローラ14は、予想通り51μsのパルスすなわち、92度のパルスの前縁を選択する。しかしながら、第2のシーケンスでは、コントローラ14は、50μsのパルスすなわち、90度のパルスの前縁を選択する。従って、ロータ速度が変化しているときに基準エッジを選択する場合、電源オンごとに異なるHALLエッジが選択されることがある。従って、この問題を克服する、基準エッジを選択する代替の方法について説明する。上述のスキームでは、コントローラ14が2つのオペランドを比較する。第1のオペランドは、機械サイクルのほぼ半分に及ぶ第1の期間T_PD1T_PD2を含む。第2のオペランドは、機械サイクルの残りの半分に及ぶ第2の期間T_PD3T_PD4を含む。このスキームがロータ速度の変化の影響を受けるのは、第1の期間が第2の期間を導くからである。この問題には、第3の期間及び第4の期間を導入することによって対処することができる。この結果、第1のオペランドは、第1の期間と第3の期間の合計を含み、第2のオペランドは、第2の期間と第4の期間の合計を含む。第1及び第2の期間と同様に、第3及び第4の期間も連続しており、各々がほぼ半分の機械サイクルに及ぶ。しかしながら、重要な点は、第3の期間が第4の期間に続くことである。第3の期間は、第1の期間と同じ機械サイクルの半分に及ぶ。唯一の違いは、2つの期間が異なる機械サイクルにわたって測定されるという点である。第4の期間は、第3の期間の直前の機械的半サイクルに及ぶ。この結果、第4の期間は、第2の期間と同じ機械サイクルの半分に及ぶ。第1及び第3の期間とは異なり、第2及び第4の期間を同じ機械サイクルにわたって測定することができすなわち、第2の期間と第4の期間は同一とすることができる、或いは異なる機械サイクルにわたって測定することもできる。従って、例えばコントローラ14は、以下の条件で、第1のHALLパルスの前縁を基準エッジとして選択することができる。T_PD1T_PD2T_PD5T_PD6≧2×T_PD3T_PD4この例では、第3の期間はT_PD5T_PD6であり、第4の期間はT_PD3T_PD4である。第2の期間と第4の期間が同一であることが明らかであろう。さらなる例として、コントローラ14は、以下の条件で第1のHALLパルスの前縁を選択することができる。T_PD1T_PD2T_PD9T_PD10≧T_PD3T_PD4T_PD7T_PD8このさらなる例では、第3の期間はT_PD9T_PD10であり、第4の期間はT_PD7T_PD8である。上述した方法で2つのオペランドを定義した場合、この2つのオペランドは、HALL信号のデューティサイクルが機械サイクルの個々の半分にわたって均衡を保ち、ロータ5の速度が一定又は線形変化している場合にのみ等しい。従って、コントローラ14は、関連するHALLパルスを測定している場合、相巻線7の励起を一時停止する。この結果、測定中にロータ5の速度が線形に低下する。或いは、ロータ5の速度が一定又は線形変化しているときにHALLパルスを測定できる場合、位相励起を一時停止するステップを省略することができる。HALLパルスを測定している場合、ロータ5の速度は一定又は線形変化しているので、2つのオペランドは、HALL信号のデューティサイクルが個々の機械的半サイクルにわたって均衡を保つ場合にのみ等しくなる。このことを総合すると、コントローラ14が使用するエッジ選択スキームは、以下の方法で進むことができる。最初に、コントローラ14が、相巻線7の励起を一時停止する。次に、コントローラ14が、6つの連続するHALLパルスのHALL期間T_PDnを測定する。最初のエッジ選択スキームと同様に、コントローラ14は、HALL信号の立ち上がり及び立ち下がりの一方のみに応答してHALLパルスを測定する。この結果、第1のHALLパルスは、一貫して立ち上がり又は立ち下がりのいずれかを有するようになる。次に、コントローラ14が、以下の条件で第1のHALLパルスの前縁を基準エッジとして選択する。T_PD1T_PD2T_PD5T_PD6≧2×T_PD3T_PD4この場合も最初のスキームと同様に、電源オンごとに同じオペランド及び演算子を使用する限り、上記方程式の演算子は、≧、>、≦又は<のうちのいずれか1つとすることができる。ここまで、個々のHALLパルスの長さを測定することについて言及した。しかしながら、コントローラ14は、HALL信号の立ち上がりのみ又は立ち下がりのみの間の期間を同様に測定することができる。従って、より一般的な意味では、HALL信号は、機械サイクル当たりN個のエッジを有すると言うことができる。この結果、コントローラ14は、いずれかの整数をnとするエッジnとエッジnN/2の間の第1の期間、及びエッジnN/2とエッジnNの間の第2の期間を測定する。最初のエッジ選択スキームでは、第1のオペランドが第1の期間のみを含み、第2のオペランドが第2の期間のみを含む。代替のエッジ選択スキームでは、コントローラ14が、いずれかの整数をmとするエッジnmNとエッジnmNN/2の間の第3の期間、及びエッジnmN-N/2とエッジnmNの間の第4の期間を測定する。この結果、第1のオペランドは、第1の期間と第3の期間の合計となり、第2のオペランドは、第3の期間と第4の期間の合計となる。mが1に等しい場合、第2の期間と第4の期間は同一になる。この結果、第2及び第4の期間は、エッジnN/2とエッジnNの間で1回の測定を行うことによって得られる。この結果、両方のエッジ選択スキームにおいて、コントローラ14は、第1のオペランドと第2のオペランドを比較し、比較の結果が論理的に真であれば第1の期間のエッジを選択し、比較の結果が論理的に偽であれば第2の期間のエッジを選択する。ここまで、基準エッジを選択するための2つの異なるスキームについて説明した。しかしながら、基準エッジを選択するための他のスキームも考えられる。例えば、個々の機械サイクルにわたり、HALL信号は、立ち上がり前縁を有する2つのパルス、及び立ち下がり前縁を有する2つのパルスを有する。従って、コントローラ14は、立ち上がり前縁を有する2つのHALLパルスの長さを比較することができる。この結果、コントローラ14は、長い方又は短い方のHALLパルスの立ち上がりを基準エッジとして選択することができる。2つのHALLパルスの長さが同じ場合、コントローラ14は、立ち下がり前縁を有する2つのHALLパルスの長さを比較することができる。この結果、コントローラ14は、長い方又は短い方のHALLパルスの立ち下がりを基準エッジとして選択する。2つのHALLパルスの長さが同じ場合、HALL信号のデューティサイクルが個々の機械的半サイクルと均衡を保ってこれを繰り返すことを示唆し、すなわち95:85:95:85のように機械サイクルの両半分を区別することはできない。この例では、コントローラ14が、HALL信号の立ち上がり又は立ち下がりを基準エッジとして選択することができる。エッジ選択は、モータシステム1が電源オンごとに一貫して挙動することを確実にするという利点を有する。にもかかわらず、エッジ選択を使用するかどうかに関わらずデューティサイクル補償を使用することにより、モータシステム1の性能の改善を行うことができる。例えば、デューティサイクル補償を使用する場合、コントローラ14は、基準エッジとして選択されたエッジに関係なく、逆起電力の個々のゼロ交差に対して相巻線7を同じ期間だけ転流する。また、転流点の衝突は存在しない。一方、デューティサイクル補償を使用しない場合、コントローラ14は、逆起電力のゼロ交差に対して相巻線7を異なる期間だけ転流する。図7に示す実施形態では、コントローラ14が、逆起電力のゼロ交差よりも前に、これと同期して、及びこれの後に相巻線7を転流する。また、転流点の衝突が生じることがある。この結果、エッジ選択には大きな利点があるが、モータシステム1の性能改善を行うために必須ではない。ここまで、永久磁石モータ3を有するモータシステム1について言及したが、デューティサイクル補償スキーム及び/又はエッジ選択スキームを使用して、リラクタンス機、モータ及び発電機を含む他の種類の電気機械の位相励起を制御することもできる。電気機械は、1つよりも多くの相巻線を含むことができる。また、ある種の電気機械では、相巻線を通過する電流の方向を一方向とすることができる。従って、転流は、相巻線を通過する電流の方向を必ずしも逆転させるものではない。永久磁石の場合、コントローラ14は、相巻線7の逆起電力のゼロ交差に関連する期間において相巻線7を励起する。リラクタンスモータの場合、コントローラ14は、通常、相巻線7のインダクタンスの最小値に関連する時点で相巻線7を励起する。従って、より一般的な意味では、ロータ位置信号の各エッジは、逆起電力のそれぞれのゼロ交差又は相インダクタンスの最小値に関連すると言うことができる。上述の実施形態のモータ3は、4極ロータ5を有する。しかしながら、コントローラ14は、デューティサイクル補償スキーム及び/又はエッジ選択スキームを使用して、より多くのロータ極を有する電気機械を駆動することができる。デューティサイクル補償スキームを使用する場合、ロータ位置信号の最初の及び後続するエッジの転流期間は以下によって定義され続ける。T_COM1∝T_AVET_PS最終的に、使用する特定のエッジ選択スキームは、ロータ極の数によって決まる。上述の実施形態で使用するロータ位置センサ13はホール効果センサであり、このセンサは、永久磁石ロータの位置を検知するための費用効果の大きな手段を提供する。しかしながら、ロータ5の位置を示す信号を出力できる代替の手段を同様に使用することもできる。例えば、制御システム4は、デジタル信号を出力する光学エンコーダを備えることができる。或いは、固定子6が複数の相巻線を含むことができる。この結果、非励起相巻線内に誘起された逆起電力を使用して、ロータ5の位置を求めることができる。例えば、ゼロ交差検出器を用いて、非励起相内に誘起された逆起電力をデジタル信号に変換することができる。