(57)【特許請求の範囲】
【請求項１】
ブラシレスモータを制御する方法であって、
交流電圧を整流して整流電圧を供給する段階と、
進み期間だけ所定の回転子位置に先行してモータの巻線を前記整流電圧で励起する段階と、を含み、
前記進み期間は、前記交流電圧の各半サイクルにわたって一定であり、
前記方法は、前記交流電圧のゼロ交差に応答して前記進み期間を更新する段階を含むことを特徴とする方法。
【請求項２】
前記進み期間を更新する段階は、モータ速度及び前記交流電圧のＲＭＳ値のうちの一方の変化に応答して該進み期間を調節する段階を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記進み期間を調節する段階は、前記モータ速度の増加及び前記ＲＭＳ値の減少のうちの一方に応答して該進み期間を増加させる段階を含むことを特徴とする請求項２に記載の方法。
【請求項４】
同じ進み期間を使用して、前記交流電圧の１つの半サイクルに及ぶ前記モータの電気サイクルの各半分に対して前記巻線を励起する段階を含むことを特徴とする請求項１から請求項３のいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブラシレスモータの制御に関する。
【背景技術】
【０００２】
ブラシレスモータの制御システムは、一般的に、モータの相巻線を励起する制御信号を生成するコントローラを含む。制御信号は、典型的には回転子信号のエッジに対する時間において生成される。コントローラは、特定の性能をもたらすように、例えば、モータ速度又は励起電圧の変化に応答して制御信号のタイミングを調節することができる。制御信号のタイミングは、回転子信号の各エッジに対して調節することができる。従って、コントローラは、モータ速度又は励起電圧のあらゆる変化に比較的迅速に応答する。しかし、高速モータに対しては、このように頻繁に制御信号のタイミングを調節するには、比較的高速で、従って、高価であるコントローラが必要である。代替的に、制御信号のタイミングは、回転子信号の一定数のエッジの後に調節することができる。しかし、回転子信号のエッジ間の間隔は、モータの速度に依存するので、コントローラは、次に、低速になるほど少なくなり、高速になるほどより頻繁に制御信号のタイミングを調節するであろう。これは、次に、モータの性能に悪影響を与える場合がある。
【発明の概要】
【課題を解決するための手段】
【０００３】
第１の態様では、本発明は、交流電圧を整流して整流電圧を供給する段階と、進み期間だけ所定の回転子位置に先行してモータの巻線を整流電圧で励起する段階と、交流電圧のゼロ交差に応答して進み期間を更新する段階とを含むブラシレスモータを制御する方法を提供する。
【０００４】
進み期間は、従って、モータ速度に関わらず規則的に更新される。更に、進み期間は、専用タイマを必要とせずに規則的に更新される。交流電圧のゼロ交差に応答して進み期間を更新することにより、モータの制御は、比較的簡単であり、従って、比較的簡単かつ廉価なコントローラを使用して本方法を実施することができる。
【０００５】
進み期間はまた、交流電圧のサイクルと同期して更新される。従って、交流電圧を供給する電源から引き出された電流の波形は、一般的により安定している。これは、特に、モータが永久磁石モータである場合に当て嵌まる。永久磁石回転子により巻線に誘導される逆起電力のために、交流電圧のサイクルの異なる点で進み期間を更新すると、電流波形の高調波コンテンツが増大する場合がある。
【０００６】
進み期間を更新する段階は、モータの速度及び／又は交流電圧のＲＭＳ値の変化に応答して進み期間を調節する段階を含むことができる。モータ速度及び／又はＲＭＳ電圧の変化に応答して進み期間を調節することにより、定常状態で作動する時に特定の電力プロフィールを様々な速度及び／又は電圧にわたって達成することができる。特に、進み期間は、様々な速度及び／又は電圧にわたって一定の平均電力を維持するように調節することができる。更に、モータ速度及び／又はＲＭＳ電圧の変化に応答して進み期間を調節することにより、特定の加速度プロフィールをモータに対して達成することができる。進み期間は交流電圧のゼロ交差に応答して更新されるので、進み期間は、加速中に規則的間隔で更新される。
【０００７】
モータの速度が増加する時に、モータの電気半サイクル期間は減少する。従って、電流を駆動するのに利用可能な時間が少なくなり、従って、巻線に入る電力も少なくなる。更に、永久磁石モータに対して、巻線内の逆起電力のマグニチュードは、モータ速度と共に増加する。本方法は、従って、モータ速度の増加に応答して進み期間を増大させる段階を含むことができる。従って、正トルクの期間中に巻線内により多くの電流を駆動することができる。
【０００８】
ＲＭＳ電圧が減少する時、所与の進み期間及び導通期間に対して、巻線に駆動される電流が少なくなる。これを補償するために、本方法は、ＲＭＳ電圧の減少に応答して進み期間を増大させる段階を含むことができる。従って、交流電圧のＲＭＳ値の変化に関わらず、類似の電力又は加速度プロフィールをもたらすことができる。
【０００９】
他のパラメータに応じて進み期間を更に調節することができる。例えば、進み期間は、速度要求値又はトルク要求値の変化に応じて調節することができる。
【００１０】
整流電圧は、５０％又はそれよりも多くのリップルを有する場合がある。このレベルのリップルでは、たとえモータの平均速度を一定とすることができるとしても、モータの瞬間速度は、交流電圧の各半サイクルにわたって変わる場合がある。進み期間が回転子の一定数の回転の後に更新される場合、その特定の瞬間のモータの速度は、モータの平均速度が変わっっていないとしても変わったように見える場合がある。従って、モータの平均速度が変化しなかったという事実にも関わらず、異なる進み期間を使用する場合がある。これは、次に、モータの性能に悪影響を与える場合がある。特に、これは、交流電圧を供給する電源から引き出される電流波形の高調波コンテンツの増加をもたらす場合がある。交流電圧のゼロ交差に応答して進み期間を更新することにより、交流電圧のサイクル内の同じ基準点が使用される。モータの速度のあらゆる見掛けの変化は、次に、モータの平均速度の変化に対応する。次に、電流波形の安定化をもたらすことができる。
【００１１】
進み期間は、交流電圧の各半サイクルにわたって一定であってもよい。次に、交流電圧の１つの半サイクルに及ぶモータの各電気半サイクルに対して同じ進み期間を使用する。それによって、次に、制御が簡素化され、従って、比較的簡単かつ廉価なコントローラを使用して本方法を実施することができる。進み期間は、次に、交流電圧のゼロ交差の直後にモータの電気半サイクルの開始時に更新することができる。
【００１２】
本方法は、制御値のルックアップテーブルを格納する段階を含むことができる。進み期間を更新する段階は、次に、速度及び／又は電圧を使用してルックアップテーブルに索引を付して制御値を選択する段階と、制御値を使用して進み期間を決定する段階とを含む。ルックアップテーブルを使用して進み期間を決定することにより、モータの制御が簡素化される。各制御値は、絶対値又は差分値とすることができる。制御値が差分値である場合、本方法は、進み期間を取得するために差分値が適用される基準値を保存する段階も含む。差分値を格納するのに必要なメモリは、絶対値よりも少なくて済むことが多い。従って、ルックアップテーブルをより効率的に格納することができる。
【００１３】
第２の態様では、本発明は、前出段落のいずれかの１つに説明した方法を実行するブラシレスモータのための制御システムを提供する。
【００１４】
制御システムは、交流電圧を整流する整流器と、交流電圧のゼロ交差を検出するゼロ交差検出器と、巻線に結合されたインバータと、インバータを制御するコントローラとを含むことができる。コントローラは、次に、進み期間だけ所定の回転子位置に先行して巻線を励起するための１つ又はそれよりも多くの制御信号を生成し、インバータは、制御信号に応答して整流電圧で巻線を励起する。コントローラは、次に、ゼロ交差検出器により検出されたゼロ交差に応答して進み期間を更新する。
【００１５】
コントローラは、交流電圧の１つの半サイクルに及ぶモータの各電気半サイクルに対して同じ進み期間を使用することができる。それによって、次に、コントローラによる制御が簡素化され、従って、比較的簡単かつ廉価なコントローラを使用することができる。
【００１６】
第３の態様では、本発明は、永久磁石モータと、前出段落のいずれか１つに説明したような制御システムとを含むモータシステムを提供する。
【００１７】
モータは、従って、モータの巻線において逆起電力を誘導する永久磁石回転子を含む。モータの速度が変わる時に逆起電力のマグニチュードも変化し、これは、巻線に電流を駆動する機能に影響を与える。進み期間は、従って、逆起電力の変化に対処するようにモータ速度の変化に応答して調節することができる。交流電圧のゼロ交差に応答して進み期間を更新することにより、進み期間は、モータ速度に関わらず規則的間隔で更新される。
【００１８】
本発明をより容易に理解することができるように、ここで、本発明の実施形態を一例として以下に添付図面を参照して説明する。
【図面の簡単な説明】
【００１９】
【図１】本発明によるモータシステムのブロック図である。
【図２】モータシステムの概略図である。
【図３】モータシステムのモータの断面図である。
【図４】モータシステムのコントローラにより出された制御信号に応答してインバータの許容された状態を詳細に示す図である。
【図５】モータシステムの電流レギュレータの概略図である。
【図６】シングルスイッチモードで作動する時にコントローラによって使用されるオーバーラン期間を示す図である。
【図７】アナログ入力信号を測定する時にコントローラによって使用される３段階処理を示す図である。
【図８】モータシステムの様々な作動モードを詳細に示す図である。
【図９】モータがコントローラにより出された制御信号に応答して駆動される方向を詳細に示す図である。
【図１０】低速加速モードで作動する時のモータシステムの様々な波形を示す図である。
【図１１】高速加速モードで作動する時のモータシステムの様々な波形を示す図である。
【図１２】運転モードで作動する時のモータシステムの様々な波形を示す図である。
【図１３】運転モードで作動する時のモータシステムの電源から引き出される電流波形を示す図である。
【図１４】過電流シングルスイッチモードで作動する時のモータシステムの様々な波形及び割り込みを示す図である。
【図１５】無制限フリーホイールシングルスイッチモードで作動する時のモータシステムの様々な波形及び割り込みを示す図である。
【図１６】制御信号を生成するように配置されたタイマ及び比較器モジュールの概略図である。
【図１７】制御信号を生成するように配置されたタイマ及びＰＷＭモジュールの概略図である。
【図１８】制限フリーホイールシングルスイッチモードで作動する時のモータシステムの様々な波形及び割り込みを示す図である。
【図１９】本発明によるモータシステムの特定的な実施形態に関する様々なハードウエア構成要素の値を詳細に示す図である。
【図２０】特定のモータシステムのコントローラにより使用される様々な定数及び閾値を詳細に示す図である。
【図２１】特定のモータシステムのリンク誘導子の磁束鎖交特性を示す図である。
【図２２】特定のモータシステムのモータの磁束鎖交特性を示す図である。
【図２３】特定のモータシステムの様々な作動モードを詳細に示す図である。
【図２４】マルチスイッチモードで作動する時に特定のモータシステムのコントローラによって使用される制御値のマップを詳細に示す図である。
【図２５】過電流シングルスイッチモードで作動する時に特定のモータシステムのコントローラによって使用される制御値のマップを詳細に示す図である。
【図２６】無制限フリーホイールシングルスイッチモードで作動する時に特定のモータシステムのコントローラによって使用される進みルックアップテーブルの一部を詳細に示す図である。
【図２７】無制限フリーホイールシングルスイッチモードで作動する時に特定のモータシステムのコントローラによって使用されるオフセットルックアップテーブルの一部を詳細に示す図である。
【図２８】無制限フリーホイールシングルスイッチモードで作動する時に特定のモータシステムのコントローラによって使用される位相ルックアップテーブルの一部を詳細に示す図である。
【図２９】シングルスイッチモードで作動する時に特定のモータシステムのコントローラによって使用される正弦マップの一部を詳細に示す図である。
【図３０】シングルスイッチモードでコントローラによって使用される導通期間の可能な波形を示す図である。
【図３１】本発明による代替モータシステムの進み期間の可能な波形を示す図である。
【発明を実施するための形態】
【００２０】
図１〜図３のモータシステム１は、ブラシレスモータ２と制御システム３とを含む。モータシステム１への電力は、ＡＣ電源４によって供給される。ＡＣ電源４は、交流電圧を供給することができる他の電源が等しく使用されることがあり得るが、家庭用幹線電源であるように意図している。
【００２１】
モータ２は、固定子６に対して回転する４極永久磁石回転子５を含む。固定子６は、４つの固定子極を形成する１対のｃ字形コアを含む。導線は、固定子６に巻かれ、かつ単相巻線７を成すために互いに結合される。
【００２２】
制御システム３は、整流器８と、ＤＣリンクフィルタ９と、インバータ１０と、ゲートドライバモジュール１１と、電流センサ１２と、位置センサ１３と、ゼロ交差検出器１４と、温度センサ１５と、コントローラ１６とを含む。
【００２３】
整流器８は、ＡＣ電源４の出力を整流してＤＣ電圧を供給する全波ブリッジＤ１〜Ｄ４である。
【００２４】
ＤＣリンクフィルタ９は、リンクコンデンサＣ１とリンク誘導子Ｌ１とを含む。リンクコンデンサＣ１は、インバータスイッチングから生じる比較的高周波のリップルを平滑化するように作用する。以下でより詳細に説明するように、リンクコンデンサＣ１は、基本周波数で整流ＤＣ電圧を平滑化するのに必要とされるものではない。その結果、比較的低いキャパシタンスのリンクコンデンサを使用することができる。リンク誘導子Ｌ１は、インバータスイッチングから生じるあらゆる残留電流リップルを平滑化するように作用する。また、リンク誘導子Ｌ１がインバータ１０のスイッチング周波数でリップルを低減することを目的とするので、比較的低いインダクタンスの誘導子を使用することができる。飽和が回避されるように、リンク誘導子Ｌ１は、モータシステム１の通常の作動中にＡＣ電源４から引き出されるピーク電流を超える飽和点を有する。
【００２５】
インバータ１０は、相巻線７にＤＣリンク電圧を結合する４つのパワースイッチＱ１〜Ｑ４のフルブリッジを含む。各パワースイッチＱ１〜Ｑ４は、一般的に殆どの幹線電源の電圧レベルで作動させることができるＩＧＢＴである。代替的に、パワースイッチの定格及びＡＣ電源４の電圧に基づいて、ＢＪＴ又はＭＯＳＦＥＴのような他の形式のパワースイッチを使用することができる。スイッチＱ１〜Ｑ４の各々は、インバータスイッチング中に生じる電圧スパイクに対してスイッチを保護するフライバックダイオードを含む。
【００２６】
ゲートドライバモジュール１１は、コントローラ１６から受信した制御信号に応答してインバータ１０のスイッチＱ１〜Ｑ４の開成及び閉成を駆動する。
【００２７】
電流センサ１２は、１対の分流抵抗器Ｒ１、Ｒ２を含み、各抵抗器は、インバータ１０の下部アーム上に位置する。各抵抗器Ｒ１、Ｒ２の抵抗は、モータシステム１の通常の作動中に消散限界を超えることなく理想的にできるだけ高いものである。各分流抵抗器Ｒ１，Ｒ２にわたる電圧は、電流感知信号、Ｉ_ＳＥＮＳＥ_１及びＩ_ＳＥＮＳＥ_２としてコントローラ１６に出力される。第１の電流感知信号Ｉ_ＳＥＮＳＥ_１は、インバータ１０が右から左に駆動される時に相巻線７内の電流の尺度又は測定値になる（より詳細に以下に説明するように）。第２の電流感知信号Ｉ_ＳＥＮＳＥ_２は、インバータ１０が左から右に駆動される時、相巻線７内の電流の尺度又は測定値を提供する。インバータ１０の下部アーム上に分流抵抗器Ｒ１、Ｒ２の位置を識別する際に、相巻線７内の電流は、フリーホイール中に感知され続ける（ここでもまた、以下でより詳細に説明するように）。
【００２８】
位置センサ１３は、デジタル信号ＨＡＬＬを出力するホール効果センサであり、デジタル信号ＨＡＬＬは、センサ１３を通る磁束の方向に基づいて論理的に高いか又は低い。回転子５の近くに位置センサ１３の位置を識別することにより、ＨＡＬＬ信号は、回転子５の角位置の尺度又は測定値を提供する。より具体的には、ＨＡＬＬ信号の各エッジは、回転子５の極性の変化を示している。回転する時、永久磁石回転子は、相巻線７内に逆起電力を誘導する。その結果、ＨＡＬＬ信号の各エッジは、相巻線７内の逆起電力の極性の変化を表している。
【００２９】
ゼロ交差検出器１４は、ＡＣ電源４の電圧が正の時、論理的に高く、ＡＣ電源４の電圧が負の時、論理的に低いデジタル信号Ｚ_ＣＲＯＳＳを出力する１対のクランピングダイオードＤ５、Ｄ６、を含む。Ｚ_ＣＲＯＳＳ信号の各エッジは、従って、ＡＣ電源４の電圧がゼロと交差する時点を表している。
【００３０】
温度センサ１５は、モータシステム１内の温度の尺度又は測定値になるアナログ信号ＴＥＭＰを出力するサーミスタＲ７を含む。
【００３１】
コントローラ１６は、プロセッサ１７と、記憶装置１８と、複数の周辺機器１９（例えば、ＡＤＣ、比較器、タイマなど）と、複数の入力ピン２０と、複数の出力ピン２１とを有するマイクロコントローラとを含む。記憶装置１８は、プロセッサ１７による実行のソフトウエア命令を格納する。記憶装置１８は、複数のルックアップテーブルを格納し、複数のルックアップテーブルは、モータシステム１の作動中にプロセッサ１７により索引が付される。
【００３２】
コントローラ１６は、モータシステム１の作動を制御することを担うものである。入力ピン２０の信号に応答して、コントローラ１６は、出力ピン２１で制御信号を生成する。出力ピン２１はゲートドライブモジュール１１に結合されており、ゲートドライブモジュール１１は、制御信号に応答してインバータ１０のスイッチＱ１〜Ｑ４の開成及び閉成を制御する。
【００３３】
７つの信号、Ｉ_ＳＥＮＳＥ_１、Ｉ_ＳＥＮＳＥ_２、ＨＡＬＬ、Ｚ_ＣＲＯＳＳ、ＴＥＭＰ、ＤＣ_ＬＩＮＫ、及びＤＣ_ＳＭＯＯＴＨは、コントローラ１６の入力ピン２０で受信される。Ｉ_ＳＥＮＳＥ_１及びＩ_ＳＥＮＳＥ_２は、電流センサ１２により出力される信号である。ＨＡＬＬは、位置センサ１３により出力される信号である。Ｚ_ＣＲＯＳＳは、ゼロ交差検出器１４により出力される信号である。ＴＥＭＰは、温度センサ１５により出力される信号である。ＤＣ_ＬＩＮＫは、ＤＣリンク電圧の縮小された尺度又は測定値であり、ＤＣリンク電圧は、ＤＣリンクライン及び０ボルトのラインの間に位置する分圧器Ｒ３、Ｒ４によって得られる。ＤＣ_ＳＭＯＯＴＨは、分圧器Ｒ５，Ｒ６及び平滑コンデンサＣ２によって得られるＤＣリンク電圧の平滑化された尺度又は測定値である。
【００３４】
入力部で受信した信号に応答して、コントローラ１６は、４つの制御信号、ＴＲＩＰ＃、ＤＩＲ１、ＤＩＲ２、及びＦＲＥＥＷＨＥＥＬ＃を生成及び出力する。
【００３５】
ＴＲＩＰ＃は、フェイルセーフ制御信号である。ＴＲＩＰ＃が論理的低に引かれる時、ゲートドライバモジュール１１は、インバータ１０の全てのスイッチＱ１〜Ｑ４を開成する。以下でより詳細に説明するように、コントローラ１６は、相巻線７を通る電流がフェイルセーフ閾値を超える場合に、論理的低にＴＲＩＰＩ＃を引く。
【００３６】
ＤＩＲ１及びＤＩＲ２は、インバータ１０を通り、従って、相巻線７を通る電流の方向を制御する。ＤＩＲ１が論理的高に引かれ、ＤＩＲ２が論理的低に引かれた時、ゲートドライバモジュール１１は、スイッチＱ１及びＱ４を閉成してスイッチＱ２及びＱ３を開成し、従って、電流が左から右に相巻線７を通じて駆動される。逆に、ＤＩＲ２が論理的高に引かれ、ＤＩＲ１が論理的低に引かれた時、ゲートドライバモジュール１１は、スイッチＱ２及びＱ３を閉成してスイッチＱ１及びＱ４を開成し、従って、電流が右から左に相巻線７を通じて駆動される。相巻線７内の流れは、従って、ＤＩＲ１及びＤＩＲ２を逆にすることによって整流される。ＤＩＲ１及びＤＩＲ２が論理的低に引かれた場合、ゲートドライブモジュール１１は、全てのスイッチＱ１〜Ｑ４を開成する。
【００３７】
ＦＲＥＥＷＨＥＥＬ＃は、相巻線７をＤＣリンク電圧から切り離して、相巻線７内の電流がインバータ１０の低側ループの周囲を再循環又はフリーホイールさせることを可能にする。従って、論理的低に引かれるＦＲＥＥＷＨＥＥＬ＃信号に応答して、ゲートドライバモジュール１１は、両方の高側Ｑ１，Ｑ２スイッチを開成させる。電流は、次に、ＤＩＲ１及びＤＩＲ２によって定められた方向にインバータ１０の低側ループの周囲をフリーホイールする。
【００３８】
図４は、コントローラ１６の制御信号に応答するスイッチＱ１〜Ｑ４の許容された状態を要約するものである。以下、「設定する（セットする）」、「クリアする」という用語は、信号がそれぞれ論理的高に及び低に引かれたことを示すために使用する。
【００３９】
特定の制御信号が変わった時、制御信号が変化することとパワースイッチの物理的に開成又は閉成することの間には短い遅延がある。更に別の制御信号がこの遅延期間中に変わった場合、インバータの特定のアーム部上の両方のスイッチ（すなわち、Ｑ１、Ｑ３、又はＱ２、Ｑ４）が同時に閉成される可能性がある。この短絡、つまりシュートスルー（このように称されることが多いが）は、インバータ１０のその特定のアーム部上のスイッチを損傷するおそれがある。従って、シュートスルーを防止するために、コントローラ１６は、２つの制御信号を変えることの間に不感時間又はむだ時間Ｔ_ＤＴを使用する。従って、例えば、相巻線７を整流する時、第１のコントローラ１６は、ＤＩＲ１をクリアして、不感時間Ｔ_ＤＴを待って、次に、ＤＩＲ２を設定する。不感時間は、ゲートドライバモジュール１１及びパワースイッチＱ１〜Ｑ４が応答するのに十分な時間を有することを保証しながら性能を最適化するように理想的にはできるだけ短く保たれる。
【００４０】
整流
コントローラ１６は、ＨＡＬＬ信号のエッジに応答して相巻線７を整流する。整流は、相巻線７を通る電流の方向を逆にするようにＤＩＲ１及びＤＩＲ２を逆にすることを伴っている（すなわち、ＤＩＲ１をクリアしてＤＩＲ２を設定するか、又はＤＩＲ２をクリアしてＤＩＲ１を設定する）。相巻線７は、整流の時点でフリーホイールさせることができる。従って、ＤＩＲ１及びＤＩＲ２を逆にすることに加えて、コントローラ１６は、ＦＲＥＥＨＷＥＥＬ＃を設定する。
【００４１】
同期整流
所定の速度閾値ＳＰＥＥＤ_ＡＤＶよりも小さいと、コントローラ１６は、ＨＡＬＬ信号のエッジと同期して相巻線７を整流する。ＨＡＬＬ信号の各エッジは、相巻線７内の逆起電力の極性の変化を表している。その結果、ＳＰＥＥＤ_ＡＤＶ未満の速度で、コントローラ１６は逆ＥＭＦのゼロ交差と同期して相巻線７を整流する。
【００４２】
回転子５が加速する時に、各電気半サイクルの期間は減少し、従って、相巻線７のインダクタンスに関連の時定数（Ｌ／Ｒ）は益々重要になる。更に、相巻線７内の逆起電力のマグニチュードが増加し、これは、次に、電流が相巻線７内で上がる速度に影響を与える。その結果、コントローラ１６がＨＡＬＬ信号のエッジと同期して相巻線７を整流し続けた場合、各電気半サイクルにわたって相巻線７に更に別の電流を駆動することがもはや可能でないと思われる速度に到達する。従って、ＳＰＥＥＤ_ＡＤＶに到達すると、コントローラ１６は、同期整流から進み整流に切り換わる。ＨＡＬＬ信号のエッジに先立って相巻線７を整流することにより、相巻線７を励起するのに使用される電圧は、逆起電力により増大される。従って、相巻線７を通る電流の方向は、より迅速に逆にすることができる。更に、相電流に逆起電力を導かせることができ、これは、次に、電流上昇率の減速化を補償するのを補助する。これが、次に、負トルクの短い期間を生成するが、これは、通常、正トルクのその後の利得により十二分に補正される。
【００４３】
進み整流（Advanced Commutation）
速度閾値ＳＰＥＥＤ_ＡＤＶでの又はそれを超える速度で、コントローラ１６は、進み期間（advance period）Ｔ_ＡＤＶによりＨＡＬＬ信号の各エッジの前に相巻線７を整流する。電気半サイクル期間は減少し、逆起電力は回転子速度と共に増加するので、整流がＨＡＬＬ信号のエッジの前に起こる電気角度は、理想的に回転子速度と共に増加する。特定の進み期間Ｔ_ＡＤＶに対して、対応する進み角度（advance angle）Ａ_ＡＤＶは、以下のように定めることができる。
Ａ_ＡＤＶ（ｅｌｅｃ．ｄｅｇ）＝Ｔ_ＡＤＶ（ｓｅｃ）*｛ω（ｒｐｍ）／６０｝*３６０（ｍｅｃｈ．ｄｅｇ）*ｎ／２
ここで、Ａ_ＡＤＶは電気角度での進み角であり、Ｔ_ＡＤＶは、秒単位の進み期間であり、ωはｒｐｍ単位の回転子速度であり、ｎは回転子極の個数である。この方程式から、進み角が直接に回転子速度に比例していることが見出される。その結果、固定進み期間に対してさえも、進み角は、回転子速度と共に増加する。しかし、加速、電力及び効率の制御の有効化は、異なる回転子速度で異なる進み期間を使用することによって達成することができる。コントローラ１６は、従って、複数の回転子速度の各々に対して進み期間を格納する進みルックアップテーブルを含む。
【００４４】
Ｚ_ＣＲＯＳＳ信号のエッジに応答して、コントローラ１６は回転子５の速度に対応する進み期間Ｔ_ＡＤＶを進みルックアップテーブルから選択する。回転子５の速度は、ＨＡＬＬ信号の２つの連続的エッジの間に、間隔Ｔ_ＨＡＬＬから決定される。この間隔は、以下、ホール期間と呼ばれる。回転子５の速度は、次に、以下によって定められる。
ω（ｒｐｍ）＝６０／｛ｎ*Ｔ_ＨＡＬＬ（ｓｅｃ）｝
ここで、ωはｒｐｍ単位の回転子の速度であり、Ｔ_ＨＡＬＬは秒単位のホール期間であり、ｎは回転子の極の個数である。コントローラ１６は、選択された進み期間を使用してＨＡＬＬ信号のエッジより前に相巻線７を整流する。同じ進み期間Ｔ_ＡＤＶは、次に、Ｚ_ＣＲＯＳＳ信号の更に別のエッジのような時間が検出されるまでコントローラ１６によって使用される。Ｚ_ＣＲＯＳＳ信号の更に別のエッジに応答して、コントローラ１６は、回転子５の速度に対応する新たな進み期間を進みルックアップテーブルから選択する。進み期間は、従って、ＡＣ電源４の電圧がゼロと交差する時に限り更新され、ＡＣ電源４の各半サイクルにわたって一定である。
【００４５】
ＨＡＬＬ信号の特定のエッジに先立って相巻線７を整流するために、コントローラ１６は、ＨＡＬＬ信号の前回のエッジに応答して作用する。ＨＡＬＬ信号のエッジに応答して、コントローラ１６は、整流期間Ｔ_ＣＯＭを得るために、進み期間Ｔ_ＡＤＶをホール期間Ｔ_ＨＡＬＬから減算する。
Ｔ_ＣＯＭ＝Ｔ_ＨＡＬＬ−Ｔ_ＡＤＶ
【００４６】
コントローラ１６は、次に、ＨＡＬＬ信号のエッジの後に時間Ｔ_ＣＯＭで相巻線７を整流する。従って、相巻線７は、進み期間Ｔ_ＡＤＶによりＨＡＬＬ信号のその後のエッジの前に整流される。
【００４７】
上述のように、進み期間Ｔ_ＡＤＶは、ＡＣ電源４の各半サイクルにわたって一定のままである。しかし、回転子５の速度は、ＤＣリンク電圧の正弦波的増加又は低減のためにＡＣ電源４の各半サイクルにわたって変化する。ホール期間Ｔ_ＨＡＬＬは、従って、ＡＣ電源４の各半サイクルにわたって変化する。その結果、進み期間と対照的に、コントローラ１６は、ＨＡＬＬ信号の各エッジに対して整流期間Ｔ_ＣＯＭを計算する。
【００４８】
電流制御
コントローラ１６のいくつかの周辺機器１９は、電流レギュレータ２２を形成するように構成されている。電流レギュレータ２２は、相巻線７内の電流をモニタ及び調整する。電流レギュレータ２２は、２つの機能を実行する。第１に、相巻線７内の電流がフェイルセーフ閾値を上回った場合、電流レギュレータ２２は、ＴＲＩＰ＃をクリアする。第２に、相巻線７内の電流が過電流閾値を上回った場合、電流レギュレータ２２は、過電流信号を生成する。
【００４９】
図５に示すように、電流レギュレータ２２は、フェイルセーフモジュール２３と過電流モジュール２４とを含む。
【００５０】
フェイルセーフモジュール２３は、マルチプレクサ２５と、比較器２６と、ＮＯＴゲート２７と、ＳＲラッチ２８とを含む。マルチプレクサ２５は、２つの電流感知信号Ｉ_ＳＥＮＳＥ_１及びＩ_ＳＥＮＳＥ_２の一方を選択する２つの入力部を有する。マルチプレクサ２５により行われた選択は、相巻線７を通る電流の方向に応答してプロセッサ１７により制御される。特に、ＤＩＲ１が設定された時、マルチプレクサ２５にＩ_ＳＥＮＳＥ_１を選択させ、ＤＩＲ２が設定された時、マルチプレクサにＩ_ＳＥＮＳＥ_２を選択させる。マルチプレクサ２５の出力は比較器２６に送出され、比較器２６は、所定のフェイルセーフ電圧ＴＲＩＰ_ＲＥＦと選択された電流感知信号の電圧を比較する。ＴＲＩＰ_ＲＥＦは、選択された分流抵抗器Ｒ１，Ｒ２を通る電流が所定のフェイルセーフ閾値Ｉ_ＭＡＸを超える時に比較器２６の出力が論理的に高く引かれるように設定されている。ＴＲＩＰ_ＲＥＦは、従って、Ｉ_ＭＡＸ及び分流抵抗器Ｒ１，Ｒ２の抵抗によって定められる。比較器２６の出力はＮＯＴゲート２７に送出され、その出力は、ＳＲラッチ２８のＳ入力部に送出される。ＳＲラッチ２８のＱ＃出力は、ＴＲＩＰ＃信号として電流レギュレータ２２により出力される。その結果、電流感知信号Ｉ_ＳＥＮＳＥ_１又はＩ_ＳＥＮＳＥ_２の電圧がＴＲＩＰ_ＲＥＦを上回った時、ＴＲＩＰ＃はクリアされる。
【００５１】
上述のように、ゲートドライバモジュール１１は、クリアされたＴＲＩＰ＃信号に応答してインバータ１０の全てのスイッチＱ１〜Ｑ４を開成する。電流レギュレータ２２のフェイルセーフモジュール２３は、従って、相巻線７内の電流がフェイルセーフ閾値Ｉ_ＭＡＸを超えるのを防止し、フェイルセーフ閾値Ｉ_ＭＡＸを超えると、スイッチＱ１〜Ｑ４は損傷する恐れがあり、及び／又は回転子５は消磁される場合がある。ＴＲＩＰ＃信号をクリアするためにハードウエアを使用することにより、相巻線７内の電流がフェイルセーフ閾値を上回った時、電流レギュレータ２２は、比較的迅速に応答する。プロセッサ１７によって実行されるソフトウエアがその代わりにＴＲＩＰ＃信号をクリアするために使用された場合、遅延が、フェイルセーフ閾値を超える電流とＴＲＩＰ＃信号をクリアすることとの間に起こる可能性があり、この時間中、電流は、スイッチＱ１〜Ｑ４を損傷するか、又は回転子５を消磁するレベルまで上がる場合がある。
【００５２】
プロセッサ１７は、ＨＡＬＬ信号の各エッジに応答してＴＲＩＰ＃信号をポーリングする。ＴＲＩＰ＃信号が５つの連続的ＨＡＬＬエッジのために明確である場合、プロセッサ１７は記憶装置１８に「フェイルセーフ超過」エラーを書き込んで故障モードに入るが、これをより詳細に以下に説明する。このようにＴＲＩＰ＃信号をモニタすることにより、確実に、コントローラ１６はＴＲＩＰ＃信号内の過渡期ノイズのために故障モードに不注意に入らないようになる。
【００５３】
過電流モジュール２４は、マルチプレクサ２９と比較器３０とを含む。マルチプレクサ２９は、フェイルセーフモジュール２３のそれと同様に、２つの電流感知信号Ｉ_ＳＥＮＳＥ_１及びＩ_ＳＥＮＳＥ_２の一方を選択する２つの入力部を有する。ここでもまた、マルチプレクサ２９により行われた選択は、相巻線７を通る電流の方向に応答してプロセッサ１７により制御される。その結果、ＤＩＲ１が設定された時、マルチプレクサ２９はＩ_ＳＥＮＳＥ_１を選択し、ＤＩＲ２が設定された時、マルチプレクサ２９はＩ_ＳＥＮＳＥ_２を選択する。マルチプレクサ２９の出力は比較器３０に送出され、比較器３０は、ＤＣ_ＬＩＮＫ信号の電圧と電流感知信号の電圧を比較する。電流感知信号Ｉ_ＳＥＮＳＥ_１又はＩ_ＳＥＮＳＥ_２がＤＣ_ＬＩＮＫを上回った時、比較器３０の出力は、論理的低に引かれる。過電流モジュール２４は、従って、相巻線７内の電流がＤＣリンク電圧に比例する過電流閾値を上回った時、論理的低に引かれる過電流信号を出力する。
【００５４】
過電流モジュール２４の出力は、プロセッサ１７に結合され、プロセッサ１７は、低い過電流信号に応答して過電流ルーチンを実行する。過電流閾値がＤＣリンク電圧に比例しているので、過電流閾値は、ＡＣ電源４の各サイクルにわたって整流シヌソイドとして変化し、この利点に対して以下でより詳細に説明する。
【００５５】
分圧器Ｒ３、Ｒ４の抵抗は、ＤＣ_ＬＩＮＫ信号のピーク電圧がＴＲＩＰ_ＲＥＦを上回らないように選択される。その結果、電流レギュレータ２２は、相巻線７内の電流がフェイルセーフ閾値を超える前に過電流イベントを起動させる。過電流モジュール２４及びプロセッサ１７は、従って、相巻線７内の電流を調整するように意図されている。フェイルセーフモジュール２３は、プロセッサ１７内の故障（例えば、ソフトウエア故障）という思いもよらない場合にのみ、又はプロセッサ１７が過電流イベントに応答することができる前に相巻線７内の電流がフェイルセーフ閾値Ｉ_ＭＡＸに到達するような速度で上った場合にＴＲＩＰ＃をクリアするように意図されている。
【００５６】
過電流イベントに応答して、コントローラ１６は、回転子５の速度に基づいて、異なる一連のアクションを実行する。所定の閾値ＳＰＥＥＤ_ＳＩＮＧＬＥよりも小さい速度になると、コントローラ１６は、「マルチスイッチモード」で作動する。所定の閾値での又はそれを超える速度になると、コントローラ１６は、「シングルスイッチモード」で作動する。
【００５７】
マルチスイッチモード
マルチスイッチモード内の過電流イベントに応答して、コントローラ１６は、ＦＲＥＥＨＷＥＥＬ＃をクリアすることによって相巻線７をフリーホイールさせる。フリーホイールは、フリーホイール期間Ｔ_ＦＷにわたって続き、その間に、相巻線７内の電流は、過電流閾値よりも小さいレベルに減衰するように意図されている。相巻線７内の電流が過電流閾値よりも大きい状態を続ける場合、コントローラ１６は、フリーホイール期間Ｔ_ＦＷにわたって再び相巻線７をフリーホイールさせる。一方、相巻線７内の電流が過電流閾値未満に落ちた場合、コントローラ１６は、ＦＲＥＥＷＨＥＥＬ＃を設定することによって相巻線７の励起を再開する。
【００５８】
特定のフリーホイール期間Ｔ_ＦＷに対して、対応する電気角度Ａ_ＦＷは、以下のように定めることができる。
Ａ_ＦＷ（ｅｌｅｃ．ｄｅｇ）＝Ｔ_ＦＷ（ｓｅｃ）*｛ω（ｒｐｍ）／６０｝*３６０（ｍｅｃｈ．ｄｅｇ）*ｎ／２
ここで、Ａ_ＦＷは電気角度でのフリーホイール角度であり、Ｔ_ＦＷは秒単位でのフリーホイール期間であり、ωはｒｐｍでの回転子速度であり、ｎは回転子極の個数である。その結果、一定のフリーホイール期間が得られるように、対応するフリーホイール角度は、回転子速度と共に増加する。しかし、フリーホイール角度が増加すると、電流及び従って電力が相巻線７に駆動される残りの期間は減少する。コントローラ１６は、従って、回転子５が加速する時に対応するフリーホイール角度Ａ_ＦＷが過度に増大しないように、増加する回転子速度と共に減少するフリーホイール期間Ｔ_ＦＷを使用している。
【００５９】
コントローラ１６は、複数の回転子速度の各々に対してフリーホイール期間を格納するフリーホイールルックアップテーブルを含む。Ｚ_ＣＲＯＳＳ信号のエッジに応答して、コントローラ１６は、回転子５の速度に対応するフリーホイール期間Ｔ_ＦＷをフリーホイールルックアップテーブルから選択する。コントローラ１６は、次に、選択されたフリーホイール期間を使用して、過電流イベントに応答して相巻線７をフリーホイールさせる。同じフリーホイール期間Ｔ_ＦＷは、Ｚ_ＣＲＯＳＳ信号の更に別のエッジのような時間が検出されるまでコントローラ１６によって使用される。Ｚ_ＣＲＯＳＳ信号の更に別のエッジに応答して、コントローラ１６は、回転子５の速度に対応する新たなフリーホイール期間をフリーホイールルックアップテーブルから選択する。その結果、進み期間の場合と同様に、フリーホイール期間は、ＡＣ電源４の電圧がゼロと交差する時に限り更新され、ＡＣ電源４の各半サイクルにわたって一定である。
【００６０】
コントローラ１６は、回転子５が静止からＳＰＥＥＤ_ＳＩＮＧＬＥまで加速する間のみ、マルチスイッチモードで作動する。従って、マルチスイッチモード内のコントローラ１６により費やされる時間の長さは、比較的短い。比較的粗い速度分解能は、従って、モータシステム１の電力又は効率に悪影響を与えることなく、フリーホイールルックアップテーブルに使用することができる。明らかに、回転子５がＳＰＥＥＤ_ＳＩＮＧＬＥに接近する時に対応するフリーホイール角度が過度に増大しない限り、一定のフリーホイール期間を恐らく使用すると考えられる。
【００６１】
比較的低回転子速度では、回転子５により相巻線７内で誘導される逆起電力は、比較的小さい。その結果、相巻線７内の電流は、比較的迅速に過電流閾値まで上がる。電流が過電流閾値に到達するのに掛かる期間が比較的短いために、コントローラ１６は、一般的にモータ２の各電気半サイクル中に複数回、励起とフリーホイールとの間で相巻線７を切り換える。こういう理由から、コントローラ１６は、ＳＰＥＥＤ_ＳＩＮＧＬＥよりも小さい速度ではマルチスイッチモードで作動すると呼ばれる。回転子速度が増加すると、ホール期間は、本来減少する。更に、逆起電力は増加し、従って、相巻線７内の電流が過電流閾値に到達するために掛かる時間は増加する。その結果、コントローラ１６が励起とフリーホイールとの間で相巻線７を切り換える頻度は、回転子５が加速するほど多くなくなる。最終的には、回転子５の速度は、コントローラ１６がモータ２の各電気半サイクル中に励起とフリーホイールとの間で一度だけ相巻線７を切り換えるレベルに上がる。
【００６２】
シングルスイッチモード
シングルスイッチモード内の過電流イベントに応答して、コントローラ１６は、相巻線７を直ちにはフリーホイールさせない。代替的に、コントローラ１６は、オーバーラン期間Ｔ_ＯＶＲにわたって相巻線７を励起し続ける。オーバーラン期間が経過した後、コントローラ１６は、ＦＲＥＥＨＷＥＥＬ＃をクリアすることによって相巻線７をフリーホイールさせる。フリーホイールは、次に、コントローラ１６が相巻線７を整流するような時間まで無期限に続く。コントローラ１６は、従って、モータ２の各電気半サイクル中に一度だけ励起からフリーホイールに相巻線７を切り換える。
【００６３】
図６をここで参照すると、オーバーラン期間Ｔ_ＯＶＲは、以下の方程式によって定められる。
Ｔ_ＯＶＲ＝Ｔ_ＯＶＲ_ＯＦＦＳＥＴ＋Ｔ_ＯＶＲ_ＡＭＰ*ａｂｓ｛ｓｉｎ（θ）｝
ここで、Ｔ_ＯＶＲ_ＯＦＦＳＥＴはオフセット値であり、Ｔ_ＯＶＲ_ＡＭＰ*ａｂｓ｛ｓｉｎ（θ）｝はＴ_ＯＶＲ_ＡＭＰによって定められる振幅を有する整流正弦波であり、θはＡＣ電源４の電圧周期内での角度である。
【００６４】
角度θは、ＡＣ電源４の電圧のゼロ交差からの時間間隔として表すことができる。
θ（ｄｅｇ）＝ｔ（ｓｅｃ）*ｆ（Ｈｚ）*３６０（ｄｅｇ）
ここで、ｔは、ＡＣ電源４内のゼロ交差以来の秒単位の経過した時間であり、ｆは、ＡＣ電源４のヘルツでの周波数である。オーバーラン期間は、次に、以下のように定めることができる。
Ｔ_ＯＶＲ＝Ｔ_ＯＶＲ_ＯＦＦＳＥＴ＋Ｔ_ＯＶＲ_ＡＭＰ*ａｂｓ｛ｓｉｎ（ｔ*ｆ*３６０ｄｅｇ）｝
【００６５】
より簡単には、オーバーラン期間Ｔ_ＯＶＲは、２つの成分の合計と見なすことができる。
Ｔ_ＯＶＲ＝Ｔ_ＯＶＲ_ＯＦＦＳＥＴ＋Ｔ_ＯＶＲ_ＳＩＮＥ
ここで、Ｔ_ＯＶＲ_ＯＦＦＳＥＴは時間とは独立しているオーバーランオフセット値であり、Ｔ_ＯＶＲ_ＳＩＮＥは時間に依存するオーバーラン正弦値である。
【００６６】
Ｔ_ＯＶＲ_ＳＩＮＥは、オーバーラン正弦ルックアップテーブルとしてコントローラ１６により格納される。オーバーラン正弦ルックアップテーブルは、複数の時間の各々に対してオーバーラン正弦値Ｔ_ＯＶＲ_ＳＩＮＥを含む。ＨＡＬＬ信号のエッジに応答して、コントローラ１６は、Ｚ_ＣＲＯＳＳ信号の最終エッジ以来経過した期間ｔを決定又は測定する。コントローラ１６は、次に、経過した期間に対応するオーバーラン正弦値Ｔ_ＯＶＲ_ＳＩＮＥをオーバーラン正弦ルックアップテーブルから選択する。コントローラ１６は、次に、オーバーランオフセット値Ｔ_ＯＶＲ_ＯＦＦＳＥＴ及びオーバーラン正弦値Ｔ_ＯＶＲ_ＳＩＮＥを合計してオーバーラン期間Ｔ_ＯＶＲを得る。
【００６７】
以下でより詳細に説明するように、進み期間Ｔ_ＡＤＶ、オーバーランオフセットＴ_ＯＶＲ_ＯＦＦＳＥＴ、及びオーバーラン振幅Ｔ_ＯＶＲ_ＡＭＰに対して適切な値を選択することにより、モータシステム１の効率は、特定の平均入力電力又は平均出力電力が得られるように最適化することができる。更に、適切な値は、ＡＣ電源４から引き出される電流の波形が管理機関により設定された高調波規格に適合するように選択することができる。
【００６８】
タイムアウト
回転子速度に関わらず、過電流イベントは、モータ２の各電気半サイクル中に少なくとも一回起こる。過電流イベントが起こらなかった場合、コントローラ１６は相巻線７を励起し続け、従って、相巻線７内の電流は、上がり続ける。比較的高い回転子速度では、相巻線７内の逆起電力のマグニチュードは、比較的大きい。従って、相巻線７内の電流は、過電流イベントがない場合でさえ過大レベルに到達する可能性は低い。しかし、比較的低回転子速度では、相巻線７内で誘導される逆起電力は、比較的小さい。従って、相巻線７内の電流は、過電流イベントがない場合、過大なレベルに上がる場合がある。実際、電流は、フェイルセーフ閾値Ｉ_ＭＡＸまで上がる恐れがあり、それによって、次に、コントローラ１６は、故障モードに入る。その結果、マルチスイッチモードで作動する時、コントローラ１６は、相巻線７がタイムアウト期間Ｔ_ＴＯにわたって絶えず同じ方向に励起された後に自動的に過電流ルーチンを実行する。タイムアウト期間は、従って、確実に相巻線７を励起することができる最大期間が制限されるようにすることにより、フェイルセーフ機構として作用する。
【００６９】
回転子５の速度が増加すると、相巻線７内で誘導される逆起電力のマグニチュードも増加する。その結果、電流が相巻線７内で上がる速度は、増加する回転子速度と共に減少する。別の言い方をすれば、相巻線７内の電流が過電流閾値まで上がる電気角度は、回転子速度と共に増加する。コントローラ１６は、従って、回転子速度と共に増加するタイムアウト角度Ａ_ＴＯを使用する。特定のタイムアウト期間Ｔ_ＴＯに対して、対応するタイムアウト角度Ａ_ＴＯは、以下のように定めることができる。
Ａ_ＴＯ（ｄｅｃ．ｄｅｇ）＝Ｔ_ＴＯ（ｓｅｃ）*｛ω（ｒｐｍ）／６０｝*３６０（ｍｅｃｈ．ｄｅｇ）*ｎ／２
ここで、Ａ_ＴＯは電気角度でのタイムアウト角度であり、Ｔ_ＴＯは秒単位のタイムアウト期間であり、ωはｒｐｍでの回転子速度であり、ｎは回転子極の個数である。その結果、一定のタイムアウト期間にわたって、対応するタイムアウト角度は、回転子速度と共に線形に増加する。コントローラ１６は、従って、一定のタイムアウト期間Ｔ_ＴＯを使用することができる。しかし、コントローラ１６が異なる回転子速度に対して異なるタイムアウト期間を使用する場合、より良好な制御をもたらすことができる。コントローラ１６は、従って、複数の回転子速度の各々に対してタイムアウト期間Ｔ_ＴＯを格納するタイムアウトルックアップテーブルを含む。
【００７０】
Ｚ_ＣＲＯＳＳ信号のエッジに応答して、コントローラ１６は、回転子５の速度に対応するタイムアウト期間Ｔ_ＴＯをタイムアウトルックアップテーブルから選択する。同じタイムアウト期間は、次に、Ｚ_ＣＲＯＳＳ信号の更に別のエッジのような時間が検出されるまでコントローラ１６によって使用される。Ｚ_ＣＲＯＳＳ信号の更に別のエッジに応答して、コントローラ１６は、回転子５の速度に対応する新たなタイムアウト期間をタイムアウトルックアップテーブルから選択する。従って、進み期間及びフリーホイール期間の場合と同様に、タイムアウト期間は、ＡＣ電源４の電圧がゼロと交差する時に限り更新され、かつＡＣ電源４の各半サイクルにわたって一定のままである。
【００７１】
一定の電力
コントローラ１６は、主として進み整流シングルスイッチモードで作動する。このモードで、回転子５の速度は、回転子５が異なる負荷を受ける時に変化する。回転子速度が変わるように、相巻線７内で誘導される逆起電力のマグニチュードも変化する。コントローラ１６が仮に固定進み期間及びオーバーラン期間を使用した場合、システム１の平均入力電力及び平均出力電力は、回転子速度と共に変化する。しかし、特定の速度範囲にわたって一定の平均入力又は出力電力を維持するモータシステム１を有することが望ましい用途があると考えられる。
【００７２】
モータシステム１の平均入力及び出力電力は、ＡＣ電源４のＲＭＳ電圧にも依存する。しかし、ＲＭＳ電圧は、規則的なものではない場合がある。ここでもまた、ＡＣ電源４の電圧の変化に関わらず一定の平均入力又は出力電力を維持するモータシステム１を有することが望ましい用途があると考えられる。更に、２つの異なる国における幹線電源は、ＲＭＳ電圧は異なるが周波数は異なるものではない場合がある。同じ達成機能が両国内でモータシステム１によって達成される場合には、従って、有利であると考えられる。
【００７３】
その結果、特定の速度範囲及び／又は電圧範囲にわたって一定の平均電力（入力又は出力）を維持するために、コントローラ１６は、ＡＣ電源４の回転子速度及び／又はＲＭＳ電圧の変化に応答して進み期間及びオーバーラン期間を調整する。
【００７４】
進みルックアップテーブルは、従って、複数の回転子速度及び複数の電圧の各々に対して進み期間Ｔ_ＡＤＶを格納する。コントローラ１６は、複数の回転子速度及び複数の電圧の各々に対してオーバーランオフセット値Ｔ_ＯＶＲ_ＯＦＦＳＥＴを格納するオーバーランオフセットルックアップテーブルも含む。各ルックアップテーブルは、従って、２次元であり、かつ回転子速度及び電圧により索引が付される。以下でより詳細に説明するように、コントローラ１６は、ＡＣ電源４のＲＭＳ電圧の尺度又は測定値を取得するためにＤＣ_ＳＭＯＯＴＨ信号をサンプリングし、ＡＣ電源４のＲＭＳ電圧の尺度又は測定値は、次に、コントローラ１６によりルックアップテーブルの各々に索引を付けるのに用いられる。
【００７５】
進み期間の場合と同様に、コントローラ１６は、Ｚ_ＣＲＯＳＳ信号のエッジに応答してオーバーランオフセット値を更新する。特に、コントローラ１６は、ＡＣ電源４の回転子速度及びＲＭＳ電圧に対応するオーバーランオフセット値Ｔ_ＯＶＲ_ＯＦＦＳＥＴをオーバーランオフセットルックアップテーブルから選択する。オーバーランオフセットは、従って、ＡＣ電源４の電圧と交差する時に限り更新され、ＡＣ電源４の各半サイクルにわたって一定である。
【００７６】
ＨＡＬＬ信号の各エッジに応答して、コントローラ１６は、ＡＣ電源４内の前のゼロ交差以来経過した期間ｔに対応するオーバーラン正弦値Ｔ_ＯＶＲ_ＳＩＮＥをオーバーラン正弦ルックアップテーブルから選択する。コントローラ１６は、次に、オーバーランオフセット値Ｔ_ＯＶＲ_ＯＦＦＳＥＴ及びオーバーラン正弦値Ｔ_ＯＶＲ_ＳＩＮＥを合計してオーバーラン期間Ｔ_ＯＶＲを得る。
【００７７】
進み期間Ｔ_ＡＤＶ及びオーバーラン期間Ｔ_ＯＶＲは、以下のように定めることができる。
Ｔ_ＡＤＶ＝Ｔ_ＡＤＶ_ＴＡＢＬＥ［速度、電圧］
Ｔ_ＯＶＲ＝Ｔ_ＯＦＦＳＥＴ_ＴＡＢＬＥ［速度、電圧］＋Ｔ_ＯＶＲ_ＳＩＮＥ_ＴＡＢＬＥ［ｔ］
【００７８】
進み期間及びオーバーラン期間は、従って、確実に一定の平均電力（入力又は出力）がもたらされるようにするために回転子速度及びＡＣ電源４のＲＭＳ電圧の変化に応答して調節される。回転子速度及び／又はＲＭＳ電圧の変化に応答してオーバーラン振幅Ｔ_ＯＶＲ_ＡＭＰを調節することもあり得る。例えば、コントローラ１６は、複数の回転子速度及び／又は電圧の各々に対してオーバーラン振幅値Ｔ_ＯＶＲ_ＡＭＰを格納するオーバーラン振幅ルックアップテーブルを格納することがあり得る。コントローラ１６は、次に、Ｚ_ＣＲＯＳＳ信号の各エッジに応答してオーバーラン振幅値を更新するであろう。オーバーラン正弦値Ｔ_ＯＶＲ_ＳＩＮＥは、次に、正弦ルックアップテーブルから得られた値でオーバーラン振幅値Ｔ_ＯＶＲ_ＡＭＰを乗算することによって得られるであろう。しかし、２つの数字の掛け算により、コントローラ１６によって実行された命令の回数が増加する。更に、より高いビット分解能を有するコントローラ１６は、掛け算を処理するのに必要であろう。従って、比較的簡単かつ廉価なマイクロコントローラをコントローラ１６に使用することができるように、オーバーラン振幅は調節されない。それにも関わらず、必要又は望ましいことであると判明した場合には、オーバーラン振幅が調節されることもあり得る。
【００７９】
一定の平均電力は、ＳＰＥＥＤ_ＣＰ_ＭＩＮ及びＳＰＥＥＤ_ＣＰ_ＭＡＸにより境界が示された速度範囲にわたって、及びＶ_ＣＰ_ＭＩＮ及びＶ_ＣＰ_ＭＡＸにより境界が示された電圧範囲にわたって維持される。これらの範囲を超えると、コントローラ１６は、一定の平均電力を維持しようとしない。この理由は、モータシステム１の詳細によって変わる場合がある。例えば、Ｖ_ＣＰ_ＭＩＮよりも小さい電圧では、一定の平均電力を維持するためにモータの各電気半サイクルにわたって相巻線７へ十分な電流を駆動することが不可能である場合がある。代替的に、モータシステム１の効率は、Ｖ_ＣＰ_ＭＩＮよりも小さい電圧では、大幅に落ちる場合があるか、又は一定の平均電力をこの電圧未満に維持することは、過大な電流高調波が発生する場合がある。
【００８０】
一定の平均電力が特定の速度範囲及び電圧範囲にわたって維持される間、モータシステム１は、それにも関わらず、これらの範囲を超えた速度及び電圧で有効に作動させることができる。モータシステム１は、従って、ＳＰＥＥＤ_ＭＩＮ及びＳＰＥＥＤ_ＭＡＸによって定められる作動速度範囲及びＶ_ＭＩＮ及びＶ_ＭＡＸによって定められる運転電圧範囲を有する。進みルックアップテーブル及びオーバーランオフセットルックアップテーブルは、モータシステム１の全作動速度及び電圧範囲を対象とする値を格納する。しかし、一定の平均電力は、ＳＰＥＥＤ_ＣＰ_ＭＩＮとＳＰＥＥＤ_ＣＰ_ＭＡＸの間の速度でのみ、かつＶ_ＣＰ_ＭＩＮとＶ_ＣＰ_ＭＡＸの間の電圧で達成される。
【００８１】
電圧及び温度測定
コントローラ１６の周辺機器１９には、複数のチャンネルを有するアナログ／デジタル変換器（ＡＤＣ）がある。ＡＤＣの第１のチャンネルはＤＣ_ＳＭＯＯＴＨ信号の入力ピンに結合され、ＡＤＣの第２のチャンネルは、ＴＥＭＰ信号の入力ピンに結合されている。
【００８２】
ＡＣ電源４のＲＭＳ電圧を測定するために、プロセッサ１７はＡＤＣの第１のチャンネルを選択して、ＡＤＣを使用してＤＣ_ＳＭＯＯＴＨ信号をサンプリングする。Ｒ６、Ｃ２回路の時定数は、十分に長く、ＤＣ_ＳＭＯＯＴＨ信号がＡＣ電源４の各半サイクルにわたって比較的一定に見える。ＤＣ_ＳＭＯＯＴＨ信号は、従って、ＡＣ電源４のピーク電圧の尺度又は測定値を提供する。ピーク電圧がＲＭＳ電圧に正比例しているので、ＤＣ_ＳＭＯＯＴＨも、ＲＭＳ電圧の尺度又は測定値を提供する。ＤＣ_ＳＭＯＯＴＨ信号がＡＣ電源４の各半サイクルにわたって比較的一定であるが、信号はそれにも関わらず、インバータ１０のスイッチングから生じる小さい程度の高周波リップルを有する。従って、このリップルを補償するために、プロセッサ１７は、ＡＣ電源４の各サイクルにわたって何回もＤＣ_ＳＭＯＯＴＨ信号をサンプリングする。プロセッサ１７は、次に、ＡＣ電源４のＲＭＳ電圧の尺度又は測定値を得るために、サンプルの平均値を取る。
【００８３】
温度を測定するために、プロセッサ１７は、ＡＤＣの第２のチャンネルを選択して、ＡＤＣを使用してＴＥＭＰ信号をサンプリングする。ここでもまた、プロセッサ１７は、何回もＴＥＭＰ信号をサンプリングして、温度の尺度又は測定値を得るために平均値を決定する。多くのサンプルの平均値を取ることにより、コントローラ１６は、モータシステム１内のＴＥＭＰ信号内の偽ノイズ又は過渡期温度変化に不注意に反応しない。
【００８４】
比較的高い回転子速度で作動する時、チャンネルを選択して関連の入力信号をサンプリングするためにＡＤＣにより必要とされる時間は、他のルーチンの実行を遅らせる場合がある。以下でより詳細に説明するように、あらゆる遅延は、モータシステム１の性能に悪影響を与える可能性がある。従って、ＤＣ_ＳＭＯＯＴＨ又はＴＥＭＰをサンプリングする時、サンプリング処理は、３つの異なる段階に分けられ、これらの段階の各々は、ＨＡＬＬ信号のエッジに応答して順番に実行される。
【００８５】
ＨＡＬＬ信号の第１のエッジに応答して、プロセッサ１７は、ＡＤＣの適切なチャンネルを選択する。第２のエッジに応答して、プロセッサ１７は、ＡＤＣを開始又は起動する。第３のエッジに応答して、プロセッサ１７は、ＡＤＣの出力レジスタを読み取る。従って、プロセッサ１７により読み取られた出力は、選択された入力信号、すなわち、ＤＣ_ＳＭＯＯＴＨ又はＴＥＭＰの単一のサンプルを表している。プロセッサ１７により読み取されたサンプルは、次に、記憶装置１８に格納される。この３段階の処理は、次に、入力信号の更に別のサンプルを得るために繰り返され、入力信号の更に別のサンプルは、次に、記憶装置１８内に格納された値に追加される。記憶装置１８内に格納された値は、従って、プロセッサ１７により読み取された個々のサンプルの合計に対応する。３段階の処理は、所定の数の回数繰り返される。プロセッサ１７は、次に、入力信号の平均的尺度又は測定値を得るために、上記所定の数によって記憶装置１８内に格納された値を割算する。
【００８６】
サンプリング処理を３つの異なる段階に分割することにより、入力信号をサンプリングするのに必要な時間は、モータ２の３つの電気半サイクルにわたって広がる。その結果、モータ２の各電気半サイクル中に入力信号をサンプリングする際にコントローラ１６により費やされる時間は、大幅に低減され、従って、イベント衝突の可能性が低減される。
【００８７】
コントローラ１６は、同時にＤＣ_ＳＭＯＯＴＨ及びＴＥＭＰ信号をサンプリングする。図７に示すように、コントローラ１６は、ＡＣ電源４のＲＭＳ電圧の単一のサンプルを得るために信号ＤＣ_ＳＭＯＯＴＨで３段階処理を実行する。コントローラ１６は、次に、温度の単一のサンプルを得るために信号ＴＥＭＰで３段階処理を実行する。交互にＤＣ_ＳＭＯＯＴＨ及びＴＥＭＰをサンプリングするこの処理は、次に、所定の回数繰り返される。記憶装置１８は、従って、ＡＣ電源４のＲＭＳ電圧のサンプルの合計に対応する第１の値、及び温度のサンプルの合計に対応する第２の値を格納する。
【００８８】
同時にＤＣ_ＳＭＯＯＴＨ及びＴＥＭＰ信号をサンプリングするのではなく、コントローラ１６は、その代わりに順番に２つの入力信号をサンプリングすることができる。特に、コントローラ１６は、先に、所定の回数でＤＣ_ＳＭＯＯＴＨ信号をサンプリングし、次に、所定の回数でＴＥＭＰ信号をサンプリングすることができる。同時にではなく順番に２つの入力信号をサンプリングすることにより、ＡＤＣのチャンネルは、各組のサンプルに対して一度だけ切り換えられる。従って、チャンネルを選択する段階は、第１のサンプル以外の全てから省略することができる。２段階処理（すなわち、ＡＤＣを開始して、ＡＤＣを読み取る）は、次に、サンプルの第１のもの以外の全てをサンプリングするのに使用することができる。従って、より多くのサンプルを特定の期間にわたって収集することができる。しかし、順番に２つの入力信号をサンプリングすることに関する欠点は、各信号に対して、信号が測定されていない期間があることである。
【００８９】
コントローラ１６は、１つのＡＤＣのみを有し、これは、２つの入力信号（すなわち、ＤＣ_ＳＭＯＯＴＨ及びＴＥＭＰ）をサンプリングするのに必要とされる。このような理由から、サンプリング処理は、ＡＤＣチャンネルを選択する段階を含む。温度センサ１５が制御システム３から省略された場合、ＡＣ電源４のＲＭＳ電圧は、チャンネル選択を必要とせずにサンプリングすることができる。代替的に、コントローラ１６の周辺機器１９が更に別のＡＤＣを含む場合、各入力信号は、専用ＡＤＣによりサンプリングすることができ、従って、チャンネルを選択する段階は、同じく省略することができる。それにも関わらず、両方の例においては、サンプリング処理は、入力信号をサンプリングするのに必要な時間がモータ２の２つの電気半サイクルにわたって広がるように２つの段階に分割され続ける。
【００９０】
図７に示す特定的な実施形態では、サンプリング処理の各段階は、ＨＡＬＬ信号の連続的エッジに応答して実行される。これは、次に、各サンプルは、比較的迅速に、すなわち、ＨＡＬＬ信号の３つのエッジの後に得られるという利点を有する。それにも関わらず、各段階がＨＡＬＬ信号の連続的エッジに応答して実行されることは、不可欠なものではない。例えば、サンプリング処理の各段階は、ＨＡＬＬ信号の第２又は第３のエッジ毎に応答して実行することができる。これには、次に、各サンプルを取得するより長い期間が必要であるが、コントローラ１６は、他のルーチンを実行するようにＡＤＣをアドレス指定していない時、この時間を使用することができる。
【００９１】
入力信号の尺度又は測定値として様々なサンプルの平均を使用するのではなく、コントローラ１６は、代替的に、サンプルの合計を使用することができる。代替的に、コントローラ１６は、入力信号の尺度又は測定値としてサンプルのピーク値を使用することができる。例えば、ＡＤＣの出力レジスタからサンプルを読み取った後に、プロセッサ１７は、サンプルを記憶装置１８内に格納された値と比較することができる。サンプルが記憶装置１８内に格納された値を超える場合、プロセッサ１７は、サンプルの値でこの値に上書きする。比較する段階及び上書きする段階は、次に、所定の個数のサンプルの各々に対して繰り返される。全てのサンプルが収集された後、記憶装置１８内に格納された値は、サンプルのピーク値を表している。ピーク値を測定する時、サンプルがＡＣ電源４の少なくとも１つの半サイクルに及ぶ限り、ＡＣ電源４の電圧を表す入力信号が滑らかであることは不可欠なものではない。その結果、平滑コンデンサＣ２は省略することができ、又はキャパシタンスは、制御システム３のサイズ及び／又は経費を低減するために大幅に低減することができる。
【００９２】
高速で作動する時にＡＣ電源４の電圧及び温度を測定することに加えて、コントローラ１６は、初期電源投入中に電圧及び温度も測定する。この初期検査は、確実にＡＣ電源４のＲＭＳ電圧及びモータシステム１内の温度が安全な運転限界内にあるようにするために行われる。この初期段階中に、入力信号をサンプリングする際にコントローラ１６により費やされる時間は、極めて重要なものというわけではない。その結果、初期電源投入中に、コントローラ１６は、処理を３つの段階に分割することなく、電圧及び温度をサンプリングする。
【００９３】
ルックアップテーブル
コントローラ１６の記憶装置１８は、いくつかのルックアップテーブルを格納し、各々は、特定の速度及び／又は電圧分解能を有する。各ルックアップテーブルの分解能は、他のルックアップテーブルと同じである必要がなく、かつルックアップテーブルにわたって変わる場合がある。例えば、進みルックアップテーブルは、比較的低速度では１０ｋｒｐｍ毎に進み期間を格納することができ、これは、徐々に、比較的高い速度では１ｋｒｐｍに増加する。
【００９４】
進み整流は、マルチスイッチモード及びシングルスイッチモードに使用される。シングルスイッチモードでは、進み期間は、一定の平均電力を維持するためにＡＣ電源４の回転子速度及びＲＭＳ電圧の変化に応答して調節される。マルチスイッチモードでは、電圧の変化に応答して進み期間を調節することは不要である。従って、進みルックアップテーブルを格納するのに必要とされるメモリの量を最小にするために、記憶装置１８は、２つの進みルックアップテーブル、すなわち、ＳＰＥＥＤ_ＳＩＮＧＬＥ未満の速度で作動する時、回転子速度により索引が付される１次元のルックアップテーブル、及びＳＰＥＥＤ_ＳＩＮＧＬＥでの又はそれを超える速度で回転子速度及び電圧により索引が付される２次元ルックアップテーブルを格納する。
【００９５】
絶対値を格納するのではなく、各ルックアップテーブルは、その代わりに差分値を格納することができる。コントローラ１６は、次に、差分値が適用される基準値を格納する。その結果、特定のパラメータを更新する時、コントローラ１６は、関連のルックアップテーブルに索引を付して差分値を選択し、基準値に差分値を適用してパラメータを取得する。従って、例えば、コントローラ１６は、回転子速度８５ｋｒｐｍ、９０ｋｒｐｍ、及び９５ｋｒｐｍに対して４７μｓ、５０μｓ、及び５２μｓの進み期間を使用することができる。コントローラ１６は、次に、基準値として５０μｓを格納することができる。進みルックアップテーブルは、次に、３つの速度の各々に対して−２μｓ、０μｓ、及び１μｓを格納する。差分値を格納するのに必要なメモリは、一般的に絶対値より少なくて済む。従って、ルックアップテーブルをより効率的に格納することができる。次に、メモリの特定の量が得られるようにルックアップテーブルの高分解能化をもたらすことができる。代替的に又は追加的に、より小さいメモリ機能を有するより廉価なコントローラを使用することができる。より一般的な意味では、従って、各ルックアップテーブルは、関連のパラメータ、例えば、進み期間、オーバーランオフセットなどを決定するためにコントローラ１６によって使用される制御値（例えば、絶対値又は差分値）を格納するということができる。
【００９６】
コントローラ１６によって実行される命令の数を低減するために、コントローラ１６は、関連の作動モードに必要とされるパラメータを更新するだけである。例えば、同期の整流モードで作動する時、コントローラ１６は、進み期間を選択又は更新する必要はない。同様に、シングルスイッチモードで作動する時、コントローラ１６は、フリーホイール期間を選択又は更新する必要はない。特定の作動モードに必要とされるそれらのパラメータだけを更新した結果として、コントローラ１６は、回転子がＳＰＥＥＤ_ＳＩＮＧＬＥに到達した時にマルチスイッチモードからシングルスイッチモードに直ちには変わらない。コントローラ１６が仮にマルチスイッチからシングルスイッチモードに直ちに変わらなかった場合、コントローラ１６は、どのような期間がＡＣ電源４の電圧の前のゼロ交差以来経過したかが分らない。従って、コントローラ１６は、どのようなオーバーラン期間を使用すべきかが分らない。従って、回転子速度がＳＰＥＥＤ_ＳＩＮＧＬＥに到達した時、コントローラ１６は、マルチスイッチモードからシングルスイッチモードに変わる前にＺ_ＣＲＯＳＳ信号の次のエッジまで待つ。
【００９７】
モータ２が静止から加速する時に、ホール期間の長さは減少する。その結果、パラメータ（例えば、フリーホイール期間）がＨＡＬＬ信号のｎ番目毎のエッジで更新された場合、各更新の間隔は、徐々に減少する。各パラメータが更新される頻度は、次に、低速では少なくなり、高速では多くなる。ＡＣ電源４の電圧のゼロ交差に応答して各パラメータを更新することにより、各パラメータは、速度に関わらず周期的に更新される。
【００９８】
シングルスイッチモードで作動する間にパラメータがＨＡＬＬ信号のｎ番目毎のエッジで更新された場合、パラメータは、ＡＣ電源４の周期内の異なる点で更新される。これは、次に、ＡＣ電源４から引き出される電流波形の高調波コンテンツを潜在的に増大させる可能性があるであろう。更に、モータシステム１が一定の平均速度で作動している時、回転子５の瞬間速度は、それにも関わらずＤＣリンク電圧の正弦波増加又は低減のためにＡＣ電源４の各半サイクルにわたって変化する。パラメータがＨＡＬＬ信号のｎ番目毎のエッジで更新された場合、モータシステム１の平均速度が変わらなかったという事実にも関わらずパラメータの異なる値を選択することができる。ここでもまた、それによって、従って、ＡＣ電源４から引き出される電流波形内の高調波の増大が発生する場合がある。ＡＣ電源４のゼロ交差に応答して各パラメータを更新することにより、ＡＣ電源４の周期内の同じ基準点が使用される。その結果、電流波形の安定化がもたらされる。更に、ＡＣ電源４の半サイクル毎に一度だけパラメータを更新することにより、コントローラ１６によって実行される命令は、比較的簡単に保たれ、従って、より簡単かつより廉価なマイクロコントローラを使用することができる。勿論、必要に応じて、様々なパラメータを更新することができる頻度は、Ｚ_ＣＲＯＳＳ信号のｎ番目毎のエッジで更新することによって少なくなる。
【００９９】
モータ作動
静止から運転速度まで加速する時のモータシステムの作動をここで説明する。図８から分るように、コントローラ１６は、６つの作動モード、すなわち、初期化、静止、低速加速、高速加速、運転、及び故障を有する。様々な作動モードで、コントローラ１６は、以下の４つのパラメータ、すなわち、フリーホイール期間、進み期間、オーバーラン期間、及びタイムアウト期間の１つ又はそれよりも多くを使用してモータ２を制御する。
【０１００】
初期化モード
電源投入で、コントローラ１６は、周辺機器１９を有効にし、モータシステム１内のＡＣ電源４及び温度のＲＭＳ電圧の尺度又は測定値を得るためにＤＣ_ＳＭＯＯＴＨ信号及びＴＥＭＰ信号をサンプリングする。ＲＭＳ電圧が不足電圧閾値Ｖ_ＭＩＮよりも小さいか、又は過電圧閾値Ｖ_ＭＡＸを超える場合、コントローラ１６は、記憶装置１８に「不足電圧」又は「過電圧」エラーを書き込んで故障モードに入る。同様に、温度が不足温度閾値ＴＥＭＰ_ＭＩＮよりも小さいか、又は過温度閾値ＴＥＭＰ_ＭＡＸを超える場合、コントローラ１６は、記憶装置１８に「不足温度」又は「過温度」エラーを書き込んで故障モードに入る。
【０１０１】
ＲＭＳ電圧及び温度が運転閾値内にある場合、コントローラ１６は、回転子５の速度が静止閾値ＳＰＥＥＤ_ＳＴＡＴＩＯＮＡＲＹを超えるか否かを判断する。上述のように、回転子５の速度は、ＨＡＬＬ信号、すなわち、ホール期間の２つの連続的エッジ間の間隔から得られる。コントローラ１６がＳＰＥＥＤ_ＳＴＡＴＩＯＮＡＲＹに対応する期間内にＨＡＬＬ信号の２つのエッジを検出しなかった場合、コントローラ１６は、静止モードに入る。そうでなければ、コントローラ１６は、低速加速モードに入る。
【０１０２】
静止モード（ω＜ＳＰＥＥＤ_ＳＴＡＴＩＯＮＡＲＹ）
コントローラ１６は、所定の逆駆動時間Ｔ_ＲＤにわたって逆にモータ２を駆動する。この説明上、モータ２は、ＨＡＬＬ信号が論理的に低い時に左から右に、ＨＡＬＬ信号が論理的に高い時に右から左に相巻線７を駆動することに応答して前方へ駆動されると仮定されている。モータ２は、従って、図９に詳細に示すように、ＨＡＬＬ信号が論理的に低い時に右から左に、ＨＡＬＬ信号が論理的に高い時に左から右に相巻線７を駆動することに応答して逆に駆動される。
【０１０３】
逆にモータ２を瞬間的に駆動することにより、回転子５は、正転に回転するか、又は固定子６に対して特定の角度位置を採用すべきである。回転子５が正転に回転するか、又は固定子６に対して整列するかは、回転子５の開始位置に依存することになる。回転子５は、従って、正転に移動中であるか、又は正転の加速の準備ができている位置にある。
【０１０４】
逆にモータ２を瞬間的に駆動した後に、コントローラ１６は、正転にモータ２を駆動するように相巻線７を整流する。正転の駆動により、回転子５は、正転に回転すべきである。回転子５が予想通りに回転している場合、ＨＡＬＬ信号のエッジは、所定時間Ｔ_ＦＤ内に生じるはずである。エッジが所定の時間Ｔ_ＦＤ内で検出されない場合、コントローラは、記憶装置１８に「始動失敗」エラーを書き込んで故障モードに入る。そうでなければ、コントローラ１６は、正転にモータ２を駆動し続けるようにＨＡＬＬ信号のエッジに応答して相巻線７を整流する。ＨＡＬＬ信号の第２のエッジは、次に、ＳＰＥＥＤ_ＳＴＡＴＩＯＮＡＲＹに対応する期間内に生じるはずである。第２のエッジが所定の時間内に検出された場合、コントローラ１６は、低速加速モードに入る。そうでなければ、コントローラは、記憶装置１８に「始動失敗」エラーを書き込んで故障モードに入る。
【０１０５】
低速加速モード（ＳＰＥＥＤ_ＳＴＡＴＩＯＮＡＲＹ≦ω＜ＳＰＥＥＤ_ＡＤＶ）
低速加速モードで作動する時、コントローラ１６は、同期整流マルチスイッチモードでモータ２を駆動する。図１０は、いくつかのホール期間にわたるＨＡＬＬ信号、制御信号、及び相電流の波形を示している。
【０１０６】
ＨＡＬＬ信号の各エッジに応答して、コントローラ１６は、直ちに相巻線７を整流する（すなわち、ＤＩＲ１及びＤＩＲ２を逆転することにより、及びＦＲＥＥＷＨＥＥＬ＃を設定することにより）。コントローラ１６は、次に、ホール期間Ｔ_ＨＡＬＬに基づいて回転子５の速度を決定又は測定する。コントローラ１６は、次に、ゼロ交差フラグをポーリングし、ゼロ交差フラグは、Ｚ_ＣＲＯＳＳ信号のエッジに応答して設定される。ゼロ交差フラグが設定されて回転子５の速度がＳＰＥＥＤ_ＡＤＶ以上である場合、コントローラ１６は、高速加速モードに入る。一方、ゼロ交差フラグは設定されるが回転子速度がＳＰＥＥＤ_ＡＤＶよりも小さい場合、コントローラ１６は、フリーホイール期間Ｔ_ＦＷ及びタイムアウト期間Ｔ_ＴＯを更新して、ゼロ交差フラグをクリアする。フリーホイール期間及びタイムアウト期間は、回転子速度を使用してフリーホイール及びタイムアウトルックアップテーブルに索引を付けることによって更新される。
【０１０７】
ゼロ交差フラグをポーリングして、必要であればフリーホイール期間及びタイムアウト期間を更新した後に、コントローラ１６は、ＤＣ_ＳＭＯＯＴＨ信号及びＴＥＭＰ信号をサンプリングするのに使用される３つの段階の１つを実行する。所定の個数のサンプルが回収された場合、コントローラ１６は、モータシステム１内のＡＣ電源４のＲＭＳ電圧又は温度の尺度又は測定値を得るためにサンプルの平均を決定する。ＲＭＳ電圧がＶ_ＭＩＮよりも小さいか、又はＶ_ＭＡＸを超える場合、又は温度がＴＥＭＰ_ＭＩＮよりも小さいか、又はＴＥＭＰ_ＭＡＸを超える場合、コントローラ１６は、記憶装置１８に対応するエラーを書き込んで故障モードに入る。
【０１０８】
整流の後、コントローラ１６は、過電流イベントが起こるか、又はタイムアウト期間Ｔ_ＴＯが満了するまで相巻線７を励起し続ける。これらの２つのイベントのいずれかに応答して、コントローラ１６はフリーホイール期間Ｔ_ＦＷにわたって相巻線７をフリーホイールさせる（すなわち、ＦＲＥＥＷＨＥＥＬ＃をクリアすることにより）。フリーホイール期間の終了時に相巻線７内の電流が過電流閾値を超える場合、コントローラ１６は、フリーホイール期間Ｔ_ＦＷにわたって再び相巻線７をフリーホイールさせる。そうでなければ、フリーホイール期間の終了時に、コントローラ１６は、相巻線７の励起を再開する（すなわち、ＦＲＥＥＷＨＥＥＬ＃を設定することにより）。
【０１０９】
コントローラ１６は、従って、ＨＡＬＬ信号のエッジと同期して相巻線７を整流し、Ｚ_ＣＲＯＳＳ信号のエッジに応答してフリーホイール期間及びタイムアウト期間を更新する。コントローラ１６は、回転子５の速度がＳＰＥＥＤ_ＡＤＶに到達するような時間まで同期整流マルチスイッチモードでモータ２を駆動し続ける。ＳＰＥＥＤ_ＡＤＶに到達すると、コントローラ１６は、Ｚ_ＣＲＯＳＳ信号の次のエッジに応答して高速加速モードに入る。
【０１１０】
高速加速モード（ＳＰＥＥＤ_ＡＤＶ≦ω＜ＳＰＥＥＤ_ＳＩＮＧＬＥ）
高速加速モードで作動する時、コントローラ１６は、進み整流マルチスイッチモードでモータ２を駆動する。図１１は、いくつかのホール期間にわたるＨＡＬＬ信号、制御信号、及び相電流の波形を示している。
【０１１１】
ＨＡＬＬ信号の各エッジに応答して、コントローラ１６は、ホール期間Ｔ_ＨＡＬＬに基づいて回転子５の速度を決定又は測定する。コントローラ１６は、次に、Ｚ_ＣＲＯＳＳ信号のエッジに応答して設定されているゼロ交差フラグをポーリングする。ゼロ交差フラグが設定されて回転子５の速度がＳＰＥＥＤ_ＳＩＮＧＬＥ以上である場合、コントローラ１６は、運転モードに入る。一方、ゼロ交差フラグが設定され、回転子速度がＳＰＥＥＤ_ＳＩＮＧＬＥよりも小さい場合、コントローラ１６は、進み期間Ｔ_ＡＤＶ、フリーホイール期間Ｔ_ＦＷ、及びタイムアウト期間Ｔ_ＴＯを更新して、ゼロ交差フラグをクリアする。進み期間、フリーホイール期間、及びタイムアウト期間は、回転子速度を使用して対応するルックアップテーブルに索引を付けることによって更新される。
【０１１２】
ゼロ交差フラグをポーリングして、必要であれば進み期間、フリーホイール期間、及びタイムアウト期間を更新した後に、コントローラ１６は、進み期間Ｔ_ＡＤＶをホール期間Ｔ_ＨＡＬＬから減算することによって整流期間Ｔ_ＣＯＭを計算する。コントローラ１６は、次に、整流期間Ｔ_ＣＯＭをタイマに取り込む。
【０１１３】
整流期間を計算した後に、コントローラ１６は、ＤＣ_ＳＭＯＯＴＨ信号及びＴＥＭＰ信号をサンプリングするのに使用される３つの段階の１つを実行する。所定の個数のサンプルが回収された場合、コントローラ１６は、モータシステム１内のＡＣ電源４のＲＭＳ電圧又は温度の尺度又は測定値を得るためにサンプルの平均を決定する。ＲＭＳ電圧がＶ_ＭＩＮよりも小さいか、又はＶ_ＭＡＸを超える場合、又は温度がＴＥＭＰ_ＭＩＮよりも小さいか、又はＴＥＭＰ_ＭＡＸを超える場合、コントローラ１６は、記憶装置１８に対応するエラーを書き込んで故障モードに入る。
【０１１４】
コントローラ１６は、次に、タイマが整流期間Ｔ_ＣＯＭにわたって計数した後、相巻線７を整流する（すなわち、ＤＩＲ１及びＤＩＲ２を逆転することにより、及びＦＲＥＥＷＨＥＥＬ＃を設定することにより）。従って、コントローラ１６は、ＨＡＬＬ信号の次のエッジより進み期間Ｔ_ＡＤＶだけ先行して相巻線７を整流する。整流の後、コントローラ１６は、過電流イベントが起こるか、又はタイムアウト期間Ｔ_ＴＯが満了するまで相巻線７を励起する。これらの２つのイベントのいずれかに応答して、コントローラ１６は、フリーホイール期間Ｔ_ＦＷにわたって相巻線７をフリーホイールさせる（すなわち、ＦＲＥＥＷＨＥＥＬ＃をクリアすることにより）。フリーホイール期間の終了時に相巻線７内の電流が過電流閾値を超える場合、コントローラ１６は、フリーホイール期間Ｔ_ＦＷにわたって再び相巻線７をフリーホイールさせる。そうでなければ、フリーホイール期間の終了時に、コントローラ１６は、相巻線７の励起を再開する（すなわち、ＦＲＥＥＷＨＥＥＬ＃を設定することにより）。
【０１１５】
コントローラ１６は、従って、ＨＡＬＬ信号のエッジの前に相巻線７を整流し、Ｚ_ＣＲＯＳＳ信号のエッジに応答して進み期間、フリーホイール期間、及びタイムアウト期間を更新する。コントローラ１６は、回転子５の速度がＳＰＥＥＤ_ＳＩＮＧＬＥに到達するような時間まで進み整流マルチスイッチモードでモータ２を駆動し続ける。ＳＰＥＥＤ_Ｓ１ＮＧＬＥに到達すると、コントローラ１６は、Ｚ_ＣＲＯＳＳ信号の次のエッジに応答して運転モードに入る。
【０１１６】
運転モード（ＳＰＥＥＤ_Ｓ１ＮＧＬＥ≦ω）
運転モードで作動する時、コントローラ１６は、進み整流シングルスイッチモードでモータ２を駆動する。図１２は、いくつかのホール期間にわたるＨＡＬＬ信号、制御信号、及び相電流の波形を示している。
【０１１７】
ＨＡＬＬ信号の各エッジに応答して、コントローラ１６は、ホール期間Ｔ_ＨＡＬＬに基づいて回転子５の速度を決定又は測定する。回転子５の速度は、ＳＰＥＥＤ_ＭＩＮ及びＳＰＥＥＤ_ＭＡＸにより境界が示された速度範囲のままであると予想されている。しかし、コントローラ１６は、この範囲外の過渡期速度を許容する。従って、回転子５の速度がＴ_ＵＳより長い期間、ＳＰＥＥＤ_ＭＩＮより下方に落ちた場合、コントローラ１６は、記憶装置１８に「不足速度」エラーを書き込んで故障モードに入る。同様に、回転子５の速度がＴ_ＯＳより長い期間、ＳＰＥＥＤ_ＭＡＸを上回った場合、コントローラ１６は、記憶装置１８に「過速度」エラーを書き込んで故障モードに入る。しかし、回転子Ｓの速度がＳＰＥＥＤ_ＴＲＩＰを上回った場合、コントローラ１６は、直ちに記憶装置１８に「速度トリップ」エラーを書き込んで故障モードに入る。ＳＰＥＥＤ_ＴＲＩＰを超える速度になると、機械及び／又は電気不良の見込みが大幅に増加する。
【０１１８】
コントローラ１６は、次に、Ｚ_ＣＲＯＳＳ信号のエッジに応答して設定されているゼロ交差フラグをポーリングする。ゼロ交差フラグが設定された場合、コントローラ１６は、進み期間Ｔ_ＡＤＶ及びオーバーランオフセット値Ｔ_ＯＶＲ_ＯＦＦＳＥＴを更新する。各値は、回転子速度及びＡＣ電源４の測定されたＲＭＳ電圧を使用して関連のルックアップテーブルに索引を付けることによって更新される。進み期間及びオーバーランオフセット値を更新した後に、コントローラ１６は、ゼロ交差フラグをクリアしてゼロ交差タイマを開始する。
【０１１９】
ゼロ交差フラグをポーリングして、必要であれば進み期間及びオーバーランオフセット値を更新した後に、コントローラ１６は、進み期間Ｔ_ＡＤＶをホール期間Ｔ_ＨＡＬＬから減算することによって整流期間Ｔ_ＣＯＭを計算する。コントローラ１６は、次に、整流期間Ｔ_ＣＯＭをタイマに読み込む。整流期間を決定した後に、コントローラ１６は、オーバーラン正弦値Ｔ_ＯＶＲ_ＳＩＮＥを選択するために、ゼロ交差タイマｔにより格納された時間を使用してオーバーラン正弦ルックアップテーブルに索引を付ける。コントローラ１６は、次に、オーバーランオフセット値Ｔ_ＯＶＲ_ＯＦＦＳＥＴ及びオーバーラン正弦値Ｔ_ＯＶＲ_ＳＩＮＥを合計してオーバーラン期間Ｔ_ＯＶＲを取得する。
【０１２０】
整流及びオーバーラン期間を決定した後に、コントローラ１６は、ＤＣ_ＳＭＯＯＴＨ信号及びＴＥＭＰ信号をサンプリングするのに使用される３つの段階の１つを実行する。所定の個数のサンプルが回収された場合、コントローラ１６は、モータシステム１内のＡＣ電源４のＲＭＳ電圧又は温度の尺度又は測定値を得るためにサンプルの平均を決定する。ＲＭＳ電圧がＶ_ＭＩＮよりも小さいか、又はＶ_ＭＡＸを超える場合、又は温度がＴＥＭＰ_ＭＩＮよりも小さいか、又はＴＥＭＰ_ＭＡＸを超える場合に、コントローラ１６は、記憶装置１８に対応するエラーを書き込んで故障モードに入る。
【０１２１】
コントローラ１６は、次に、タイマが整流期間Ｔ_ＣＯＭにわたって計数した後、相巻線７を整流する（すなわち、ＤＩＲ１及びＤＩＲ２を逆転することにより、及びＦＲＥＥＷＨＥＥＬ＃を設定することにより）。従って、コントローラ１６は、ＨＡＬＬ信号の次のエッジより進み期間Ｔ_ＡＤＶだけ先行して相巻線７を整流する。整流の後、過電流イベントが起こるまで、コントローラ１６は相巻線７を励起する。過電流イベントに応答して、コントローラ１６は、オーバーラン期間Ｔ_ＯＶＲにわたって相巻線７を励起し続ける。オーバーラン期間が経過した後、コントローラ１６は、相巻線７をフリーホイールさせる（すなわち、ＦＲＥＥＨＷＥＥＬ＃をクリアすることにより）。フリーホイールは、次に、コントローラ１６が次に相巻線７を整流するような時間まで無期限に続く。コントローラ１６は、従って、ＨＡＬＬ信号の各エッジの前に相巻線７を整流し、ＨＡＬＬ信号の各エッジに応答してオーバーラン期間を更新し、Ｚ_ＣＲＯＳＳ信号の各エッジに応答して進み期間及びオーバーランオフセット値を更新する。
【０１２２】
運転モードで作動する時、回転子５により相巻線７内で誘導される逆起電力のマグニチュードは、十分なマグニチュードなので、相巻線７内の電流は、過電流イベントがない場合でさえ過大レベルに到達する可能性はない。従って、タイムアウト期間は、運転モードで作動する時にコントローラ１６により使用されはしない。それによって、次に、コントローラ１６によって実行される命令の個数が低減する。
【０１２３】
コントローラ１６は、ＳＰＥＥＤ_ＭＩＮ及びＳＰＥＥＤ_ＭＡＸにより境界が示された作動速度範囲にわたってモータ２を駆動し、速度は、負荷の変化に応答して変化する。この速度範囲で、コントローラ１６は、確実に一定の平均電力がＳＰＥＥＤ_ＣＰ_ＭＩＮとＳＰＥＥＤ_ＣＰ_ＭＡＸの間に達成されるようにする制御値を選択する。その結果、一定の平均電力が異なるローディングのために達成される。また、コントローラ１６は、Ｖ_ＭＩＮ及びＶ_ＭＡＸにより境界が示された電圧範囲にわたってモータ２を駆動する。この速度範囲で、コントローラ１６は、確実に一定の平均電力がＶＤ_ＣＰ_ＭＩＮとＶ_ＣＰ_ＭＡＸの間に達成されるようにする制御値を選択する。その結果、同じ電力及び性能は、ＡＣ電源４の電圧の変動に関わらず達成される。
【０１２４】
故障モード
コントローラ１６は、モータシステム１の損傷を防止又は制限するためにエラーに応答して故障モードに入る。コントローラ１６は、従って、故障モードに入るとＤＩＲ１及びＤＩＲ２をクリアすることによってモータ２を無効にする。コントローラ１６では、モータシステム１を再利用することができる前に、モータシステム１に至る電源を切断することが必要である場合がある。代替的に、コントローラ１６は、モータシステム１の更に別の使用を妨げる恐れがあり、これは、起こった故障の種類に依存する場合がある。
【０１２５】
恩典
ＡＣ電源により駆動される従来の永久磁石モータに対して、相巻線内の誘導される逆起電力により、ＡＣ電源から引き出される電流の量を正確に制御することが困難になる。従って、ＡＣ電源から引き出される電流の波形は、一般的に高い高調波コンテンツを有し、従って、力率不良になる。この問題に対処するために、従来の永久磁石モータは、一般的に能動力率補正（ＰＦＣ）回路を含む。能動ＰＦＣ回路は、ＡＣ電源から引き出される電流が実質的に正弦波であることを保証しながら相巻線を励起する際に使用される規則的なＤＣ電圧を出力する。従って、比較的高い力率をもたらすことができる。しかし、能動ＰＦＣ回路の介在により、モータシステムの経費が増大する。更に、ＰＦＣ回路には、ＰＦＣ回路によりサンプリングされるＤＣリンク電圧が安定であるために高いキャパシタンスＤＣリンクコンデンサが必要である。安定したＤＣリンク電圧がなければ、ＰＦＣ回路は、誤った電流要求レベルを推定し、電流高調波不良になる。しかし、高キャパシタンスＤＣリンクコンデンサは、物理的に大きくかつ高価である。
【０１２６】
本発明のモータシステム１に対して、コントローラ１６は、ＤＣリンク電圧に正比例である過電流閾値及びＡＣ電源４の各半サイクルにわたって変わるオーバーラン期間を使用する。最終結果として、コントローラ１６は、ＡＣ電源４の各半サイクルにまたがって変わる導通期間にわたって、モータ２の各電気半サイクル中に相巻線７を励起する。特に、導通期間の長さは、ＡＣ電源４の各半サイクルにまたがって半シヌソイドとして実質的に変化する。従って、ＡＣ電源４から引き出される電流の波形は、シヌソイドの波形に近づく。比較的高い力率及び低い高調波コンテンツは、従って、ＰＦＣ回路又は高いキャパシタンスリンクコンデンサを必要とせずに達成される。
【０１２７】
図１３は、本発明のモータシステム１で達成可能である電流波形を示している。電流波形は、比較の目的のために完全なシヌソイドで重畳されている。ＡＣ電源４の各半サイクルにわたって変わる導通期間を使用することにより、電流波形をもたらすことができ、その間、低次高調波の振幅は、比較的小さい。図１３の電流波形で見ることができる高周波リップルは、インバータスイッチングから生じる。
【０１２８】
１の力率は、高調波コンテンツを持たない電流波形に対して達成される。高調波コンテンツが増加すると、力率は減少する。本発明のモータシステム１は、従って、比較的高い力率をもたらすことができる。実際、本発明のモータシステム１で、少なくとも０．９５の力率が達成可能である。従って、モータシステム１は特定のピーク電流に対して比較的高い平均入力電力をもたらすことができる。これとは対照的に、比較的大きな低次高調波を有するモータシステムには、力率不良が発生する。従って、低平均入力電力化が、同じピーク電流に対して達成される。これを修復するために、ピーク電流のレベルを増大させることができる。しかし、ピーク電流が増加すると、システムの効率は、電力損失増大のために減少する。更に、過大なピーク電流は、インバータのスイッチを損傷し、及び／又は回転子を消磁する場合がある。
【０１２９】
多くの国には、幹線電源から引き出することができる電流高調波のマグニチュードに厳しい限界を課す規制、例えば、ＩＥＣ６１０００−３−２がある。進み期間、オーバーランオフセット、及びオーバーラン振幅に対して適切な値を使用することにより、モータシステム１は、モータシステム１の全作動速度及び電圧範囲にわたって高調波規格に適合することができる。実際、図１３の電流波形は、完全に正弦波ではないが、ＩＥＣ６ＩＯＯＯ−３−２に定められた高調波規格に適合するものである。
【０１３０】
従来のモータシステムと対照的に、本発明のモータシステム１は、能動ＰＦＣ回路又は高キャパシタンスリンクコンデンサを必要とせずに比較的小さい低次高調波を有する電流波形をもたらす。制御システム３のリンクコンデンサＣ１は、インバータスイッチングから生じる比較的高周波のリップルを平滑化するためだけに使用される。リンクコンデンサＣ１は、基本周波数でＤＣリンク電圧を平滑化するのに必要とされるのではない。従って、結果的に基本周波数、すなわち、Ｙｒ＝（Ｖｍａｘ−Ｖｍｉｎ）／Ｖｍａｘ≧０．５で、５０％又はそれよりも大きいＤＣリンク電圧のリップルが発生するリンクコンデンサを使用することができる。コントローラ１６は、それにも関わらず、このレベルのリップルででさえも、低次高調波が比較的小さく保つことを保証し、従って、比較的高い平均入力電力で良好な力率をもたらすことができる。実際、図１３の電流波形は、１００％の電圧リップルで達成される。リンクコンデンサＣ１は高周波スイッチングリップルをフィルタリングするためだけに必要とされるので、比較的低いキャパシタンスリンクコンデンサを使用することができ、従って、モータシステム１の経費及びサイズが大幅に低減される。
【０１３１】
モータシステム１で達成可能である比較的高い力率のために、ＤＣリンク電圧内のリップルにも関わらず比較的高い平均入力電力をもたらすことができる。達成可能な平均入力電力は、当然ながら、ＡＣ電源４のＲＭＳ電圧に依存する。しかし、１００ＶのＲＭＳ電圧に対して、１０００Ｗを超える一定の平均入力電力は、ＤＣリンク電圧内のリップルに関わらず達成可能である。その結果、幹線電源と共に使用される時、モータシステム１は、少なくとも１０００Ｗの一定の平均入力電力をもたらすことができる。
【０１３２】
進み期間Ｔ_ＡＤＶ、オーバーランオフセットＴ_ＯＶＲ_ＯＦＦＳＥＴ、及びオーバーラン振幅Ｔ_ＯＶＲ_ＡＭＰに対して適切な値を選択することにより、望ましい平均入力又は出力電力をモータシステム１に対して達成することができる。更に、各作動点（すなわち、速度及び電圧）でのモータシステム１の効率が望ましい入力又は出力電力が得られるように最適化されるように、適切な値を選択することができる。すなわち、Ｔ_ＡＤＶ、Ｔ_ＯＶＲ_ＯＦＦＳＥＴ、及びＴ_ＯＶＲ_ＡＭＰの様々な組の値により、同じ望ましい平均入力又は出力電力を得ることができる。しかし、これらの様々な組の値から、最も良好な効率をもたらす単一の組を選択することができる。
【０１３３】
進み期間、オーバーランオフセット、及びオーバーラン振幅の１つ又はそれよりも多くは、平均入力又は出力電力の特定のプロフィールが速度範囲及び／又は電圧範囲にわたって達成されるようにＡＣ電源４の回転子速度及び／又はＲＭＳ電圧の変化に応答して調節することができる。特に、回転子速度及び／又はＲＭＳ電圧の変化に応答して少なくとも進み期間及びオーバーランオフセットを調節することにより、同じ平均入力又は出力電力をもたらすことができる。
【０１３４】
単一のモータシステムに対して、平均電力（入力又は出力）の変動が、少なくとも１０ｋｒｐｍに及ぶ速度範囲、及び／又は少なくとも１０Ｖに及ぶ電圧範囲にわたって、±１％を超えないように、適切な値を選択することができる。しかし、同じ値が複数の大量生産されたモータシステムに使用される場合、各モータシステムの平均電力の変動は、構成要素及び製造公差のために増加する。それにも関わらず、平均電力の変動が上述の速度及び電圧範囲にわたって大量生産されたモータシステムに対して±５％を超えないように、適切な値を選択することができる。一定の平均電力（すなわち、±５％以内）を比較的高い速度で達成することができる。特に、一定の平均電力は、６０ｋｐｍを超える最小値及び８０ｋｒｐｍを超える最大値を有する速度範囲にわたって達成することができる。実際、一定の平均電力は、１００ｋｒｐｍを超える速度で達成することができる。速度及び／又は電圧範囲にわたって一定の平均電力をもたらすことに加えて、少なくとも８０％の効率が速度及び／又は電圧範囲にわたって維持されるように適切な値を選択することができる。
【０１３５】
本発明は、従って、能動ＰＦＣ回路又は高いキャパシタンスリンクコンデンサを必要とせずに既存の高調波規格に適合することができる強力なモータシステム１を提供する。更に、モータシステム１は、回転子速度及びＲＭＳ電圧の範囲にわたって比較的高い効率（すなわち、少なくとも８０％）、並びに一定の平均電力（すなわち、±５％以内）をもたらすことができる。
【０１３６】
イベント衝突
コントローラ１６は、異なるイベントに応答して異なるソフトウエアルーチンを実行する。例えば、コントローラ１６は、ＨＡＬＬ信号のエッジに応答して特定のルーチンを実行する。コントローラ１６は、過電流イベントなどに応答して異なるルーチンを実行する。
【０１３７】
比較的簡単なマイクロコントローラは、一般的にシングルスレッド型プロセッサを含む。その結果、プロセッサが特定のイベントに応答してルーチンを実行する時、プロセッサは、ルーチンを実行し終えた時のような時間まで他のイベントに応答することができない。従って、２つのイベントが衝突する時、イベントルーチンの一方の実行は遅れる。
【０１３８】
比較的低い回転子速度で作動する時、特定のルーチンの実行に対するあらゆる遅延は、全体的なホール期間との比較において比較的小さい。その結果、遅延は、モータシステム１の性能に悪影響を与える可能性はない。更に、ＳＰＥＥＤ_ＳＩＮＧＬＥよりも小さい速度で費やされる時間は比較的短いと予想され、従って、イベント衝突がモータシステム１の性能に及ぼす場合がある影響は、これらの速度では極めて重要であるとは見なされていない。しかし、ＳＰＥＥＤ_ＳＩＮＧＬＥでの又はそれを超える速度になると、ルーチンの実行におけるあらゆる遅延は、モータシステム１の性能に悪影響を与える場合がある。特に、遅延は、入力電力、出力電力、効率、及び電流高調波の１つ又はそれよりも多くに影響を与える場合がある。
【０１３９】
例えば、シングルスイッチモードで作動する時、コントローラ１６は、ＨＡＬＬ信号の各エッジに応答して整流期間Ｔ_ＣＯＭ及びオーバーラン期間Ｔ_ＯＶＲを計算する。この時間中に過電流イベントが発生した場合、過電流ルーチンは、コントローラ１６がホールルーチンを実行し終えた時のような時間まで実行されない。従って、理想的に所望されるよりも多くの電流が、相巻線７に駆動される。代替的に、コントローラ１６が過電流ルーチンを実行している間にＨＡＬＬ信号のエッジが発生した場合、ホールルーチンの実行は遅れる。ホールルーチンが相巻線７が整流される時間を計算するのに使用されるので、ホールルーチンの実行におけるあらゆる遅延は、進み期間を低減する効果を有する。これらの例の各々においては、小さい過電流閾値のために、衝突が、ＡＣ電源４の電圧のゼロ交差周辺で起こる可能性がある。その結果、相巻線７に駆動される電流の量が十分に制御されないという事実にも関わらず、電力及び効率に対する正味影響は、重大である可能性は低い。しかし、電流高調波に対する正味の影響は、重大である可能性がある。
【０１４０】
イベント衝突の危険を最小にするために様々な手段を取ることができる。特に、衝突の危険は、各ルーチンを実行するのに必要とされる時間が比較的短く保たれるように各ルーチンの命令を簡素化することによって低減することができる。こういう理由から、コントローラ１６は、期間の形態で制御値を格納するルックアップテーブルを使用する。期間を格納するルックアップテーブルを使用することにより、コントローラ１６により行われる数学的な計算は、比較的簡単に保つことができる。特に、数学的な計算は、簡単な足し算（例えば、オーバーラン期間を計算する時）及び引き算（例えば、整流期間を計算する時）に限定することができる。それにも関わらず、これらの手段にも関わらず、イベント衝突は、比較的高い速度になると比較的簡単なプロセッサで起こる場合がある。
【０１４１】
イベント衝突は、より高速の又はマルチコアプロセッサを有することによって解決することができる。しかし、両方の選択肢によりコントローラ１６の経費が増大する。従って、シングルスイッチモードでモータ２を駆動する２つの代替方式をここで説明する。両方の方式は、モータ２の各電気半サイクル中に発生するイベントの個数を低減し、従って、イベント衝突の可能性を低減する。２つの代替方式を説明する前に、上述の方式に対してモータ２の各電気半サイクル中に発生するイベントの考察を先に行う。明瞭さを期すために、シングルスイッチモードに対して上述の制御方式は、以下「過電流シングルスイッチモード」というものとする。シングルスイッチモードの２つの代替制御方式は、「無制限フリーホイールシングルスイッチモード」及び「制限フリーホイールシングルスイッチモード」と呼ぶこととする。
【０１４２】
過電流シングルスイッチモード
イベント処理の一般的な方法は、割り込みを使用するものである。割り込みに応答して、コントローラ１６は、メインコードの実行を中断し、割り込みサービスルーチン（ＩＳＲ）を実行することによって割り込みに供される。
【０１４３】
過電流シングルスイッチモードで作動する時、コントローラ１６は以下の４つの割り込み、すなわち、ホール、過電流、フリーホイール、整流を使用する。図１４は、ＨＡＬＬ信号、制御信号、及び相電流の波形、並びに過電流シングルスイッチモードで作動する時にコントローラ１６により使用される割り込みを示している。
【０１４４】
ホール割り込みは、ＨＡＬＬ信号のエッジに応答して生成される。ホール割り込みに供される際に、第１のコントローラ１６は、Ｚ_ＣＲＯＳＳ信号のエッジに応答して設定されているゼロ交差フラグをポーリングする。ゼロ交差フラグが設定されている場合、コントローラ１６は進み期間及びオーバーランオフセット値を更新してゼロ交差フラグをクリアする。Ｚ_ＣＲＯＳＳ信号は、従って、割り込みを生成するのではなくフラグを設定するのに使用される。これは、次に、割り込みの総数、従って、割り込み衝突の可能性を最小にするものである。ゼロ交差フラグをポーリングした後に、コントローラ１６は、整流期間Ｔ_ＣＯＭ及びオーバーラン期間Ｔ_ＯＶＲを計算する。コントローラ１６は、次に、整流期間を第１のタイマ、タイマ１に取り込む。最後に、コントローラ１６は、ＤＣ_ＳＭＯＯＴＨ信号及びＴＥＭＰ信号をサンプリングするのに使用される３つの段階の１つを実行する。
【０１４５】
過電流割り込みは、電流レギュレータ２２により出力された論理的に低い過電流信号に応答して生成される。過電流割り込みに供される際に、コントローラ１６は、オーバーラン期間Ｔ_ＯＶＲを第２のタイマ、タイマ２に取り込む。
【０１４６】
フリーホイール割り込みは、オーバーラン期間が経過した時に第２のタイマによって発生される。フリーホイール割り込みに供される際に、コントローラ１６は、相巻線７をフリーホイールさせる。
【０１４７】
整流割り込みは、整流期間が経過した時に第１のタイマによって発生される。整流割り込みに供される際に、コントローラ１６は、相巻線７を整流する。
【０１４８】
過電流ＩＳＲがオーバーラン期間を第２のタイマに取り込むことを担うものであるので、過電流割り込み及びフリーホイール割り込みが衝突することは不可能である。更にその上、確実に進み期間が整流ＩＳＲを実行するのに必要とされる時間より長いようにすることにより、ホール割り込み及び整流割り込みの衝突は、回避することができる。それにも関わらず、４つの可能な割り込み、すなわち、ホール及び過電流、ホール及びフリーホイール、整流及び過電流、及び整流及びフリーホイールの衝突は、まだ可能性がある。
【０１４９】
無制限フリーホイールシングルスイッチモード
無制限フリーホイールシングルスイッチモードで作動する時、過電流割り込みは無効にされ、すなわち、コントローラ１６は、電流レギュレータ２２により出力された過電流信号を無視する。ＨＡＬＬ信号のエッジに応答して、コントローラ１６は整流期間Ｔ_ＣＯＭに加えて導通期間Ｔ_ＣＤを計算する。ＨＡＬＬ信号のエッジの後、コントローラ１６は時間Ｔ_ＣＯＭで相巻線７を整流する。整流後、コントローラ１６は、導通期間Ｔ_ＣＤにわたって相巻線７を励起し、次に、コントローラ１６は、相巻線７をフリーホイールさせる。
【０１５０】
導通期間は、過電流シングルスイッチモードに使用されたオーバーラン期間に似ている。特に、導通期間は、オフセット値及び正弦値を含む。しかし、オーバーラン期間とは異なり、導通期間の波形は、ＡＣ電源４の電圧周期に対する位相シフトを含む。
【０１５１】
過電流シングルスイッチモードでは、コントローラ１６は、最初に、相巻線７内の電流が過電流閾値に到達するまで相巻線７を励起する。次に、コントローラ１６は、オーバーラン期間Ｔ_ＯＶＲにわたって相巻線７を励起する。相巻線７が励起される総導通期間は、従って、初期励起期間及びオーバーラン期間の合計である。相巻線７内の電流は、分流抵抗器Ｒ１，Ｒ２の各々にわたって電圧をモニタすることによって感知される。より具体的には、各分流抵抗器Ｒ１，Ｒ２にわたる電圧は、電流感知信号Ｉ_ＳＥＮＳＥ_１及びＩ_ＳＥＮＳＥ_２としてコントローラ１６に出力される。図２に示すように、各電流感知信号は、高周波ノイズを除去するように働くＲＣフィルタＲ８、Ｃ３及びＲ９、Ｃ４によりフィルタリングされる。ＲＣフィルタの時定数は、相巻線７内の測定された電流と実際の電流の間の時間遅延を導入する。最終結果として、導通期間の波形は、ＡＣ電源４のサイクルに対して位相シフトされる。この位相シフトは、低次電流高調波のマグニチュードを低減しやすくする。
【０１５２】
無制限フリーホイールシングルスイッチモードでは、過電流割り込みは無効にされる。ＲＣフィルタＲ８、Ｃ３及びＲ９、Ｃ４は、従って、導通期間の波形に影響を及ぼさない。従って、過電流シングルスイッチモードに存在する位相シフトを再現するために、導通期間の波形は、ＡＣ電源４のサイクルに対する位相シフトを含む。導通期間Ｔ_ＣＤは、従って、方程式によって定められる。
Ｔ_ＣＤ＝Ｔ_ＣＤ_ＯＦＦＳＥＴ＋Ｔ_ＣＤ_ＡＭＰ*ａｂｓ｛ｓｉｎ（θ＋Ａ_ＣＤ_ＰＨＡＳＥ）｝
ここで、Ｔ_ＣＤ_ＯＦＦＳＥＴはオフセット値であり、Ｔ_ＣＤ_ＡＭＰ*ａｂｓ｛ｓｉｎ（θ＋Ａ_ＣＤ_ＰＨＡＳＥ）｝は、Ｔ_ＣＤ_ＡＭＰによって定められた振幅を有する整流正弦波である。θはＡＣ電源４の電圧サイクル内の角度であり、Ａ_ＣＤ_ＰＨＡＳＥは位相角である。
【０１５３】
角度θ及び導通位相角度Ａ_ＣＤ_ＰＨＡＳＥは、時間間隔として表すことができる。
θ（ｄｅｇ）＝ｔ（ｓｅｃ）*ｆ（Ｈｚ）*３６０（ｄｅｇ）
Ａ_ＣＤ_ＰＨＡＳＥ（ｄｅｇ）＝Ｔ_ＣＤ_ＰＨＡＳＥ（ｓｅｃ）*ｆ（Ｈｚ）*３６０（ｄｅｇ）
【０１５４】
その結果、導通期間は、以下のように定めることができる。
Ｔ_ＣＤ＝Ｔ_ＣＤ_ＯＦＦＳＥＴ＋Ｔ_ＣＤ_ＡＭＰ*ａｂｓ｛ｓｉｎ（｛ｔ＋Ｔ_ＣＤ_ＰＨＡＳＥ）*ｆ*３６０ｄｅｇ）｝
【０１５５】
より簡単には、導通期間Ｔ_ＣＤは、以下と考えることができる。
Ｔ_ＣＤ＝Ｔ_ＣＤ_ＯＦＦＳＥＴ＋Ｔ_ＣＤ_ＳＩＮＥ
ここで、ＴＣＤ_ＯＦＦＳＥＴは、時間とは独立している導通オフセット値であり、Ｔ_ＣＤ_ＳＩＮＥは、時間に依存する導通正弦値である。
【０１５６】
Ｔ_ＣＤ_ＳＩＮＥは、複数の時間の各々に対して導通正弦値Ｔ_ＣＤ_ＳＩＮＥを含む導通正弦ルックアップテーブルとしてコントローラ１６により格納される。
【０１５７】
過電流シングルスイッチモードでは、コントローラ１６は、一定の平均電力を維持するように、ＡＣ電源４の回転子速度及び電圧の変化に応答して進み期間及びオーバーランオフセット値を調節する。同様に、無制限フリーホイールシングルスイッチモードでは、コントローラ１６は、一定の平均電力を維持するために、進み期間Ｔ_ＡＤＶ及び回転子速度及び電圧の変化に応答して導通オフセット値Ｔ_ＣＤ_ＯＦＦＳＥＴを調節する。コントローラ１６は、従って、進みルックアップテーブル及び導通オフセットルックアップテーブルを格納し、ルックアップテーブルの各々は、回転子速度及び電圧により索引が付される。
Ｔ_ＡＤＶ＝Ｔ_ＡＤＶ_ＴＡＢＬＥ［速度、電圧］
Ｔ_ＣＤ_ＯＦＦＳＥＴ＝Ｔ_ＣＤ_ＯＦＦＳＥＴ_ＴＡＢＬＥ［速度、電圧］
【０１５８】
過電流シングルスイッチモードでは、コントローラ１６は、最初に、相巻線７内の電流が過電流閾値に到達するまで相巻線７を励起する。過電流閾値は、ＤＣリンク電圧に比例しており、従って、この初期励起期間の長さは、ＡＣ電源４の電圧の変化に影響を受けやすい。初期励起期間の長さも、回転子５により相巻線７によって誘導された逆起電力のマグニチュードの変化に影響を受けやすい。その結果、初期励起期間は、回転子速度及びＡＣ電源４の電圧の変化に影響を受けやすい。電流感知信号の各々で作動するＲＣフィルタのために、この初期励起期間は、導通期間の波形の位相遅延を導入し、これは、低次電流高調波のマグニチュードを低減しやすくするものである。無制限フリーホイールシングルスイッチモードでは、位相遅延は、ＡＣ電源４の電圧波形に対して導通期間の波形を位相シフトすることによって再現される。位相遅延がＡＣ電源４の回転子速度及び電圧の変化に影響を受けやすいので、コントローラ１６は、回転子速度及び電圧の変化に応答して導通期間波形の位相を調節する。複数の回転子速度の各々及び複数の電圧に対して、コントローラ１６は、従って、位相シフト値Ｔ_ＣＤ_ＰＨＡＳＥＳＨＩＦＴを格納する導通位相シフトルックアップテーブルを含む。その結果、導通期間は、従って、以下のように定めることができる。
Ｔ_ＣＤ＝Ｔ_ＣＤ_ＯＦＦＳＥＴ_ＴＡＢＬＥ［速度、電圧］＋Ｔ_ＣＤ_ＳＩＮＥ_ＴＡＢＬＥ［ｔ＋ＴＣＤ_ＰＨＡＳＥ_ＳＨＩＦＴ［速度、電圧］］
【０１５９】
進み期間Ｔ_ＡＤＶ、導通オフセット値Ｔ_ＣＤ_ＯＦＦＳＥＴ、及び導通位相シフト値Ｔ_ＣＤ_ＰＨＡＳＥ_ＳＨＩＦＴの各々は、Ｚ_ＣＲＯＳＳ信号のエッジに応答して更新される。値は、従って、ＡＣ電源４の電圧がゼロと交差する時に限り更新され、かつＡＣ電源４の各半サイクルにわたって一定である。
【０１６０】
ＨＡＬＬ信号のエッジに応答して、コントローラ１６は、Ｚ_ＣＲＯＳＳ信号の最終エッジ以来経過した時間ｔの期間を決定又は測定する。コントローラ１６は、次に、導通正弦値ＴＣＤ_ＳＩＮＥを選択するために、経過時間ｔ及び導通位相シフト値Ｔ_ＣＤ_ＰＨＡＳＥ_ＳＨＩＦＴの合計を使用して導通正弦ルックアップテーブルに索引を付ける。コントローラ１６は、次に、導通オフセット値Ｔ_ＣＤ_ＯＦＦＳＥＴ及び導通正弦値Ｔ_ＣＤ_ＳＩＮＥを合計して導通期間Ｔ_ＣＤを取得する。
【０１６１】
コントローラ１６は、無制限フリーホイールシングルスイッチモードで作動する時に３つの割り込み、すなわち、ホール、フリーホイール、及び整流を使用する。図１５は、ＨＡＬＬ信号、制御信号、及び相電流の波形、並びに無制限フリーホイールシングルスイッチモードで作動する時コントローラ１６により使用される割り込みを示している。
【０１６２】
ホール割り込みは、ＨＡＬＬ信号のエッジに応答して生成される。ホール割り込みに供される際に、コントローラ１６は、Ｚ_ＣＲＯＳＳ信号のエッジに応答して設定されているゼロ交差フラグをポーリングする。ゼロ交差フラグが設定されている場合、コントローラ１６は、進み期間、導通オフセット値、及び導通位相シフト値を更新してゼロ交差フラグをクリアする。ゼロ交差フラグをポーリングした後に、コントローラ１６は、整流期間Ｔ_ＣＯＭ及び導通期間Ｔ_ＣＤを計算する。コントローラ１６は、次に、整流期間を第１のタイマ、タイマ１に取り込む。最後に、コントローラ１６は、ＤＣ_ＳＭＯＯＴＨ信号及びＴＥＭＰ信号をサンプリングするのに使用される３つの段階の１つを実行する。
【０１６３】
整流割り込みは、整流期間が経過した時に第１のタイマによって発生される。整流割り込みに供される際に、コントローラ１６は、相巻線７を整流して導通期間を第２のタイマ、タイマ２に取り込む。
【０１６４】
フリーホイール割り込みは、オーバーラン期間が経過した時に第２のタイマによって発生される。フリーホイール割り込みに供される際に、コントローラ１６は、相巻線７をフリーホイールさせる。
【０１６５】
過電流シングルスイッチモードと比較すると、コントローラ１６は、１つのより少ない割り込みを使用する。更に、整流ＩＳＲが導通期間を第２のタイマに取り込むことを担うものであるので、整流割り込み及びフリーホイール割り込みが衝突することは不可能である。その結果、割り込み衝突の危険は、大幅に低減される。
【０１６６】
進み期間が、整流割り込み（Ｔ_ＣＯＭ_ＩＳＲ）に供されるのに必要とされる時間よりも大きく、かつホール期間からホール割り込み（Ｔ_ＨＡＬＬ_ＩＳＲ）に供されるのに必要とされる時間を引いた時間よりも小さくなるように保証することにより、ホール割り込み及び整流割り込みの衝突を回避することができ、すなわち、以下の通りである。
Ｔ_ＣＯＭ_ＩＳＲ＜Ｔ_ＡＤＶ＜Ｔ_ＨＡＬＬ−Ｔ_ＨＡＬＬ_ＩＳＲ
【０１６７】
それにも関わらず、フリーホイール割り込みがホール割り込みと衝突することはまだ可能である。しかし、ここで説明するように、コントローラ１６は、割り込みを生成する必要性なしで導通期間の終了時にフリーホイールが開始されるように構成することができる。
【０１６８】
出力比較モードで作動させることができるタイマを有するマイクロコントローラは公知である。出力比較モードでは、比較器は、出力比較レジスタとタイマのカウンタレジスタを比較する。２つのレジスタの値が対応する時、比較器は、割り込みを生成するか、又はマイクロコントローラの出力ピンを設定／クリア／切り換える。比較器により着手される特定のアクションは、一般的にレジスタビットによって設定される。
【０１６９】
一実施形態では、出力比較モードは、割り込みを生成することなくＦＲＥＥＷＨＥＥＬ＃信号をクリアするためにコントローラ１６により利用される。図１６に示すように、コントローラ１６の周辺機器１９は、２つのタイマ３０、３１と比較器モジュール３２とを含む。記憶装置１８は、タイマ３０、３１の各々に関するタイマレジスタ３３、３４と比較レジスタ３５とを含む。第１のタイマ３０は、整流期間Ｔ_ＣＯＭを計時するのに使用され、第２のタイマ３１は、導通期間Ｔ_ＣＤを計時するのに使用される。第２のタイマ３１は、出力比較モードで作動するように構成される。その結果、第１のタイマ３０によって生成された整流割り込みに供される時、コントローラ１６は、相巻線７を整流し、導通期間を比較レジスタ３５に取り込み、かつ第２のタイマ３１をリセットする。比較器モジュール３２は、次に、第２のタイマレジスタ３４及び比較レジスタ３５を比較する。２つの比較レジスタ３４，３５が一致する時（導通期間が経過した時に発生する）、比較器モジュール３２は、ＳＲラッチ３６をリセットし、ＳＲラッチ３６は、コントローラ１６の出力ピン２１をクリアする。この出力ピン２１は、次に、ＦＲＥＥＷＨＥＥＬ＃信号に対してコントローラ１６によって使用される。従って、導通期間が経過した時、ＦＲＥＥＷＨＥＥＬ＃は、割り込みが生成されることなくクリアされる。出力ピンがラッチ状態にされるので、ＦＲＥＥＷＨＥＥＬ＃は、整流割り込みに供される時にコントローラ１６がラッチ３６をセットするような時間までクリアし続けられる。
【０１７０】
コントローラ１６は、従って、２つの割り込み、すなわち、ホール及び整流のみを使用して無制限フリーホイールシングルスイッチモードで作動させることができる。しかし、上述のように、ホール割り込み及び整流割り込みの衝突は、確実に進み期間が特定の限界内に保たれるようにすることによって回避することができる。その結果、割り込み衝突は、全体的に回避することができる。
【０１７１】
コントローラ１６に使用されるマイクロコントローラの形式によっては、出力比較モードを使用して導通期間を計時し、ＦＲＥＥＷＨＥＥＬ＃に使用される出力ピンをクリアすることが不可能である場合がある。例えば、マイクロコントローラは、出力比較モードで作動させることができるいずれのタイマも持たない場合がある。代替的に、マイクロコントローラは、８ビットタイマ及び１６ビットタイマを有することができ、１６ビットタイマのみが、出力比較モードで作動させることができる。しかし、整流期間が一般的に導通期間より長いので、整流期間にわたって１６ビットタイマを使用することが必要であると考えられる。出力比較モードがＦＲＥＥＷＨＥＥＬ＃をクリアすることに利用できない場合には、ＰＷＭモジュールを代替的にここで説明するように、割り込みに頼ることなくＦＲＥＥＷＨＥＥＬ＃をクリアするのに使用することができる。
【０１７２】
図１７は、コントローラ１６の周辺機器１９が２つのタイマ３０、３１とＰＷＭモジュール３７とを含む代替的な実施形態を示している。記憶装置１８は、タイマ３０、３１の各々に関するタイマレジスタ３３、３４と、デューティサイクルレジスタ３８と、期間レジスタ３９とを含む。第１のタイマ３０は、ここでもまた、整流期間Ｔ_ＣＯＭを計時するのに使用される。しかし、第２のタイマ３１は、ＰＷＭモジュール３７のためのクロック信号として使用される。ＰＷＭモジュール３７は、１対の比較器４０，４１とＳＲラッチ４２とを含む。第１の比較器４０は、第２のタイマレジスタ３４及びデューティサイクルレジスタ３８を比較する。２つのレジスタ３４，３８の値が一致する時、第１の比較器４０は、ＳＲラッチ４２をリセットし、それによってコントローラ１６の出力ピン２１がクリアされる。第２の比較器４１は、第２のタイマレジスタ３４及び期間レジスタ３９を比較する。これらの２つのレジスタ３４，３９の値が一致する時、２つのことが起こる。第１に、第２の比較器４１は、ＳＲラッチ４２を設定し、それによって出力ピン２１がセットされる。第２に、第２のタイマ３１がリセットされる。コントローラ１６の出力ピン２１は、従って、第２のタイマレジスタ３４及びデューティサイクルレジスタ３８が一致する時にクリアされ、第２のタイマレジスタ３４及び期間レジスタ３９が一致する時にセットされる。
【０１７３】
ＰＷＭモジュール３７により切り換えられる出力ピン２１は、ＦＲＥＥＨＷＥＥＬ＃信号に対してコントローラ１６によって使用される。整流割り込みに供される時、コントローラ１６は、相巻線７を整流し、導通期間をデューティサイクルレジスタ３８に取り込んで、期間レジスタ３９の値と同じ値を第２のタイマレジスタ３４に取り込む。これに応答して、ＰＷＭモジュール３７は、ＦＲＥＥＷＨＥＥＬ＃をセットし、第２のタイマレジスタ３４がリセットされる。第２のタイマ３１は、次に、第２のタイマレジスタ３４及びデューティサイクルレジスタ３８が一致するような時間まで第２のタイマレジスタ３４を増加又はインクリメントさせる。２つ比較レジスタ３４，３８が一致する時（導通期間が経過した時に発生する）、ＰＷＭモジュール３７は、ＦＲＥＥＷＨＥＥＬ＃をクリアする。相巻線７は、従って、割り込みを必要とせずにフリーホイールされる。
【０１７４】
期間レジスタ３９の設定が低すぎる場合、第２のタイマレジスタ３４及び期間レジスタ３９は、フリーホイール期間中に一致する。それによって、次に、ＦＲＥＥＷＨＥＥＬ＃信号が早期にセットされる。従って、フリーホイールが整流の前に終了されないように、期間レジスタ３９は、最大可能値を格納する（例えば、８ビット期間レジスタは、０ｘＦＦを格納する）。
【０１７５】
上述の実施形態の各々においては、比較器は、比較レジスタ内に格納された値と第２のタイマレジスタの値を比較する。第２のタイマレジスタ及び比較レジスタが一致する時、比較器は、ＦＲＥＥＷＨＥＥＬ＃に使用された出力ピンをクリアする。第１の実施形態では、比較器は比較器モジュール３２の一部を成し、一方、第２の実施形態では、比較器はＰＷＭモジュール３７の一部を成す。しかし、コントローラ１６のいずれの比較器も、比較器がタイマレジスタ及び比較レジスタの比較に応答してコントローラ１６の出力ピンを制御する（直接に又は関連のハードウエアを通じて）ことができる限り、使用することができる。
【０１７６】
制限フリーホイールシングルスイッチモード
無制限フリーホイールシングルスイッチモードの場合と同様に、過電流割り込みは、制限フリーホイールシングルスイッチモードで作動する時に無効にされる。ＨＡＬＬ信号のエッジに応答して、コントローラ１６は、整流期間Ｔ_ＣＯＭに加えて、ドライブオフ期間Ｔ_ＤＯＦＦを計算する。コントローラ１６は、次に、ドライブオフ期間Ｔ_ＤＯＦＦにわたって相巻線７を励起し続け、次に、コントローラ１６は、相巻線７をフリーホイールさせる。フリーホイールは、次に、コントローラ１６が相巻線７を整流するまで続く。
【０１７７】
ドライブオフ期間は、無制限フリーホイールシングルスイッチモードに使用された導通期間に似ている。特に、ドライブオフ期間Ｔ_ＤＯＦＦは、方程式によって定められる。
Ｔ_ＤＯＦＦ＝Ｔ_ＤＯＦＦ_ＯＦＦＳＥＴ＋Ｔ_ＤＯＦＦ_ＡＭＰ*ａｂｓ｛ｓｉｎ（θ＋Ａ_ＤＯＦＦ_ＰＨＡＳＥ）｝
ここで、Ｔ_ＤＯＦＦ_ＯＦＦＳＥＴは、オフセット値であり、Ｔ_ＤＯＦＦ_ＡＭＰ*ａｂｓ｛ｓｉｎ（θ＋Ａ_ＤＯＦＦ_ＰＨＡＳＥ）｝は、Ｔ_ＤＯＦＦ_ＡＭＰによって定められた振幅を有する整流正弦波である。θは、ＡＣ電源４の電圧サイクル内の角度であり、Ａ_ＤＯＦＦ_ＰＨＡＳＥは位相角である。
【０１７８】
角度θ及びドライブオフ位相角度Ａ_ＤＯＦＦ_ＰＨＡＳＥは、時間間隔として表すことができる。
θ（ｄｅｇ）＝ｔ（ｓｅｃ）*ｆ（Ｈｚ）*３６０（ｄｅｇ）
Ａ_ＤＯＦＦ_ＰＨＡＳＥ（ｄｅｇ）＝Ｔ_ＤＯＦＦ_ＰＨＡＳＥ（ｓｅｃ）*ｆ（Ｈｚ）*３６０（ｄｅｇ）
【０１７９】
その結果、ドライブオフ期間は、以下のように定めることができる。
Ｔ_ＤＯＦＦ＝Ｔ_ＤＯＦＦ_ＯＦＦＳＥＴ＋Ｔ_ＤＯＦＦ_ＡＭＰ*ａｂｓ｛ｓｉｎ（{ｔ＋Ｔ_ＯＶＲ_ＰＨＡＳＥ}*ｆ*３６０ｄｅｇ）｝
【０１８０】
より簡単には、ドライブオフ期間Ｔ_ＤＯＦＦは、以下と見なすことができる。
Ｔ_ＤＯＦＦ＝Ｔ_ＤＯＦＦ_ＯＦＦＳＥＴ＋Ｔ_ＤＯＦＦ_ＳＩＮＥ
ここで、Ｔ_ＤＯＦＦ_ＯＦＦＳＥＴは、時間とは独立したドライブオフオフセット値であり、Ｔ_ＤＯＦＦ_ＳＩＮＥは、時間に依存するドライブオフ正弦値である。
【０１８１】
ドライブオフ期間Ｔ_ＤＯＦＦは、導通期間Ｔ_ＣＤに対して上述したものと同様にコントローラ１６により格納及び更新される。特に、コントローラ１６は、時間により索引が付されるドライブオフ正弦ルックアップテーブル、及び回転子速度及びＡＣ電源４の電圧により各々が索引が付されたドライブオフオフセットルックアップテーブルとドライブオフ位相シフトルックアップテーブルを格納する。その結果、ドライブオフ期間は、以下のように定めることができる。
Ｔ_ＤＯＦＦ＝Ｔ_ＤＯＦＦ_ＯＦＦＳＥＴ_ＴＡＢＬＥ［速度、電圧］＋Ｔ_ＤＯＦＦ_ＳＩＮＥ_ＴＡＢＬＥ［ｔ＋Ｔ_ＤＯＦＦ_ＰＨＡＳＥ_ＳＨＩＦＴ［速度、電圧］］
【０１８２】
コントローラ１６は、制限フリーホイールシングルスイッチモードで作動する時に３つの割り込み、すなわち、ホール、フリーホイール、及び整流を使用する。図１８は、ＨＡＬＬ信号、制御信号、及び相電流の波形、並びに制限フリーホイールシングルスイッチモードで作動する時コントローラ１６により使用される割り込みを示している。
【０１８３】
ホール割り込みは、ＨＡＬＬ信号のエッジに応答して生成される。ホール割り込みに供される際に、コントローラ１６は、Ｚ_ＣＲＯＳＳ信号のエッジに応答して設定されているゼロ交差フラグをポーリングする。ゼロ交差フラグが設定されている場合、コントローラ１６は、進み期間、ドライブオフオフセット値及びドライブオフ位相シフト値を更新してゼロ交差フラグをクリアする。ゼロ交差フラグをポーリングした後に、コントローラ１６は、整流期間Ｔ_ＣＯＭ及びドライブオフ期間Ｔ_ＤＯＦＦを計算する。コントローラ１６は、次に、整流期間を第１のタイマ、タイマ１に、ドライブオフ期間を第２のタイマ、タイマ２に取り込む。最後に、コントローラ１６は、ＤＣ_ＳＭＯＯＴＨ信号及びＴＥＭＰ信号をサンプリングするのに使用される３つの段階の１つを実行する。
【０１８４】
フリーホイール割り込みは、ドライブオフ期間が経過した時に第２のタイマによって発生される。フリーホイール割り込みに供される際に、コントローラ１６は、相巻線７をフリーホイールさせる。
【０１８５】
整流割り込みは、整流期間が経過した時に第１のタイマによって発生される。整流割り込みに供される際に、コントローラ１６は、相巻線７を整流する。
【０１８６】
その結果、無制限フリーホイールシングルスイッチモードの場合と同様に、コントローラ１６は、３つの割り込みのみを使用する。これは、過電流シングルスイッチモードに使用される４つの割り込みと対照的である。更に、確実に進み期間が整流割り込みに供される所要の時間を超えるようにすることによって、ホール割り込み及び整流割り込みの衝突を回避することができる。
【０１８７】
無制限フリーホイールシングルスイッチモードに関して上述したように、コントローラ１６は、割り込みを生成する必要なしにドライブオフ期間の終了時にフリーホイールが開始されるように構成することができる。例えば、第２のタイマは、ドライブオフ期間が経過した時にＦＲＥＥＷＨＥＥＬ＃に使用された出力ピンがクリアされるように、出力比較モードで作動するように構成することができる。代替的に、コントローラ１６は、ＦＲＥＥＷＨＥＥＬ＃のために出力ピンを切り換えるのに使用されるＰＷＭモジュールを含むことができる。例えば、ホール割り込みに供される時、コントローラ１６は、整流期間を第１のタイマに取り込み、ドライブオフ期間をデューティサイクルレジスタに取り込み、かつ第２のタイマをリセットすることができる。その後整流割り込みに供される時、コントローラ１６は、次に、相巻線７を整流して、期間レジスタの値を第２のタイマのカウンタレジスタに取り込む。
【０１８８】
コントローラ１６は、従って、２つの割り込み、すなわち、ホール及び整流のみを使用して制限フリーホイールシングルスイッチモードで作動するように構成することができる。しかし、上述のように、これらの２つの割り込みの衝突は、確実に進み期間が整流割り込みに供されるのに必要とされる時間を超えるようにすることによって回避することができる。従って、割り込み衝突は、全体的に回避することができる。
【０１８９】
制限フリーホイールシングルスイッチモードでは、ドライブオフ期間は、ＨＡＬＬ信号のエッジに対して参照される。従って、相巻線７のフリーホイールは、ＨＡＬＬ信号のエッジの後まで開始することができない。無制限フリーホイールシングルスイッチモードでは、導通期間は、整流に対して参照される。整流がＨＡＬＬ信号のエッジの前に行われるので、相巻線７のフリーホイールは、ＨＡＬＬ信号のエッジの前に、ＨＡＬＬ信号のエッジ上で、又はＨＡＬＬ信号のエッジ後に開始することができる。こういう理由から、２つの方式は、制限フリーホイール及び無制限フリーホイールと呼ばれる。
【０１９０】
過電流シングルスイッチモードと比較すると、無制限フリーホイール及び制限フリーホイールのシングルスイッチモードは、使用する割り込み数が少なくなっており、従って、割り込み衝突の危険が低減される。実際、コントローラ１６は、割り込み衝突が全体的に回避されるように構成することができる。しかし、割り込み衝突の可能性にも関わらず、過電流シングルスイッチモードは、モータシステム１内の許容値及び制限を自己補償するという利点を有する。例えば、コントローラ１６は、ＡＣ供給電圧４のゼロ交差以来経過した時間をモニタするゼロ交差タイマを使用する。しかし、ゼロ交差タイマは、ホールルーチンの一部としてのみ開始される。従って、正弦ルックアップテーブルに索引を付けるために使用される時間の変動がある。更に別の例においては、ＨＡＬＬ信号のデューティサイクルの均衡の許容値があるとすることができる。デューティサイクルの不均衡があれば、ホール期間にエラーがもたらされる。モータシステム１内の許容値及び制限により、従って、特定のイベント（例えば、整流、フリーホイールなど）のタイミングのエラーは小さいものになる。過電流シングルスイッチモードでは、コントローラ１６は、最初に、相巻線７内の電流が過電流閾値に到達するまで相巻線７を励起する。この初期励起期間の長さは、コントローラ１６により計時されるものではない。従って、初期励起期間は、特定のタイミングエラーを補償するように働く。その結果、過電流シングルスイッチモードで作動する時に、より安定した電流波形を達成することができる。モータシステム１内の許容値及び制限を自己補償することに加えて、初期励起期間は、低次電流高調波を減衰させるように働く位相遅延を導入する。制限及び無制限のフリーホイールシングルスイッチモードでは、この位相遅延は位相シフトルックアップテーブルを使用して再現され、それによって貴重なメモリリソースが消費される。より少ないメモリを有するより廉価なマイクロコントローラは、従って、過電流シングルスイッチモードで作動する時にコントローラ１６に使用することができる。代替的に、そうでなければ位相シフトルックアップテーブルに使用されるメモリは、他のルックアップテーブル、例えば、進みルックアップテーブル、オーバーランオフセットルックアップテーブル、又はオーバーラン正弦ルックアップテーブルの分解能を改善するのに使用することができる。
【０１９１】
導通期間
上述の３つの方式の各々においては、コントローラ１６は、モータ２の各電気半サイクルにわたって導通期間Ｔ_ＣＤにわたって相巻線７を励起する。
【０１９２】
過電流シングルスイッチモードでは、その結果、導通期間Ｔ_ＣＤは、以下のように定めることができる。
Ｔ_ＣＤ＝Ｔ_ＯＣ＋Ｔ_ＯＶＲ
ここで、Ｔ_ＯＣは、相巻線７内の電流が過電流閾値に到達するために掛かる時間であり、Ｔ_ＯＶＲは、オーバーラン期間である。その結果、導通期間Ｔ_ＣＤは、以下のように定めることができる。
Ｔ_ＣＤ＝Ｔ_ＯＣ＋Ｔ_ＯＶＲ_ＯＦＦＳＥＴ＋Ｔ_ＯＶＲ_ＳＩＮＥ
【０１９３】
過電流閾値は、ＤＣリンク電圧に正比例であり、従って、整流されたシヌソイドとして変化する。相巻線７内の電流は、ＤＣリンク電圧のレベルに関わらず実質的に同じ速度で上がるが、この挙動の理由は、本明細書の範囲の域を超えるものである。その結果、相巻線７内の電流が過電流閾値Ｔ_ＯＣに到達するのに掛かる時間は、ＡＣ電源４の各半サイクルにわたって実質的に半シヌソイドとして変化する。しかし、電流感知信号の各々に作用するＲＣフィルタの時定数のために、Ｔ_ＯＣ波形は、ＡＣ電源４の電圧波形に対して位相シフトされる。
【０１９４】
オーバーラン正弦値Ｔ_ＯＶＲ_ＳＩＮＥは、ＡＣ電源４の各半サイクルにわたって半シヌソイドとして変化し、一方、オーバーランオフセットＴ_ＯＶＲ_ＯＦＦＳＥＴは一定である。更に、オーバーラン正弦値の波形は、ＡＣ電源４の電圧波形と同相である。
【０１９５】
オーバーランオフセットがＡＣ電源４の各半サイクルにわたって一定であるので、導通期間の変動は、２つの半正弦成分Ｔ_ＯＣ及びＴ_ＯＶＲ_ＳＩＮＥの合計によって定められる。ＲＣフィルタから生じる２つの成分の間の位相差は、比較的小さい。更に、Ｔ_ＯＣの振幅は、Ｔ_ＯＶＲ_ＳＩＮＥを超える。その結果、位相差にも関わらず、２つの成分の合計は、ＡＣ電源４の電圧波形に対する位相シフトを有する整流シヌソイドに似ている。
【０１９６】
導通期間Ｔ_ＣＤの長さは、従って、周期的な波形として変化する。波形は、２つの成分、すなわち、波形の各サイクルにわたって一定である第１の成分（Ｔ_ＯＶＲ_ＯＦＦＳＥＴ）及び波形の各サイクルにわたって変わる第２の成分（Ｔ_ＯＣ＋Ｔ_ＯＶＲ_ＳｌＮＥ）の合計として定めることができる。波形の各サイクルは、ＡＣ電源４の各半サイクルで繰り返す。導通期間の波形は、ＡＣ電源４の電圧波形に対して位相シフトされる。
【０１９７】
無制限フリーホイールシングルスイッチモードでは、導通期間Ｔ_ＣＤは、以下によって定められる。
Ｔ_ＣＤ＝Ｔ_ＣＤ_ＯＦＦＳＥＴ＋Ｔ_ＣＤ_ＳＩＮＥ
【０１９８】
導通正弦値Ｔ_ＣＤ_ＳＩＮＥは、ＡＣ電源４の各半サイクルにわたって半シヌソイドとして変化し、一方、導通オフセット値Ｔ_ＣＤ_ＯＦＦＳＥＴは一定である。更に、導通期間の波形は、ＡＣ電源４の電圧波形に対して位相シフトされる。実際、位相シフトは、過電流シングルスイッチモードでＲＣフィルタから生じる位相シフトを再現することを意図している。
【０１９９】
その結果、過電流シングルスイッチモードの場合と同様に、導通期間の長さは、周期的な波形として変化する。波形は、ここでもまた、２つの成分、すなわち、波形の各サイクルにわたって一定である第１の成分（Ｔ_ＣＤ_ＯＦＦＳＥＴ）及び波形の各サイクルにわたって変わる第２の成分（Ｔ_ＣＤ_ＳＩＮＥ）の合計として定めることができる。波形の各サイクルは、ＡＣ電源４の各半サイクルで繰返し、波形は、ＡＣ電源４の電圧波形に対して位相シフトされる。
【０２００】
制限フリーホイールシングルスイッチモードでは、導通期間Ｔ_ＣＤは、以下のように定めることができる。
Ｔ_ＣＤ＝Ｔ_ＡＤＶ＋Ｔ_ＤＯＦＦ
ここで、Ｔ_ＡＤＶは進み期間であり、Ｔ_ＤＯＦＦはドライブオフ期間である。その結果、導通期間Ｔ_ＣＤは、以下のように定めることができる。
Ｔ_ＣＤ＝Ｔ_ＡＤＶ＋Ｔ_ＤＯＦＦ_ＯＦＦＳＥＴ＋Ｔ_ＤＯＦＦ_ＳＩＮＥ
【０２０１】
進み期間Ｔ_ＡＤＶ及びドライブオフオフセットＴ_ＤＯＦＦ_ＯＦＦＳＥＴは、一定であり、一方、ドライブオフ正弦値Ｔ_ＤＯＦＦ_ＳＩＮＥは、ＡＣ電源４の各半サイクルにわたって半シヌソイドとして変化する。ここでもまた、過電流シングルスイッチモードでＲＣフィルタから生じる位相シフトを反映するために、ドライブオフ正弦値の波形は、ＡＣ電源４の電圧波形に対して位相シフトされる。
【０２０２】
その結果、他の２つのシングルスイッチモードの場合と同様に、導通期間の長さは、周期的な波形として変化する。波形は、２つの成分、すなわち、波形の各サイクルにわたって一定である第１の成分（Ｔ_ＡＤＶ＋Ａ_ＤＯＦＦ_ＯＦＦＳＥＴ）及び波形の各サイクルにわたって変わる第２の成分（Ｔ_ＤＯＦＦ_ＳＩＮＥ）の合計として定めることができる。ここでもまた、波形の各サイクルは、ＡＣ電源４の各半サイクルで繰返し、導通期間の波形は、ＡＣ電源４の電圧波形に対して位相シフトされる。
【０２０３】
３つの方式の各々においては、導通期間の長さは、ＡＣ電源４の各半サイクルで繰り返す周期的な波形によって定められる。より具体的には、波形は、波形の各サイクルにわたって実質的に半シヌソイドとして変化する。その結果、過電流シングルスイッチモードに関連して上述した利点は、無制限シングルスイッチモード及び制限シングルスイッチモードに等しく適用される。
【０２０４】
各方式では、導通期間の波形は、特定の性能をもたらすように、回転子５の速度及び／又はＡＣ電源４のＲＭＳ電圧の変化に応答して調節される。例えば、波形のオフセットは、主として、一定の平均電力（又は平均電力に関する特定のプロフィール）が様々な速度及び／又は電圧の範囲にわたって達成されるように調節される。波形の位相は、主として、電流波形内の低次高調波のマグニチュードが所定の閾値未満に保たれるように調節される。導通期間の長さは、２つの成分、すなわち、波形の各サイクルにわたって一定である第１の成分及び波形の各サイクルにわたって変わる第２の成分の合計として表すことができる。回転子速度及び／又はＲＭＳ電圧の変化に応答して、第１の成分は、一定の平均電力を維持するように調節され、第２の成分は、比較的小さい低次高調波を維持するように調節される。
【０２０５】
シングルスイッチモードの３つの異なる方式を説明したが、コントローラ１６は、シングルスイッチモードで作動する時にこれらの方式の１つだけに必ずしも限定されるわけではない。代替的に、コントローラ１６は、シングルスイッチモードで作動する時に３つの方式の１つ又はそれよりも多くを使用することができる。例えば、回転子速度がＳＰＥＥＤ_ＳＩＮＧＬＥに到達した時、コントローラ１６は、過電流シングルスイッチモードを最初に使用することができる。上述のように、過電流シングルスイッチモードは、何らかの自己補償を行うという利点を有する。しかし、回転子５が加速する時に、ホール期間は短くなり、従って、割り込み衝突の危険性は増加する。その結果、回転子速度が所定の閾値に到達した時、コントローラ１６は、過電流シングルスイッチモードから無制限フリーホイールシングルスイッチモードに切り換わることができる。
【０２０６】
３つのシングルスイッチ方式の各々に対して、進み期間、オフセット、振幅、及び位相シフトの値は、シミュレーションから得られる。シミュレーションは、望ましい平均入力又は出力電力で最も良好な性能（例えば、最も良好な効率及び／又は低次高調波）を取得するように各作動点（例えば、速度及び電圧）に対して様々な値を精緻化する。
【０２０７】
特定の例
モータシステム１の特定的な実施形態を一例としてのみここで説明する。モータシステム１の様々なハードウエア構成要素の値は、図１９に詳細に示されており、一方、図２０は、コントローラ１６により使用される様々な定数及び閾値を示している。図２１及び２２は、リンク誘導子Ｌ１及びモータ２の磁束鎖交特性を詳細に示している。
【０２０８】
図２３に示すように、モータシステム１は、７つの作動モード、すなわち、故障、初期化、静止、低速加速、中速加速、高速加速、及び運転を有する。従って、上述して図８に示すものと比較すると、モータシステム１は、１つの更に別の作動モードを有する。
【０２０９】
故障、初期化、静止、低速加速のモードは、上述したものと変わりはない。中速加速モードは、上述の高速加速モードに対応する。その結果、中速加速モードで作動する時、コントローラ１６は、進み整流マルチスイッチモードでモータ２を駆動する。
【０２１０】
高速加速モードで作動する時、コントローラ１６は、進み整流過電流シングルスイッチモードでモータ２を駆動する。高速加速モードでモータシステム１により費やされる時間の長さは、比較的短い。従って、メモリを保存するために、コントローラ１６はオーバーランオフセットルックアップテーブル及びオーバーラン正弦ルックアップテーブルを格納しない。代替的に、コントローラ１６は、複数の回転子速度の各々に対するオーバーラン期間Ｔ_ＯＶＲを含むシングルオーバーランルックアップテーブルを格納する。コントローラ１６は、次に、Ｚ_ＣＲＯＳＳ信号のエッジに応答して、進み期間と共にオーバーラン期間を更新する。その結果、コントローラ１６により使用されるオーバーラン期間は、ＡＣ電源４の各半サイクルにわたって一定である。しかし、一定のオーバーラン期間の使用は、２つの理由でモータシステム１の性能には悪影響を与えない。第１に、高速加速モードに使用される時間の長さは、比較的短い。第２に、コントローラ１６は、最初に、相巻線７内の電流がＤＣリンク電圧に比例している閾値を超えるまで相巻線７を励起する。その結果、ＡＣ電源４の各半サイクルにわたって一定のオーバーラン期間を使用することにも関わらず、電流波形は、シヌソイドの波形に近づき続ける。進み期間及びオーバーラン期間は、回転子速度の変化だけに応答して更新され、ＡＣ電源４のＲＭＳ電圧の変化に応答して更新されはしない。それによって、次に、ルックアップテーブルのサイズが低減され、従って、運転モードに使用されるより重要なテーブルに対して、より多くのメモリを自由にすることができる。コントローラ１６は、回転子５の速度がＳＰＥＥＤ_ＵＦＷに到達するような時間まで進み整流過電流シングルスイッチモードでモータ２を駆動し続ける。ＳＰＥＥＤ_ＵＦＷに到達すると、コントローラ１６は、Ｚ_ＣＲＯＳＳ信号の次のエッジに応答して運転モードに入る。
【０２１１】
運転モードは、上述したものに対応するが例外が１つある。コントローラ１６は、過電流シングルスイッチモードを使用するのではなく、その代わりに無制限フリーホイールシングルスイッチモードを使用する。その結果、進み期間及びオフセット値を更新することに加えて、コントローラ１６は、Ｚ_ＣＲＯＳＳ信号の各エッジに応答して位相シフト値も更新する。そうでなければ、コントローラ１６の作動は、上述したものと本質的に変わりはない。特に、コントローラ１６は、ＳＰＥＥＤ_ＭＩＮ及びＳＰＥＥＤ_ＭＡＸにより境界が示された作動速度範囲にわたってモータ２を駆動する。この速度範囲で、コントローラ１６は、確実に一定の平均電力がＳＰＥＥＤ_ＣＰ_ＭＩＮとＳＰＥＥＤ_ＣＰ_ＭＡＸの間に達成されるようにする制御値を選択する。また、コントローラ１６は、Ｖ_ＭＩＮ及びＶ_ＭＡＸにより境界が示された電圧範囲にわたってモータ２を駆動する。この電圧範囲で、コントローラ１６は、確実に一定の平均電力がＶ_ＣＰ_ＭＩＮとＶ_ＣＰ_ＭＡＸの間に達成されるようにする制御値を選択する。
【０２１２】
コントローラ１６は、３つの進みルックアップテーブルを格納する。第１のルックアップテーブルは、マルチスイッチモードで作動する時に回転子速度により索引が付される１次元の表である。第２のルックアップテーブルは、過電流シングルスイッチモードで作動する時に回転子速度により索引が付される１次元の表である。第３のルックアップテーブルは、無制限フリーホイールシングルスイッチモードで作動する時に回転子速度及び電圧により索引が付される２次元の表である。
【０２１３】
マルチスイッチモードに使用されるフリーホイールルックアップテーブル、タイムアウトルックアップテーブル、及び進みルックアップテーブルは、単一のマルチスイッチマップとしてコントローラ１６により集合的に格納される。図２４は、コントローラ１６により使用されるマルチスイッチマップを詳細に示している。複数の速度の各々に対して、マップは、フリーホイール期間Ｔ_ＦＷ、タイムアウト期間Ｔ_ＴＯ、及び進み期間Ｔ_ＡＤＶを格納する。様々な期間に対応する電気角度も記載されている。しかし、角度はコントローラ１６により格納されるマップの一部を成さず、単に回転子速度での角度の挙動を示すために設けられる。例えば、一定のタイムアウト期間Ｔ_ＴＯ（７０μｓ）が、中速加速を通して使用されることが見出される。しかし、対応するタイムアウト角度Ａ_ＴＯは、１０ｋｒｐｍ時の８．４度から５５ｋｒｐｍ時の４２．０度まで増加する。
【０２１４】
過電流シングルスイッチモードに使用される進み及びオーバーランルックアップテーブルは、単一のマップとして同様に格納される。マップの一部は、図２５に詳細に示されている。ここでもまた、対応する電気角度は、例示を目的として設けられている。
【０２１５】
無制限フリーホイールシングルスイッチモードに使用される進み、導通オフセット、及び導通位相シフトルックアップテーブルは、単一のマップとしても格納される。すなわち、同じ速度及び電圧分解能が、３つのルックアップテーブルの各々に使用される。その結果、マップの各要素は、進み期間、導通オフセット値、及び導通位相シフト値を格納する。しかし、明瞭さを期すために、各ルックアップテーブルの一部は、図２６〜図２８に示すが、全ての３つのルックアップテーブルの単位は、μｓである。絶対値を格納するのではなく、進みルックアップテーブル及び導通オフセットルックアップテーブルは、差分値を格納する。コントローラ１６は、次に、９４ｋｒｐｍの速度及び２３０ＶのＲＭＳ電圧に対応する５６．２μｓの基準進み期間及び４８．８μｓの基準導通オフセット値を格納する。
【０２１６】
図２９は、無制限フリーホイールシングルスイッチモードでコントローラ１６により格納及び使用される導通正弦ルックアップテーブルの区分を詳細に示している。ＡＣ電源の周波数が５０Ｈｚであるので、ルックアップテーブルは、０〜０．０１秒に及び、これは、ＡＣ電源４の半サイクルに対応する。ルックアップテーブルの分解能は、５１．２μｓｅｃであり、導通振幅Ｔ_ＣＤ_ＡＭＰ及び導通位相角Ｔ_ＣＤ_ＰＨＡＳＥは、それぞれ８３．２μｓ及び３２０μｓである。導通位相角Ｔ_ＣＤ_ＰＨＡＳＥは、実際上９４ｋｒｐｍの速度及び２３０Ｖの電圧に関する基準位相シフトである。
【０２１７】
モータシステム１は、８１ｋｒｐｍ〜１０６ｋｒｐｍの作動速度範囲及び２００Ｖ〜２６０Ｖの作動電圧範囲を有する。これらの範囲で、１６００Ｗ±２５Ｗの平均入力電力は、８５ｋｒｐｍと１０６ｋｒｐｍの間の速度で、かつ２１９Ｖ〜２５６Ｖ間の電圧で維持される。更に、約８５％の効率は、定電力速度及び電圧範囲にわたって達成される。
【０２１８】
コントローラ１６は、「Ｍｉｃｒｏｃｈｉｐ  Ｔｅｃｈｎｏｌｏｇｙ  Ｉｎｃ．」により製造されるＰＩＣ１６Ｆ６９０マイクロコントローラである。これは、２０ＭＨｚのクロック速度と、単一のＡＤＣと、２つの比較器と、３台のタイマと、４０９６語のプログラムメモリと、５１２バイトのデータメモリとを有する比較的簡単な８ビットマイクロコントローラである。しかし、この比較的簡単なマイクロコントローラでさえも、コントローラ１６は、１００ｋｒｐｍを超える速度で、約１６００Ｗの平均入力電力でモータ２を駆動することができる。
【０２１９】
波形の各サイクルにわたって（従って、ＡＣ電源４の各半サイクルにわたって）半シヌソイドとして変化する波形を有する導通期間をここまで参照してきた。しかし、他の形式の周期的な波形を導通期間にわたって使用することもできる。特に、導通期間が波形の各サイクルにわたって三角形又は台形として変化する波形は、両方とも、比較的良好な力率を取得する際に十分に機能することが判明している。図３０は、導通期間にわたる３つの上述の波形、（ａ）半シヌソイド、（ｂ）三角形、及び（ｃ）台形と共にＡＣ電源４の電圧波形を示している。これらの波形の各々に対して、導通期間は、波形の各サイクルの第１の半分にわたって増大し、各サイクルの第２の半分にわたって減少する。これらの３つの波形のうちの半シヌソイドは、低次高調波に関して最も良好な結果が得られることが判明している。それにも関わらず、異なる特性を有するモータシステムに対して、異なる波形を使用して性能改善を得ることができる可能性が高い。
【０２２０】
上述の実施形態では、進み期間は、ＡＣ電源４の各半サイクルにわたって一定である。それによって、次に、コントローラ１６によって実行される命令の個数が低減する。しかし、ＡＣ電源４の各半サイクルにわたって変わる進み期間を使用することによって性能改善をもたらすことができる。
【０２２１】
ＨＡＬＬ信号のエッジの前に相巻線７を整流することにより、相巻線７を励起するのに使用されるＤＣリンク電圧は、逆起電力により増大される。従って、相巻線７を通る電流の方向は、より迅速に逆にすることができる。更に、より多くの電流を正トルクの期間中に相巻線７に駆動することができるように、相巻線７内の電流に逆ＥＭＦをもたらすようにすることができる。ＤＣリンク電圧が増加すると、相電流の方向を逆にするのに必要とされる時間が減少し、相電流が上がる速度は増加する。従って、より短い進み期間を使用することができ、相電流量のあらゆる不足は、導通期間を増大させることによって埋め合わせることができる。重要なことに、進み期間を低減することによって負トルクの期間は減少し、従って、モータシステム１の効率化をもたらすことができる。コントローラ１６は、従って、ＡＣ電源４の各半サイクルにわたって変わる進み期間を使用することができる。この目的のために、進み期間の長さは、周期的な波形によって形成することができ、波形の各サイクルは、ＡＣ電源４の各半サイクルで繰り返す。進み期間の長さは、ＡＣ電源４の電圧のゼロ交差を中心とした領域において長く、ピーク電圧を中心とした領域において短い。進み期間の適切な波形には、逆半シヌソイド、逆三角形及び逆台形がある。図３１は、進み期間にわたる３つの可能な波形、すなわち、（ａ）逆半シヌソイド、（ｂ）、逆三角形、及び（ｃ）逆台形と共にＡＣ電源４の電圧波形を示している。進み期間は、導通期間に対して上述したものとほぼ同様に、コントローラ１６により定義、格納及び更新される。例えば、逆半シヌソイドとして変化する進み期間Ｔ_ＡＤＶは、以下のように定めることができる。
Ｔ_ＡＤＶ＝Ｔ_ＡＤＶ_ＯＦＦＳＥＴ−Ｔ_ＡＤＶ_ＡＭＰ*ａｂｓ｛ｓｉｎ（｛ｔ*ｆ*３６０ｄｅｇ）｝
【０２２２】
コントローラ１６は、次に、ＡＣ電源４の電圧のゼロ交差以来経過した時間を使用して、モータ２の各電気半サイクルに対して進み期間を決定又は測定する。コントローラ１６は、更に、回転子速度の変化及び／又はＡＣ電源４のＲＭＳ電圧の変化に応答して進み期間の波形を更新することができる。例えば、コントローラ１６は、回転子速度及び／又は電圧の変化に応答して波形のオフセット、振幅、及び位相の１つ又はそれよりも多くを調節することができる。ここでもまた、導通期間の場合と同様に、進み期間は、２つの成分、すなわち、一定である第１の成分及び進み期間波形の各サイクルにわたって変わる第２の成分の合計として定めることができる。コントローラ１６は、次に、回転子速度及び／又はＲＭＳ電圧の変化に応答して一方又は両方の成分を調節する。
【０２２３】
コントローラ１６により使用されるパラメータ（例えば、進み期間、導通オフセットなど）は、運転モードで作動する時に限りＡＣ電源４のＲＭＳ電圧の変化に応答して調節される。それによって、次に、加速中にコントローラ１６によって使用されるルックアップテーブルのサイズが低減される。従って、運転モード中に使用される、より重要なルックアップテーブルに対して、より多くのメモリが使用可能となる。しかし、ＡＣ電源４のＲＭＳ電圧の変化に応答して加速中に１つ又はそれよりも多くのパラメータを調節することが望ましい事例がある場合がある。例えば、制御値を調節することなく、モータシステム１は、ＡＣ電源４のＲＭＳ電圧が候補に挙げられた電圧よりも高いか又はより低い場合、より高い電力又はより低い電力でスタートすることができる。加速中にパラメータを調節することにより、電力の制御の改善をもたらすことができる。コントローラ１６は、従って、加速、例えば、フリーホイール期間、タイムアウト期間、進み期間、及びオーバーラン期間中に使用されるパラメータの１つ又はそれよりも多くに対して電圧補正テーブルを格納することができる。電圧補正テーブルは、複数の電圧の各々に対して補正値を格納する。特定のパラメータを更新する時、コントローラ１６は、回転子速度を使用して関連のルックアップテーブルに索引を付して制御値を選択する。更に、コントローラ１６は、ＡＣ電源４のＲＭＳ電圧を使用して関連の電圧補正テーブルに索引を付して補正値を選択する。コントローラ１６は、次に、制御値及び電圧補正値を合計してパラメータの値を取得する。この特定の例では、電圧補正テーブルは、１次元である。しかし、あらゆる電圧補正は、理想的にはＡＣ電源４のＲＭＳ電圧だけでなく、回転子５の速度にも依存する。従って、各パラメータに対して２つの１次元ルックアップテーブルを格納するのではなく、コントローラ１６は、代替的に、運転モード（例えば、図２６〜図２８）に使用されるパラメータに対して行われるように、各パラメータに対して完全な２次元ルックアップテーブルを格納することができる。しかし、完全な２次元のテーブルには、２つの１次元のテーブルよりもかなり多くのメモリが必要である。
【０２２４】
上述の実施形態では、モータ２は、４極回転子５と４極固定子６とを含む。しかし、回転子５及び固定子６では、極数を加減することができる。極の個数が増加すると、機械的サイクル当たりの電気サイクル数は増加する。その結果、所与の回転子速度に対して、各ホール期間は短くなっている。より速いコントローラ１６が、従って、各ホール期間中に必要な命令を実行するのに必要であろう。更に、インバータ１０のスイッチの高速化が必要であると考えられる。従って、許容極の数は、モータ２及び／又は制御システム３の成分の作動速度により限定される可能性がある。
【０２２５】
上述の図５に示す電流コントローラ２２は、ＰＩＣ１６Ｆ６９０マイクロコントローラの内蔵周辺機器を使用する。コントローラ１６に使用される特定のマイクロコントローラに基づいて、電流コントローラ２２の代替構成が可能である。更に、電流レギュレータ２２がコントローラ１６の一部を成すことは不可欠なことではない。代替的に、電流レギュレータ２２は、コントローラ１６とは別々に構成することができる。従って、コントローラ１６は、過電流信号を受信する電流レギュレータ２２に結合された入力ピン２０を含む。
【０２２６】
モータシステム１により使用される位置センサ１３は、ホール効果センサである。しかし、回転子５の位置を示す信号を出力することができる代替位置センサ、例えば、光センサを等しく使用することができる。同様に、１対のクランピングダイオードを使用するのではなく、他の構成、例えば、シュミットトリガをゼロ交差検出器１２に使用することができる。
【０２２７】
コントローラ１６は、インバータ１０の高側スイッチＱ１、Ｑ２を開成することによって相巻線７をフリーホイールさせる。それによって相巻線７内の電流は、インバータ１０の低側ループの周りを再循環することができる。一部の場合には、フリーホイールは、代替的に、低側スイッチＱ３、Ｑ４を開成し、電流がインバータ１０の高側ループの周りを再循環することを可能にすることによって行うことができる。しかし、電流センサ１２の分流抵抗器Ｒ１、Ｒ２は、次に、電流をフリーホイール中に感知し続けることができるようにインバータ１０の上側アームに位置するように要求してもよい。それによって分流抵抗器Ｒ１、Ｒ２が励起中により高い電圧を受けるので、より高い電力損失が発生する。更に、分流抵抗器Ｒ１、Ｒ２にわたる電圧は、ニュートラルを基準とするのではなく浮動電圧であり、従って、相巻線７内の電流を測定することが困難であろう。
【０２２８】
上述の実施形態では、モータシステム１は、永久磁石モータ２を駆動する制御システム３を含む。しかし、制御システム３の多くの態様は、等しく、他の形式のブラシレスモータを駆動するのに使用することができる。
【０２２９】
時間で周期的に変わる導通期間及び／又は進み期間の使用は、他の形式のブラシレスモータ、例えば、リラクタンスモータの相巻線を励起するのに使用することができる。リラクタンスモータに対して、回転子は、モータの相巻線内で逆起電力を誘発するものではない。従って、可変的な導通期間又は進み期間を必要とせずに実質的に正弦波電流波形を得ることができる。しかし、ＡＣ電源４の各半サイクルにわたって変わる導通期間及び／又は進み期間は、モータ内の磁束密度に対して特定のエンベロープをもたらすのに使用することができる。
【０２３０】
ＤＣリンク電圧内のリップルのために、リラクタンスモータの巻線は、ＡＣ電源４の各半サイクルにわたって変わる電圧で励起される。一定の導通期間がＡＣ電源４の各半サイクルにわたって使用された場合、モータ内の磁束密度のエンベロープは、ＤＣリンク電圧のエンベロープを反映する。コントローラ１６は、従って、磁束密度のエンベロープを形づくるようにＡＣ電源４の各半サイクルにわたって変わる導通期間を使用することができる。特に、コントローラ１６はピーク磁束密度を低減する導通期間を使用することができる。ピーク磁束密度を低減することにより、モータの効率化及び／又は小型化をもたらすことができる。ピーク磁束密度を低減するために、コントローラ１６は、ＡＣ電源４の電圧のゼロ交差を中心とした領域において長く、ピーク電圧を中心とした領域において短い導通期間を使用する。導通期間の適切な波形には、逆半シヌソイド、逆三角形、及び逆台形がある。
【０２３１】
導通期間の長さの変動を補償するために、コントローラ１６は、時間と共に周期的に変わる進み期間を更に使用することができる。特に、導通期間が減少する時に、コントローラ１６はより短い導通期間を補償するようにより長い進み期間を使用することができる。従って、導通期間と対照的に、コントローラ１６は、ＡＣ電源４の電圧のゼロ交差を中心とした領域において短く、ピーク電圧を中心とした領域においてより長い進み期間を使用する。進み期間の適切な波形に、半シヌソイド、三角形、及び台形を含む。
【０２３２】
永久磁石モータ２に対して、コントローラ１６は、例えば、位置センサ１３により出力される信号から決定されるように、相巻線７内の逆起電力のゼロ交差の前に相巻線７を励起する。リラクタンスモータに対して、コントローラ１６は、上昇中のインダクタンスの前に巻線を励起し、これは、同じく位置センサにより決定することができる。両方の例においては、コントローラ１６は、回転子の所定の位置に先行して相巻線を励起する。より具体的には、コントローラ１６は、整列されていない回転子位置に先行して相巻線を励起する。
【０２３３】
時間と共に周期的に変わる導通期間及び／又は進み期間は、異なる形式のブラシレスモータと共に使用することができるが、可変的な導通及び／又は進み期間は、永久磁石モータを駆動するのに使用される時に特に有用である。上述のように、永久磁石回転子５により相巻線７内に誘導される逆起電力により、ＡＣ電源４から引き出される電流の量を正確に制御することが困難になる。時間に周期的に変わる導通期間を使用することにより、シヌソイドの波形に近づく波形は、能動ＰＦＣ又は高いキャパシタンスリンクコンデンサを必要とすることなく、ＡＣ電源から引き出される電流に対して達成することができる。
【０２３４】
ＡＣ電源の電圧のゼロ交差に応答して制御パラメータ（例えば、進み期間、導通期間、フリーホイール期間、及びタイムアウト期間）を更新することは、他の形式のブラシレスモータと共に使用することができる。上述のように、ＡＣ電源内のゼロ交差に応答して制御パラメータを更新することにより、制御パラメータは、モータ速度に関わらず周期的に更新される。更に、制御パラメータは、専用タイマを必要とせずに周期的に更新される。制御パラメータはまた、ＡＣ電源のサイクルと同期して更新される。従って、ＡＣ電源４から引き出される電流の波形は、一般的により安定したものである。
【０２３５】
割り込み衝突は、多くの形式のブラシレスモータに対して潜在的な問題である。その結果、ソフトウエアよりもむしろハードウエア内の制御信号を発生するタイマ及び比較器（例えば、専用比較器モジュールの一部を成すか、又はＰＷＭモジュールの一部として）の使用は、割り込みの総数を低減するように他の形式のブラシレスモータと共に使用することができる。更に、コントローラがアナログ信号をサンプリングすることを必要とする時、割り込み衝突は、いくつかの段階にサンプリング処理を分割することによって更に低減することができ、各段階は、位置センサ信号の異なるエッジに応答して実行される。その結果、サンプリング処理は、モータのいくつかの電気半サイクルにわたって広げられ、それによって各電気半サイクル中にコントローラが他のルーチンを実行するための解放される時間が多くなる。
【符号の説明】
【０２３６】
１  モータシステム
２  ブラシレスモータ
３  制御システム
４  ＡＣ電源
【図１】
0005524896.tif 000002
【図２】
0005524896.tif 000003
【図３】
0005524896.tif 000004
【図４】
0005524896.tif 000005
【図５】
0005524896.tif 000006
【図６】
0005524896.tif 000007
【図７】
0005524896.tif 000008
【図８】
0005524896.tif 000009
【図９】
0005524896.tif 000010
【図１０】
0005524896.tif 000011
【図１１】
0005524896.tif 000012
【図１２】
0005524896.tif 000013
【図１３】
0005524896.tif 000014
【図１４】
0005524896.tif 000015
【図１５】
0005524896.tif 000016
【図１６】
0005524896.tif 000017
【図１７】
0005524896.tif 000018
【図１８】
0005524896.tif 000019
【図１９】
0005524896.tif 000020
【図２０】
0005524896.tif 000021
【図２１】
0005524896.tif 000022
【図２２】
0005524896.tif 000023
【図２３】
0005524896.tif 000024
【図２４】
0005524896.tif 000025
【図２５】
0005524896.tif 000026
【図２６】
0005524896.tif 000027
【図２７】
0005524896.tif 000028
【図２８】
0005524896.tif 000029
【図２９】
0005524896.tif 000030
【図３０】
0005524896.tif 000031
【図３１】
0005524896.tif 000032