コンプレッサ及びブラッシュレスDCBLDCモータを含む携帯型人口呼吸器を制御するための方法であって、前記BLDCモータのロータの角度位置に応じた振幅を有する1つまたは複数のアナログセンサ信号を得ること、前記アナログセンサ信号から前記ロータの角度位置を算出すること、前記角度位置から角速度を算出すること、前記角速度を、前記BLDCモータに対する速度制御サーボにおいて用いること、前記算出された角速度と、前記コンプレッサに対する入力圧力と出力圧力との間、または所望の気道内圧と実際の気道内圧との間の差圧とを用いて実際の空気流量を推定すること、所望の空気流量と前記携帯型人口呼吸器に対する前記実際の空気流量とを比較して、所望の角速度を決定すること、前記角速度および前記所望の角速度に基づいて速度誤差を算出すること、前記BLDCモータの動作中、前記速度誤差に従って前記角速度を前記所望の角速度と一致するように調節することにより、前記BLDCモータによって携帯型人口呼吸器のコンプレッサを駆動すること、を備え、前記アナログセンサ信号は、一定のサンプリングレートで得られる、方法。前記アナログセンサ信号は、アナログホール効果センサを用いて得られる、請求項1に記載の方法。前記アナログセンサ信号は、異方性の磁気抵抗AMRセンサから得られる、請求項1に記載の方法。前記角度位置は、前記アナログセンサ信号の逆正接を算出することによって得られる、請求項1に記載の方法。前記角速度は、前記角度位置の差を取ることによって得られる、請求項1に記載の方法。前記コンプレッサは、ルーツブロワを含む、請求項1に記載の方法。前記角度位置を算出することが、第1のアナログセンサから第1のアナログセンサ信号を得ること、前記第1のアナログセンサから180度だけ変移された第2のアナログセンサから第2のアナログセンサ信号を得ること、前記第2のアナログセンサ信号を前記第1のアナログセンサ信号から差し引くこと、を含む、請求項1に記載の方法。前記角度位置を算出することが、前記1つまたは複数のアナログセンサ信号にDCオフセット補正を適用することを含む、請求項1に記載の方法。前記角度位置を算出することが、算出された位置値に転流補正角度を適用することを含む、請求項1に記載の方法。前記角度位置を算出することが、回転の現在の四分円を確認すること、前記現在の四分円に対する記憶された係数を得ること、前記現在の係数および複数のデジタル化されたセンサ読み取り値を用いて多項方程式を解くこと、を含む、請求項1に記載の方法。携帯型人工呼吸器装置であって、ブラッシュレスDCBLDCモータと、携帯型人工呼吸器内のコンプレッサであって、前記BLDCモータによって駆動されるコンプレッサと、前記BLDCモータの角度位置を表わす複数のアナログ信号を提供する複数のセンサと、前記複数のアナログ信号から前記BLDCモータの前記角度位置および速度を算出するように構成された算出回路と、前記角速度を前記BLDCモータの動作中、前記角速度と前記所望の速度との間の差に基づいて所望の速度で駆動するための速度制御サーボと、前記複数のアナログ信号を一定のサンプリングレートでサンプリングし、対応するデジタル値を前記算出回路に供給するアナログデジタルコンバータと、を備え、前記速度制御サーボは、前記算出された角速度と、前記コンプレッサに対する入力圧力と出力圧力との間、または所望の気道内圧と実際の気道内圧との間の差圧とを用いて実際の空気流量を推定し、前記速度制御サーボは、所望の空気流量と前記携帯型人口呼吸器に対する前記実際の空気流量とを比較して、所望の角速度を決定する、携帯型人口呼吸器装置。前記複数のセンサのそれぞれは、アナログホール効果センサを含む、請求項11に記載の装置。前記複数のセンサのそれぞれは、異方性磁気抵抗AMRセンサを含む、請求項11に記載の装置。前記複数のアナログセンサは、円形パターン上に互いに90度だけ離れて配置された4つのアナログセンサを含む、請求項11に記載の装置。前記コンプレッサを介しての必要な流量を得るために、前記コマンド速度が流量制御ループによって計算される、請求項11に記載の装置。前記必要な流量は、圧力制御関数によって計算される、請求項15に記載の装置。前記算出回路は、プロセッサを含む、請求項11に記載の装置。前記算出回路が、逆正接関数を用いて前記複数のアナログ信号から前記角度位置を算出する、請求項11に記載の装置。前記算出回路が、テーブル索引関数を用いて前記複数のアナログ信号から前記角度位置を算出する、請求項11に記載の装置。前記算出回路が、多項式評価を用いて前記複数のアナログ信号から前記角度位置を算出する、請求項11に記載の装置。前記算出回路が、多項方程式から前記角度位置を算出するための複数の記憶された係数値を含む、請求項11に記載の装置。前記複数の係数値が、回転の各四分円に関連する係数の組を含む、請求項21に記載の装置。ロータの回転に関連する磁束を検出する複数のアナログセンサを備え、かつ人口呼吸器のコンプレッサを駆動するのに用いられる電動モータを制御するための方法であって、前記複数のアナログセンサの出力を一定のサンプリングレートでサンプリングして、複数のデジタル化されたセンサ信号を得ること、第1のセンサに関連する第1のデジタル化された信号を、第2のセンサに関連する第2のデジタル化された信号から差し引いて、前記ロータの角度位置に応じた第1の正弦曲線値を得ること、前記第1のセンサおよび前記第2のセンサは180度だけ互いにずれており、前記第1の正弦曲線値から前記角度位置を導き出すこと、前記角度位置から前記角速度を導き出すこと、前記導き出された角速度と、前記コンプレッサに対する入力圧力と出力圧力との間、または所望の気道内圧と実際の気道内圧との間の差圧とを用いて実際の空気流量を推定すること、所望の空気流量と前記携帯型人口呼吸器に対する前記実際の空気流量とを比較して、所望の角速度を決定すること、前記導き出された角速度を速度制御サーボに適用して、前記ロータを所望の角速度で駆動すること、を備える方法。第3のセンサに関連する第3のデジタル化された信号を、第4のセンサに関連する第4のデジタル化された信号から差し引いて、前記ロータの前記角度位置に応じた第2の正弦曲線値を得ることをさらに備え、前記第2の正弦曲線値は、前記第1の正弦曲線値とともに前記角度位置を導き出すために用いられる、請求項23に記載の方法。前記方法はさらに、前記導き出された角速度を空気流制御ループに適用して、所望の空気流から前記所望の角速度を得ることを備える、請求項23に記載の方法。所望の圧力と測定圧力とを比較して、前記所望の空気流を得ることをさらに備える、請求項25に記載の方法。前記角度位置を導き出すことが、前記第1の正弦曲線値にDCオフセットを適用することを含む、請求項23に記載の方法。前記角度位置を導き出すことが、算出された位置値に転流補正角度を付加することを含む、請求項23に記載の方法。前記角度位置を導き出すことが、多項方程式を解くために1つまたは複数の記憶された係数を得ることを含む、請求項23に記載の方法。前記1つまたは複数の記憶された係数を得ることが、現在の四分円を決定すること、前記現在の四分円に関連する1つまたは複数の係数を得ること、を含む、請求項29に記載の方法。ロータシャフトに取り付けられた磁石を有する電動モータと、前記磁石に隣接する円内に配置された対向するアナログセンサの複数の対とを備える速度サーボを校正するための方法であって、前記アナログセンサは一定のサンプリングレートでサンプリングされ、前記方法は、前記ロータシャフトを一定速度で回転させること、対向するアナログセンサの各対に対して、第1のアナログセンサのデジタル化されたセンサ信号を、第2のアナログセンサのデジタル化されたセンサ信号から差し引いて、正弦曲線信号を得ること、各四分円に対して、複数の前記正弦曲線信号に適合された多項方程式の複数の係数を決定すること、を備える方法。各正弦曲線信号に対して、1つまたは複数の信号ピークに基づいてDCオフセットを決定することをさらに備える、請求項31に記載の方法。前記正弦曲線信号の1つまたは複数のゼロ交差に基づいて、転流補正角度を決定することをさらに備える、請求項31に記載の方法。光学式エンコーダおよび他の速度トランスデューサの不利な点は、エンコーダの付加的なハードウェアが、装置のハウジング内で場所を取り、装置の全重量を増加させることである。さらに光学式エンコーダは高価である。装置が大きい場合には、サイズの増加、重量、およびコストは、装置設計において重要な因子ではないこともある。しかし、携帯型人工呼吸器の設計の場合には、各人工呼吸器ユニットは、コンパクト、軽量、かつ価格が手頃であることが望ましい。したがって、別個の速度トランスデューサを用いることは、さらなるサイズ、重量、およびコストがあるために、携帯型人工呼吸器における速度制御のための解決方法としては望ましくない。従来技術のBLDC制御システムでは、このような欠点があるために、機械的人工呼吸器の応用例においてBLDCモータとともに別個の速度トランスデューサを用いることはできないでいる。したがって、携帯型人工呼吸器用のBLDCモータ制御システムであって、すべてのロータ速度においてロータ速度情報および制御が正確で、別個の速度トランスデューサのコスト、サイズ、および重量が付加されることがないBLDCモータ制御システムを提供することが望ましい。本発明では、BLDCモータ用の制御システムが提供される。本発明の実施形態では、ブラッシュレスDCBLDCモータを用いてルーツブロワガスコンプレッサを駆動することで、患者に供給される空気流を制御する。ルーツブロワコンプレッサをBLDCモータに接続することによって、能力の十分なコンプレッサが、小さくて費用効率の高いパッケージで得られる。本発明の実施形態を用いれば、BLDCモータの速度、したがって空気流量を、正確に制御することができる。制御は、アナログホール効果センサの出力を用いて、速度制御サーボに対する角度位置および速度を計算することによって、行なわれる。本発明の一実施形態においては、アナログセンサをBLDCモータアセンブリ内に配置して、モータのロータに取り付けられた磁石からの検知磁束に基づいて、連続的な信号を得る。従来技術とは異なり、センサ信号を、ロータの角速度とは無関係なサンプリングレートで、サンプリングしてもよい。したがって、速度および位置の正確度を、ロータ速度の全域に亘って維持することができる。1つまたは複数の実施形態においては、センサ信号を位置関数において処理して、ロータ角度位置を得る。本発明の一実施形態によれば、1つの可能な位置関数は、逆正接関数である。逆正接関数は、たとえば演算、微小角近似、多項式評価アプローチ、テーブル索引アプローチ、または種々の方法の組み合わせを用いて、算出してもよい。角度位置が計算されると、角速度は、時間上で角度位置の差を取ることによって導き出してもよい。本発明は、携帯型の機械的人工呼吸器におけるコンプレッサを駆動するために使用できるブラッシュレスDCモータ用の制御システムを提供する。以下の説明では、本発明の実施形態のより十分な説明が得られるように、多数の具体的な詳細について述べる。しかし、当業者には明らかなように、本発明は、これらの具体的な詳細がない状態で実行してもよい。他の場合では、公知の特徴については、本発明が不明瞭とならないように、詳細には説明していない。機械的人工呼吸器は通常、大きくて扱いにくい装置であり、自力で呼吸できない患者を支援するために病院で用いられることが多い。最近の技術進歩の結果、病院の外で使用可能な携帯型の発生器がある。現在、機械的人工呼吸器は、サイズおよび消費電力が小さくなりながらも、フルサイズの病院人工呼吸器ユニットの能力を十分に実現する傾向にある。機械的人工呼吸器によって、呼吸を支援するための正の肺内圧が生成される。患者の肺にガスを送ることによって正の肺内圧が生成される結果、肺胞すなわち肺の主なガス交換ユニットとしての機能を果たす呼吸樹の最終枝内に、正圧が形成される。このように、機械的人工呼吸器は、基本的に、吸気相の間は患者の気道内に入る制御されたガス流れを生成し、呼気相の間は肺からガスが流れ出るようにする装置である。機械的人工呼吸器では、ガスコンプレッサを用いて必要な空気流を生成している。本発明には、機械的人工呼吸器内のコンプレッサを駆動するために用いることができる電動モータの精密速度制御が含まれる。機械的人工呼吸器は、種々の動作モード、たとえば圧力制御および体積制御を有していてもよい。ほとんどの機械的人工呼吸器の間で共通する1つの特徴は、所望の動作モードは、ガスコンプレッサが生成するガス流量を制御することによって達成される、ということである。一実施形態において、モータは、携帯型機械的人工呼吸器内でコンプレッサとして用いられるルーツブロワを駆動するブラッシュレスDCBLDCモータである。コンプレッサがもたらす流量および圧力は、BLDCモータの速度によって制御される。従来技術のシステムでは、デジタルホール効果センサを用いてロータ位置のサンプルを別個で取得し、別個の速度トランスデューサを用いて、BLDCモータの速度フィードバックを取得しているが、この従来技術とは異なり、本発明の実施形態では、アナログセンサたとえば、アナログホール効果センサ、異方性磁気抵抗AMRセンサなどを用いて、クローズドループ制御を行なうための連続的なロータ位置および速度フィードバックを得るようにしている。図3は、本発明の実施形態によるモータ/コンプレッサシステムを示すブロック図である。この説明図では、モータ/コンプレッサシステムは、BLDCモータ304に接続されたルーツブロワ302を備えている。ルーツブロワ302にはガスすなわち、空気が、入口308を介して入る。入口308からの空気は、ルーツブロワ302によって圧縮された後、患者および/または機械的人工呼吸器の他のセクションへ、出口310を介して送られる。流体伝達経路が、ルーツブロワ302の入力からソレノイドバルブ312まで、およびルーツブロワ302の出力からソレノイドバルブ314まで設けられている。また、大気圧力が、ソレノイドバルブ312および314に、大気入口316および318を介して、それぞれ送られている。ソレノイドバルブ312および314の出力流体伝達チャンネルが、ブロワ差圧トランスデューサ340まで設けられており、2つのチャンネル間の圧力差をその圧力差を表わす電気信号に変換する。通常動作時は、トランスデューサ340によって、ルーツブロワ302の出力圧力と入力圧力との間の差が測定される。ソレノイドバルブ312および314を制御することによって、トランスデューサ340は、トランスデューサ340のオートゼロ段階の間に、2つの大気圧力入口の間の圧力差を測定することもできる。プロセッサ320によって、ソレノイドバルブ312および314の制御が実現される。その際、ソレノイドドライバ332が、プロセッサ320からのデジタル制御信号をソレノイドバルブを駆動可能な電源DC信号に変換する。絶対圧トランスデューサ322および温度トランスデューサ324によって、絶対圧レベルおよび温度を表わす電気信号が生成される。トランスデューサ322、324、および340はそれぞれ、トランスデューサXDCRインターフェースブロック326に接続されている。トランスデューサインターフェースブロック326は、アナログ信号の信号増幅およびフィルタリングを行なってもよく、アナログ信号はその後、A/Dアナログデジタルコンバータ回路338に送られる。A/Dコンバータ338によって、アナログ信号は、プロセッサ320により処理されるデジタル値に変換される。A/Dコンバータ回路338に加えて、プロセッサ320には、以下の関連回路もある。すなわち、フラッシュメモリ348、JTAG試験回路346、ランダムアクセスメモリRAM344、およびUART汎用非同期受信送信器342および336である。外部JTAGコネクタ350が、JTAG回路346に接続されており、JTAG規格に基づくハードウェア試験およびデバッギングを容易にしている。遠隔測定コネクタ352が、UART342に接続されている。これは、測定された人工呼吸器パラメータを、リモートシステムに、たとえばモニタリング目的で送信するためである。通信および電源コネクタ354が、UART336に接続されている。これは、人工呼吸器システムとのさらなる外部通信を、たとえば動作上の試験および制御のために行なうことを、容易にするためである。またコネクタ354によって、任意の必要な電力信号が、モータ/コンプレッサシステムに送られるたとえば、3.3、5.0、および/または15VDCボルトDC。アナログセンサ306たとえば、アナログホール効果センサが、円形パターンのPCボード上に配置されている。このPCボードは、BLDCモータ304のロータシャフトに垂直で、ロータシャフトの端部に取り付けられた二極磁石に隣接するものである。アナログセンサ306から、BLDCロータ位置の算出に必要な測定値が得られる。センサ306のアナログ出力は、センサインターフェース328を介して送られてたとえば、増幅およびフィルタリングのために、そしてA/Dコンバータ回路338に供給される。A/Dコンバータ回路338では、アナログセンサ信号は、プロセッサ320での処理用にデジタル値に変換される。プロセッサ320は、モータ/コンプレッサ制御ループのある特定の要素を提供するようにソフトウェア命令を実行する。これについては、本明細書の後の部分で詳述する。プロセッサ320は、たとえば、汎用プロセッサまたはデジタル信号プロセッサDSPによって、実施してもよい。他の実施形態では、プロセッサ320の機能を実施することを、ファームウェアたとえば、EPROM内に記憶された命令で行なってもよいし、またはハードウェア装置たとえば、ASIC特定用途向け集積回路もしくはFPGAフィールドプログラマブルゲートアレイにおける等価なロジックとして、行なってもよい。プロセッサ320は、デジタル化されたセンサ信号および圧力測定値を、A/Dコンバータブロック338を介して受け取り値をRAM344用いて一時的に記憶してもよい、実施される制御プロセスたとえば、圧力制御または体積制御に基づいて、適切な速度制御値を決定する。また、プロセッサ320は、現在の転流状態が与えられると適切な転流制御信号を生成し、この転流制御信号のパルス幅を、速度制御値に基づいて変調する。三相インバータ330には、変調された転流制御信号が入力される。三相インバータ330によって、BLDCモータ304内の個々のステータコイルに対する駆動信号が生成される。これは前述の通りである。またシステムは、三相インバータブロック330に接続された電流制限回路334を含んでいてもよい。図4は、本発明の実施形態によるモータ/コンプレッサシステムの断面図を示す説明図である。この説明図では、そのモータ/コンプレッサシステムの基本的な内部コンポーネントを示している。この説明図において、モータ/コンプレッサシステムのBLDCモータ400端部には、以下のものが含まれている。センサPCボード410複数のアナログセンサ401A~D図6を参照を支持する、ロータシャフト416、ロータ402、磁石412ロータシャフト416のBLDC端部に取り付けられている、およびステータ414。ルーツブロワ端部には、トードベアリング418および422、インペラ430および428、シャフト416および426、ならびにギア424が含まれている。図5に、ギア424の機構BLDCモータ400と反対側のロータシャフト416の端部に設けられているを、より明瞭に示す。動作時、BLDCモータコントローラによって、ステータ414に電圧が印加されて、ロータ402が回転する。ロータ402の回転によって、ロータシャフト416が、第1のインペラ430を回転させる。またロータシャフト416は、ギア424も駆動する。ギア424自体は、ルーツブロワのシャフト426および第2のインペラ428を駆動する。インペラ430および428の動作によって、モータ/コンプレッサシステムの一方の側にあるポートを通って、空気がルーツブロワ内に取り入れられ、第2の反対側のポートから強制的に所望の圧力/流量で出される。磁石412がシャフト416の一方の端部で回転して、アナログセンサ401A~Dからセンサ応答が引き出される。センサ応答は、ロータ402の角速度を制御するために、BLDCモータコントローラのサーボループ図示せずにおいて処理される。ルーツブロワから、患者における正圧換気正の肺内圧を達成するために、適切なガス流量が送られる。一般に、機械的人工呼吸器が生成するガス流は、所望の体積を目標にして圧力は可変状態にするか、または圧力を制御して体積の変化はそのままにしておく。本発明の実施形態においては、各人工呼吸器モードは、その独自のサーボループが、内部モータ速度制御ループに関連づけられている。以下、種々の制御モードについて説明する。後述する種々のサーボループのコンポーネントは、ブロワアセンブリ自体において論理的に実施してもよいしたとえば、プロセッサ320によって実行されるソフトウェアとして、もしくはハードウェア回路として、またはコンポーネントを、ブロワアセンブリと通信する外部のプロセッサ図示せず上で実施してもよい。たとえば、一実施形態においては、プロセッサ320が、PCボード410上で流量および速度制御サーボを実施して、一方で圧力制御ロジックは、第2の人工呼吸器プロセッサが実施する。第2の人工呼吸器プロセッサは、ルーツブロワアセンブリの外にあるが、シリアルリンクを介してプロセッサ320と通信している。圧力制御モード圧力制御モードには、吸入サイクルの継続時間の間、吸気圧力を制御することが含まれる。このモードでは、ルーツブロワは、特定の波形または圧力プロファイルを得るように患者に流量を送る必要がある。図7に、圧力制御サーボモードの概略的な図を示す。例示したように、所望の圧力701を、患者の気道内で生じる実際の圧力703と比較して、誤差を出す。誤差は、ブロック710で補償されて、流量コマンドが生成される。ブロック710における補償には、回路たとえばPIDコントローラ比例積分微分コントローラおよび圧力-流量変換因子が含まれる。その後、流量コマンドは流量制御サーボ720に送られて、流量制御サーボ720からルーツブロワに、所望のガス流量を生成するように命令が出される。流量は、圧力要求を満足するのにどのくらいのガスが必要かによって変化する。流量サーボについては後述する。体積制御モード体積制御モードでは、吸気サイクルの間に患者の肺に所望の空気量が送られる。こうして、吸入の間、人工呼吸器は患者に所望のガス流量を送っている。図8は、本発明の実施形態による流量制御サーボを示す説明図である。例示したように、補償ブロック810において、流量コマンド801を実際の流量803と比較する。実際の流量803は、ブロワ特性関数830において、算出されたモータ速度と測定されたブロワ差圧240とを用いることによって、推定してもよい。特性関数830は、たとえば、既知のコンプレッサ速度および差圧においてコンプレッサ流量がどのくらいかを観察することによって、経験的に決定してもよい。流量誤差は、ブロック810において補償されて、BLDCモータ速度コマンドが生成される。ブロック810での補償には、比例、積分、および微分コントローラの任意の組み合わせたとえば、PIまたはPIDコントローラを組み込んだ回路が含まれていてもよい。その後、速度コマンドは、速度サーボ820に送られて、速度サーボ820からルーツブロワに、フロー要求を満足するために必要な所望のモータ速度を生成するように命令が出される。速度制御サーボ図9は、本発明の実施形態による速度制御サーボを示す説明図である。この説明図では、速度制御サーボは、以下のものを備えている。すなわち、コントローラ960、速度計算モジュール940、転流制御回路950、位置算出モジュール930、アナログデジタルコンバータADC回路920、パルス幅変調PWM発生器回路170、三相インバータ回路180、BLDCモータ910、およびアナログセンサ401A~Dである。コントローラブロック960では、所望のモータ速度すなわち速度コマンド101を、実際のモータ速度902と比較して、速度誤差を生成する。速度誤差を、適切に補償および積分して必要に応じて、PWM発生器170に対するデューティサイクルコマンドを生成する。PWM発生器170では、変調された制御信号が生成され、三相インバータ180は、この制御信号を用いて、BLDCモータ910のステータコイルを駆動する。本明細書では、転流回路についての説明は三相インバータに関して行なったが、本発明は、任意の数の転流位相、コイルおよび/またはロータ磁石を取り入れた任意の転流回路を用いて実行してもよい。BLDCロータ位置は、複数のアナログセンサたとえばアナログホール効果センサまたはAMRセンサ401A~Dを用いて測定される。一実施形態においては、アナログセンサから正弦および余弦信号直交信号が生成され、この信号からロータ角度位置を導き出してもよい。アナログセンサの出力は、ADCブロック920においてデジタル的な等価物に変換され、位置算出ブロック930において、デジタル化された正弦および余弦信号を用いてロータ角度位置が算出される。ADCブロック920のサンプリングレートは、最も高い所望の速度で適切な転流を実現するのに十分高い値であれば、どんな値に設定してもよい。直角位相センサの読み取り値は、連続的なアナログ信号であるため、ADCサンプリングレートは、ロータの角速度とは無関係に設定してもよく、サンプリングレートを、角速度の全範囲に亘って一定に維持することができる。最後に、算出された角度位置をブロック940において用いて実際のロータ速度を算出し、かつ、その角度位置を転流制御ブロック950において用いて転流制御信号をPWM発生器170へ送る。図10Aは、PCボード410の平面図であり、本発明の一実施形態により、アナログセンサ401A~401Dを、磁石412とロータシャフト416によって形成される軸とに関して、放射状に位置決めした様子を示している。磁石412は、ロータシャフト軸の中心に置かれていることが示されている。磁石412は、BLDCロータの先端に配置してもよいし、センサが磁束を検知することができるBLDCアセンブリの任意の他の箇所に配置してもよい。図10Aでは、磁石412の半径をRMで表わしている。4つのアナログセンサが、シャフト416の中心軸から等しい動径距離RSに位置決めされ、その軸の周りにほぼ90度だけ互いからずれている。90度の物理的なずれによって、対応する90度の相ずれがセンサ正弦曲線出力において得られる。図10Bは、ブロワアセンブリのBLDCモータおよび制御部分の側面図であり、アナログセンサ401A~401Dと磁石412との間の軸方向のずれを示している。磁石412は、ロータシャフト416の端部に取り付けられていることが示されており、アナログセンサ401A~401Dは、PCボード410に取り付けられている。各アナログセンサ表面から磁石412の表面までの軸方向のずれZは、センサ信号強度の減衰を防止するために最小限にされる一方で、所定の設計許容誤差内におけるハードウェアアライメントずれに起因する任意の接触または望ましくない摩擦効果を回避するのに十分な距離が維持されている。一実施形態においては、たとえば、Zは約0.052インチ1.3208ミリメートルである。図10Aの説明図に戻って、アナログセンサの出力の強度および特性は、磁石412の半径RMに対するアナログセンサの動径距離RS、またはより正確には、アナログセンサと磁石412の表面との間の絶対的な距離Z2RS-RM20.5に依存する。ほとんどのアナログセンサの特性は、RSがRMに近づくにつれて、センサ信号強度は強くなるが、信号品質は、出力信号の形状の点でそれほど理想的ではなくなるたとえば信号は、事実上、より四角形になる。逆もまた真である。すなわち、RMに対してRSが増加するにつれて、センサ信号の形状は改善されるが、信号強度は小さくなる。1つまたは複数の実施形態においては、最適な箇所は実験的に決定してもよい。一実施形態においては、たとえば、動径距離RSはほぼ0.17インチ4.318ミリメートルであってもよく、半径RMはほぼ0.09インチ2.286ミリメートルであってもよい。本発明の他の実施形態においては、ロータ角度位置の計算に用いることができるアナログ位置信号を得るのに適していれば、どんな数のセンサを用いてもよい。しかし、対向するセンサ対すなわち180度のずれを設けて、一方の対向センサの信号を他方から差し引くことによって、性能の優位性たとえば改善された信号対ノイズ比が得られる。センサまたはセンサ対が、90度以外の既知の量だけ互いからずれている実施形態においては、位置計算において位相差を考慮してもよい。図10Aの説明図では、仮定として、図示したような磁石412の位置がゼロ度を表わし、回転方向は反時計回りであり、センサ401Aおよび401Cの出力は、ロータ角度位置の正弦および負の正弦に、それぞれ近いとしている。センサ401Bおよび401Dの出力センサ401Aおよび401Cの出力からほぼ90度のずれは、ロータ角度位置の余弦および負の余弦に近い。センサ401Cの出力をセンサ401Aの出力から差し引き、センサ401Dの出力をセンサ401Bの出力から差し引くことによって、正弦および余弦信号が、各センサ信号単独の場合のほぼ2倍の振幅で得られる。さらに、正弦曲線のプロファイルにおける軽微なずれたとえば、磁石の極間の等しくない磁気的強度、またはロータシャフト軸の中心に対する磁石のわずかなミスアラインメントに起因するを、対向するセンサからの信号を組み合わせることによって小さくすることもできるし、相殺することもできる。図11Aは、BLDCロータが回転している間の図10Aの4つのアナログセンサのサンプル出力を示す説明図である。前述の説明に続いて、信号波形1102はセンサ401Aの出力を表わし、信号波形1104はセンサ401Cの出力を表わす。信号波形1108はセンサ401Bの出力を表わし、信号波形1106はセンサ401Dの出力を表わす。波形1104を波形1102から差し引くと、結果は信号1110となり、その信号1110は、正弦関数の特性と信号1104および1102の一方の場合の2倍の大きさとを有している。動作は差動的であるため、ほとんどの電気的または共通のモードノイズは、取り除かれる。同様な理由で、波形1106を波形1108から差し引くと信号1112が得られ、その信号1112は余弦関数の特性と信号1106および1108の一方の場合の2倍の大きさとを有する。図11Bは、磁石412をロータシャフト416の中心からある短い距離だけずらして、磁石のN極がS極よりもアナログセンサに近いところで回転するようにした状況の下で、波形1106、1108、および1112がどのように変更されるかを例示している。図示したように、波形1106および1108の正の部分は、N極の近いところでの回転によって増加している。波形1106および1108の負の部分は、逆の仕方で影響を受けており、大きさが小さくなっていることを示している。さらに両方の波形のゼロ交差は、位置がシフトしている。いずれかのセンサ信号を単独で用いて角度位置を決定すると、誤った結果となるであろう。しかし、波形1112が示すように、波形1106を1108から引くことによって実質的に正弦曲線の結果が得られ、大きさの歪みおよびゼロ交差のシフトが補正されている。ロータ角度位置の正弦および余弦が与えられたとして、実際のロータ角度位置は、種々の算出技術を用いて得てもよい。たとえばプロセッサ320において、角度位置の生成を、正弦および余弦信号の選択された商の逆正接に対応する角度位置関数を算出することによって、行なってもよい。逆正接関数の算出は、演算、微小角近似、多項式評価アプローチ、テーブル索引アプローチ、または種々の方法の組み合わせを用いて行なってもよい。多項式のアプローチには、各四分円における各信号に対する係数を生成および記憶することが含まれる。たとえば係数は、各四分円において既知のロータ角度位置に対して複数の信号測定値を得ることによって、そして最小2乗フィット近似を用いて係数を解くことによって、実験室において生成してもよい。たとえば係数の決定は、初期の装置校正プロセスの一部として行なってもよい。これについて図12のフローチャートに示す。このような校正プロセスの一実施形態により、ステータを転流してロータの一定の角速度を達成するステップ1200。これは、たとえばロータの角度位置測定としての機能を果たす単純なカウンタを用いることによって、行なってもよい。カウンタを、ステータコイルに対する駆動電流が、大きな初期値から小さな定常状態値に減少する間に、加速してもよい。こうすることによって、ロータがステータと同期化して安定することが可能となる。ロータが一定速度でスピンしている状態で、アナログセンサから読み取り値を得てもよいステップ1201。ステップ1202では、前述したように、対向するセンサからの読み取り値を組み合わせて、正弦曲線の波形1110および1112を得る。ステップ1203では、波形1110および1112の最小値および最大値を測定および記録することを、好ましくはしかし必ずしも必要ではないがロータの複数回転に亘って、行なってもよい。次に、これらの最小値および最大値を用いて、補償する必要があるセンサ値における任意のDCオフセットを決定してもよい。これらのDCオフセット値を、校正正弦曲線波形データを補償するために用いてもよく、また装置の通常動作中のセンサ波形データの補償で用いるために記憶してもよい。正弦曲線の波形に対してDC補償された読み取り値を得た後で、ステップ1204において、転流補正角度、すなわち磁石に対する位置とロータの同時位置との間の角度のずれ。一実施形態においては、正弦曲線のゼロ交差を用いて、転流補正角度を確認してもよい。たとえば、波形1110からのゼロ値を波形1112からの正の値と組み合わせると、磁石412に対するゼロ度の角度位置が示される。対応する転流角度カウンタから決定されるは、転流補正角度を表わす。製造中に、磁石とロータとの間の小さい位相のずれが起こることがあるため、この補正角度は必要である。ステップ1205では、センサ読み取り値とカウンタからの対応する実際の位置値とを用いて、回転の各四分円に対する係数を導き出してもよい。導き出した係数を、記憶して、四分円によってインデックス付けして、通常動作中の位置値を算出する際に用いる。以下、係数を得るために用いることができる一例の最小2乗フィットアプローチについて例示する。以下の一般的な最小2乗フィット方程式を仮定する。ここで、Lは係数たとえばロータ角度位置の算出に用いる多項方程式に3つの要素、正弦、余弦、およびバイアスが含まれる場合には、係数は3つであることが適切であるのベクトル、HおよびZはそれぞれ、測定されたセンサおよび位置データである。Lに3つの係数が含まれる場合には、Hは、既知の角度ロータ位置のそれぞれに対する正弦s、余弦c、および定数すなわち1を各行に含む行列であってもよい。Zは、既知の角度ロータ位置pのそれぞれを含む列ベクトルである。したがってH行列およびZベクトルは、以下に例示するようなものであってもよい。H行列およびZベクトルは、測定されたセンサおよび位置データの値が代入された後に、前述の最小2乗法フィット方程式を解くために用いられる。結果として生じる係数の列ベクトルL=[l1、l2、l3]各四分円または回転の他のサブセットに対して別個に導き出してもよいを、以下の多項方程式に適用して、任意のセンサ値対からロータ角度位置を得てもよい。係数l1、l2、l3を、メモリたとえばプロセッサ320のフラッシュメモリにおいて、記憶し、四分円によってインデックス付けしてもよい。ここで正弦_および余弦_は、個々のセンサ対からの出力である。なお係数の決定は、算出されたロータ角度位置が重なり合って、隣接する四分円となるように、行なってもよい。最小2乗法フィットを決定するプロセスは、たとえば、プロセッサ320において、プロセッサ320に直列に接続された他のプロセッサ上で実行される校正アプリケーションにおいて、またはプロセッサ320および他のプロセッサ外部もしくは内部の上で実行される校正アプリケーションの両方において、行なってもよい。図13は、本発明の実施形態による通常動作の間に用いられる位置および速度算出プロセスを示すフローチャートである。ステップ1300では、所望のサンプリングレートに基づいて、現在のサンプリング間隔の間、センサ読み取り値を得る。ステップ1301では、これらのセンサ読み取り値を、前述したように組み合わせるすなわち、対向するセンサの読み取り値に対して引き算を行なうことにより。また、ステップ1302では、DC補正校正プロセスの間に決定されるを、組み合わせた読み取り値に適用してもよい。現在位置は、ステップ1303において現在の四分円を確認することによって、およびステップ1304において適切な記憶された係数を検索することによって、センサ読み取り値から導き出される。現在の四分円は、一実施形態においては、組み合わせたセンサ読み取り値の符号を分析することによって、容易に確認してもよい。たとえば、読み取り値が両方ともが正であるときには、現在の四分円は、第1の四分円すなわち、ゼロ~90度である。ステップ1305では、現在の係数および組み合わせた読み取り値を用いて、角度位置の方程式を解き、算出された位置値を得る。ステップ1306では、転流補正角度を、算出された位置値に加えて、転流制御で用いるための実際の位置値を生成する。校正中に、補正角度を、四分円係数を導き出す前に位置値に適用した場合には、通常動作中に補正角度を再び適用する必要はない。その理由は、補正角度はすでに、導き出した係数内で考慮されているからである。ステップ1307において角速度を算出するステップ1307は好ましくは、ステップ1305の後に行なわれる。その理由は、転流補正角度は、速度算出には無関係であるからである。角速度の算出は、算出された位置値の差を取ることによって、たとえば、現在位置から以前のサンプリング間隔の記憶位置を差し引き、結果にサンプリング周波数を掛けることによって行なう。流量サーボからの速度コマンドが適切に規格化されているならば、位置の差にサンプリング周波数を乗算することは省いてもよい。次のサンプリング間隔において、位置および速度算出プロセスを、ステップ1300においてもう一度始める。他の実施形態においては、両方のセンサ対測定に対する可能な角度位置割当ての格子を用いることで、センサ信号の読み取り値に角度位置測定値を割り当てるためにルックアップテーブルを実施することが可能になる。こうして、読み取り値を割り当てられるかまたは無視してもよく、その結果、信号が、許容範囲にある角度位置に相当する限界の外にある場合には、更新が省かれる。テーブル索引実施形態では、妥当な座標の各対正弦および余弦に対して所定の角度位置を自動的に指定してもよいし、正弦および余弦データのいずれかを信用すべきではないときに位置更新を省略してもよい。こうして、テーブル索引を用いて位相角を算出することによって、正確度のために信用できない信号を除去することができ、ならびに商および逆の三角関数逆正接のわずかなリアルタイム算出が行なわれる。他の実施形態においては、角度位置算出プロセスは、全体にアナログドメインにおいて行なってもよい。このような実施形態においては、逆正接を算出する前にセンサ出力をデジタル形式に変換するために、ADC920の必要がなくなる。逆正接を小角度に対して近似することを、正弦および余弦信号のアナログ除算から得られる正接によって、行なってもよい。このようなアナログ除算は、アナログ乗数装置のフィードバック経路に乗算器を置くことによって、実施することができる。ロータ角度位置および速度を得た後で、位置および速度信号を、何らかの形式のローパスフィルタを用いてフィルタリングしてもよい。たとえば、無限インパルス応答IIRフィルタを用いてもよい。プロセッサのサンプリングレートと、どの程度の遅延ならば許容できるのかということと、BLDCモータの環境の電気的なノイズ特性とによって、適切なバンド幅が決まる。以上、BLDCモータ用の制御システムについて説明してきた。本明細書で説明した特定の実施形態は単に例示的なものであり、それによって本発明が限定されるものではない。本発明は、請求項と、請求項の均等物の完全な範囲とによって規定される。