(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-12
(45)【発行日】2024-01-22
(54)【発明の名称】位置と速度のフィードバック制御のためのシステム及び方法
(51)【国際特許分類】
G05D 3/12 20060101AFI20240115BHJP
G05B 11/36 20060101ALI20240115BHJP
【FI】
G05D3/12 305L
G05B11/36 501Z
【外国語出願】
(21)【出願番号】P 2019054804
(22)【出願日】2019-03-22
【審査請求日】2022-03-14
(32)【優先日】2018-03-23
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】500520743
【氏名又は名称】ザ・ボーイング・カンパニー
【氏名又は名称原語表記】The Boeing Company
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】キャメロン, ダグラス シー.
(72)【発明者】
【氏名】マーナ, ドウェイン シー.
【審査官】藤崎 詔夫
(56)【参考文献】
【文献】特開2012-110166(JP,A)
【文献】特開2011-164680(JP,A)
【文献】国際公開第2014/167808(WO,A1)
【文献】特開2017-127176(JP,A)
【文献】特開平03-246708(JP,A)
【文献】特開2006-158026(JP,A)
【文献】欧州特許出願公開第01667001(EP,A2)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 3/00- 3/20
G05B 11/00-13/04
(57)【特許請求の範囲】
【請求項1】
フィードバック制御回路(232)であって、
制御される構成要素(124)のための位置コマンド(2922)に基づき、また、前記制御される構成要素のための速度コマンド(2932)に基づいて、レート制限された位置コマンド(3034)を生成するように構成されたレートリミッタ回路(3118)と、
制御ゲイン(2926、2928)を誤差信号(3012)に適用して、調整された誤差信号(3014)を生成するように構成された誤差調整回路(3122、3124)であって、前記誤差信号は位置フィードバック(2924)及び前記レート制限された位置コマンドに基づき、前記位置フィードバックは前記制御される構成要素の位置(366、2002)を示す、誤差調整回路(3122、3124)と、
減衰回路であって、
速度フィードバックを微分して、微分された速度フィードバックを生成し、
前記微分された速度フィードバックに第2の制御ゲインを乗じて減衰値を生成し、
前記調整された誤差信号から前記減衰値を差し引くことにより、減衰された誤差信号を生成する
ように構成された減衰回路と、
前記
減衰された誤差信号に基づいて生成された電流コマンド(2940)を出力するように構成された出力端子(3130)と、
を備
える、フィードバック制御回路(232)。
【請求項2】
前記レート制限された位置コマンドを生成することは、前記制御ゲインを前記誤差信号に適用する前に、前記速度コマンドに基づいて前記位置コマンドを修正することを含む、請求項1に記載のフィードバック制御回路。
【請求項3】
前記位置コマンドは角度値を含み、前記速度コマンドは毎分回転数(RPM)値を含む、請求項1に記載のフィードバック制御回路。
【請求項4】
前記
減衰された誤差信号の積分に基づいて、前記電流コマンドを生成するように構成された出力回路(3126)を更に備える、請求項
1に記載のフィードバック制御回路。
【請求項5】
前記レート制限された位置コマンドから前記位置フィードバックを差し引くことに基づいて、前記誤差信号を生成するように構成された誤差信号生成回路(3120)を更に備える、請求項1に記載のフィードバック制御回路。
【請求項6】
第2の速度コマンド(2932)に基づいて、また、第2の位置コマンド(2922)とは独立に、導出位置コマンド(3132)を生成するように構成されたダイレクト速度回路(3112)を更に備え、第2の電流コマンド(2940)は前記導出位置コマンドに基づいて生成される、請求項1に記載のフィードバック制御回路。
【請求項7】
フィードバック制御のための方法(3800)であって、前記方法は、
制御される構成要素のための位置コマンドと前記制御される構成要素のための速度コマンドを受信すること(3802)と、
前記速度コマンドと前記位置コマンドに基づいてレート制限された位置コマンドを生成すること(3804)と、
前記制御される構成要素の位置を示す位置フィードバックを受信すること(3806)と、
調整された誤差信号を生成するため、前記位置フィードバックと前記レート制限された位置コマンドに基づく誤差信号に制御ゲインを適用すること(3808)と、
速度フィードバックを微分して、微分された速度フィードバックを生成することと、
前記微分された速度フィードバックに第2の制御ゲインを乗じて減衰値を生成することと、
前記調整された誤差信号から前記減衰値を差し引くことにより、減衰された誤差信号を生成することと、
前記
減衰された誤差信号に基づいて電流コマンドを出力すること(3810)と、
を
含む方法。
【請求項8】
前記速度コマンドと前記位置コマンドに基づいて、前記レート制限された位置コマンドを生成することは、
前記速度コマンドに基づいて閾値を生成することと、
前記位置コマンドの値を前記閾値まで低減して、前記レート制限された位置コマンドを生成することと、
を含む、請求項
7に記載の方法。
【請求項9】
前記位置フィードバックと前記レート制限された位置コマンドに基づいて、前記誤差信号を生成することを更に含み、前記誤差信号を生成することは、前記レート制限された位置コマンドによって示された位置から前記位置フィードバックによって示された前記位置を差し引くことを含む、請求項
7に記載の方法。
【請求項10】
前記制御ゲインを前記誤差信号に適用して、前記調整された誤差信号を生成することは、
比例ゲイン(2926)を前記誤差信号に適用することと、
積分ゲイン(2928)を前記誤差信号に適用することと、
を含む、請求項
7に記載の方法。
【請求項11】
モーター(124)と、
前記モーターに連結されたフィードバック制御回路(3102)とを備えるシステム(102)であって、前記フィードバック制御回路は、
前記モーターのための位置コマンドに基づき、また、前記モーターのための速度コマンド(2932)に基づいて、レート制限された位置コマンド(3034)を生成するように構成されたレートリミッタ回路(3118)と、
制御ゲイン(2926、2928)を誤差信号(3012)に適用して、調整された誤差信号(3014)を生成するように構成された誤差調整回路(3122、3124)であって、前記誤差信号は位置フィードバック(2924)及び前記レート制限された位置コマンドに基づき、前記位置フィードバックは前記モーターの位置を示す、誤差調整回路(3122、3124)と、
減衰回路であって、
速度フィードバックを微分して、微分された速度フィードバックを生成し、
前記微分された速度フィードバックに第2の制御ゲインを乗じて減衰値を生成し、
前記調整された誤差信号から前記減衰値を差し引くことにより、減衰された誤差信号を生成する
ように構成された減衰回路と、
前記
減衰された誤差信号に基づいて生成された電流コマンド(2940)を出力するように構成された出力端子(3130)と
を備
える、システム(102)。
【請求項12】
前記電流コマンドは、前記モーターによって生成されるトルクの量を示
し、前記電流コマンドは1つのフィードバックループによって生成される、請求項
11に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は概して、位置と速度のフィードバック制御及びジンバル式慣性計測装置に関する。
【背景技術】
【0002】
ジンバル式慣性計測装置は、ビークル(乗り物)の航法及び対象物の追跡に使用される。ジンバル式慣性計測装置は、ビークルの経路に沿ってセンサを配置するため、各々が1本の軸に沿って回転する複数のジンバルを含む。3個又は4個のジンバルなど、複数個のジンバルを使用することによって、ビークルの慣性はセンサによって複数の軸でモニタ可能で、慣性航法に使用できる。慣性航法は、推測航法によって、外部参照を必要とすることなく、移動体の位置、配向、速度を連続的に計算する。推測航法(又は演繹的航法)は、事前に決定された位置を用いてビークルの現在位置を計算すること、及び推定された速度と方位に基づいて当該の位置を進むことを含む。
【0003】
ジンバル式慣性計測装置は、複数のジンバルの各々を駆動し、ビークルの慣性を追跡するセンサを配置するモーターの位置を決定するため、リゾルバなどの追加のセンサを含む。リゾルバは、角度などの回転位置を決定するために使用されるアナログセンサである。リゾルバは励磁信号を受信し、デジタルサンプルに変換されるアナログ出力信号を生成する。デジタルサンプルは、モーターとジンバルの位置を決定するために使用される。出力アナログ信号から決定された位置出力は、アナログからデジタルへの変換中に、或いはデジタルサンプルから角度出力への処理によって、精度が低下することがある。加えて、ジンバルモーターの動作中の電流切り替えの干渉によってノイズや誤差が加わることがありうる。精度の低下及び誤差は、慣性航法中に時間と共に蓄積し、不正確なデータ又は航法をもたらしうる。
【0004】
任務又は設計要件に必要となるジンバル式慣性計測装置の精度又は帯域幅を高めるために、多くの場合、複雑な個別の解決策が用いられる。しかしながら、これらの解決策は一般的に、精度と帯域幅を同時に高めることはない。加えて、これらの解決策は、ビークルの設計を複雑にし、コスト、重量、及び容積を増大させる。飛行ビークル(航空機、宇宙船など)の場合には、重量及び容積はコストを大幅に増大させ、性能を低下させる。
【発明の概要】
【0005】
特定の実装では、装置は、モーターのドライブシャフトの粗い位置を示す粗い位置信号を出力するように構成された、粗いリゾルバを含む。装置はまた、モーターのドライブシャフトの微細な(細かい)位置を示す微細な位置信号を出力するように構成された、微細なリゾルバを含む。装置は更に制御回路を含む。制御回路は、粗いリゾルバからの粗い位置信号と微細なリゾルバからの微細な位置信号を受信し、粗い位置信号に基づいて、ドライブシャフトの初期位置を示す、初期位置出力を生成する。制御回路は更に、微細な位置信号に基づいて、ドライブシャフトのその後の位置を示す、その後の位置出力を生成するように構成されている。
【0006】
別の特定の実装では、回転位置を決定する方法は、粗いリゾルバからの粗い位置信号と微細なリゾルバからの微細な位置信号を受信することを含む。粗い位置信号は、モーターのドライブシャフトの粗い位置を示し、微細な位置信号は、モーターのドライブシャフトの微細な位置を示す。方法はまた、粗い位置信号に基づいて、ドライブシャフトの初期位置を示す、初期位置出力を生成することを含む。方法は更に、微細な位置信号に基づいて、ドライブシャフトのその後の位置を示す、その後の位置出力を生成することを含む。
【0007】
更に別の特定の実装では、非一過性のコンピュータ可読媒体は、プロセッサによって実行されると、プロセッサが粗いリゾルバからの粗い位置信号と微細なリゾルバからの微細な位置信号を受信するようにさせる命令を記憶する。粗い位置信号は、モーターのドライブシャフトの粗い位置を示し、微細な位置信号は、モーターのドライブシャフトの微細な位置を示す。命令によって更に、プロセッサは、粗い位置信号に基づいて、ドライブシャフトの初期位置を示す、初期位置出力を生成し、微細な位置信号に基づいて、ドライブシャフトのその後の位置を示す、その後の位置出力を生成する。
【0008】
特定の実装では、パルス幅変調制御回路は第1のトランジスタと信号生成器を含む。第1のトランジスタは、電源に連結された第1の端子と、制御される構成要素の第1の入力に連結された第2の端子を含む。信号生成器は、第1のトランジスタのゲートに連結された第1のノードを含む。信号生成器は、比較値と比較基準を受信し、比較基準に基づいて比較値とカウンタ値とを比べるように構成されている。カウンタ値に対して、比較基準を満たす比較値に応答して、信号生成器は、パルス幅変調された信号のパルスのパルスエッジを生成するため、制御信号を第1のトランジスタのゲートに送信するように構成されている。
【0009】
別の特定の実装では、システムはモーターと、モーターに連結されたパルス幅変調制御回路を含む。パルス幅変調制御回路は、パルス幅変調信号をモーターに出力するように構成されている。パルス幅変調制御回路は、第1のトランジスタと信号生成器を含む。第1のトランジスタは、電源に連結された第1の端子と、モーターの第1の入力に連結された第2の端子を含む。信号生成器は、第1のトランジスタのゲートに連結された第1のノードを含む。信号生成器は、比較値と比較基準を受信し、比較基準に基づいて比較値とカウンタ値とを比べるように構成されている。カウンタ値に対して、比較基準を満たす比較値に応答して、信号生成器は、パルス幅変調された信号のパルスのパルスエッジを生成するため、制御信号を第1のトランジスタのゲートに送信するように構成されている。
【0010】
更に別の特定の実装では、パルス幅変調の方法は、比較値と比較基準を受信することを含み、比較基準に基づいて比較値とカウンタ値を比べることを含む。方法は更に、カウンタ値に対して比較基準を満たす比較値に応答して、パルス幅変調信号のパルスのパルスエッジを生成するため、制御信号を第1のトランジスタのゲートに送信することを含む。
【0011】
特定の実装では、フィードバック制御回路は、制御される構成要素のための位置コマンドに基づき、また、制御される構成要素のための速度コマンドに基づいて、レート制限された位置コマンドを生成するように構成されたレートリミッタ回路を含む。フィードバック制御回路はまた、調整された誤差信号を生成するため、誤差信号に制御ゲインを適用するように構成された誤差調整回路を含む。誤差信号は位置フィードバックとレート制限された位置コマンドに基づいており、位置フィードバックは制御される構成要素の位置を示す。フィードバック制御回路は更に、調整された誤差信号に基づいて生成された電流コマンドを出力するように構成された出力端子を含む。
【0012】
別の特定の実装では、システムはモーターと、モーターに連結されたフィードバック制御回路を含む。フィードバック制御回路は、モーターのための位置コマンドに基づき、また、モーターのための速度コマンドに基づいて、レート制限された位置コマンドを生成するように構成されたレートリミッタ回路を含む。フィードバック制御回路はまた、調整された誤差信号を生成するため、誤差信号に制御ゲインを適用するように構成された誤差調整回路を含む。誤差信号は位置フィードバックとレート制限された位置コマンドに基づいており、位置フィードバックはモーターの位置を示す。フィードバック制御回路は更に、調整された誤差信号に基づいて生成された電流コマンドを出力するように構成された出力端子を含む。
【0013】
更に別の特定の実装では、フィードバック制御のための方法は、制御される構成要素のための位置コマンドと制御される構成要素のための速度コマンドを受信することを含み、また、速度コマンドと位置コマンドに基づいてレート制限された位置コマンドを生成することを含む。方法はまた、制御される構成要素の位置を示す位置フィードバックを受信することと、調整された誤差信号を生成するため、誤差信号に制御ゲインを適用することを含む。誤差信号は、位置フィードバックとレート制限された位置コマンドに基づいている。方法は更に、調整された誤差信号に基づいて電流コマンドを出力することを含む。
【0014】
特定の実装では、復調回路は、アナログデジタル変換器(ADC)に連結されるように構成され、かつ、複数のADC出力を受信するように構成されている入力端子を含む。複数のADC出力は、リゾルバ出力に基づいて生成される。復調回路はまた、複数のADC出力を整流するように構成された整流器を含む。複数のADC出力を整流することは、複数のADC出力の位相を保存する。復調回路は、整流された複数のADC出力に基づいて、リゾルバ出力に対応する復調振幅値を決定するように構成された振幅決定回路を含む。復調回路は更に、復調振幅値に基づいて、位置出力を生成するように構成された角度計算回路を含む。
【0015】
別の特定の実装では、システムは、リゾルバ、リゾルバに連結されたADC、及びADCに連結された復調回路を含む。復調回路は、復調リゾルバ出力を生成するように構成されており、ADCに連結されるように構成され、かつ、複数のADC出力を受信するように構成されている入力端子を含む。複数のADC出力は、リゾルバ出力に基づいて生成される。復調回路はまた、複数のADC出力を整流するように構成された整流器を含む。複数のADC出力の整流は、複数のADC出力の位相を保存する。復調回路は、整流された複数のADC出力に基づいて、リゾルバ出力に対応する復調振幅値を決定するように構成された振幅決定回路を含む。復調回路は更に、復調振幅値に基づいて、位置出力を生成するように構成された角度計算回路を含む。
【0016】
更に別の特定の実装では、リゾルバ出力を復調する方法は、ADCから複数のADC出力を受信することを含む。複数のADC出力は、リゾルバ出力に基づいて生成される。方法はまた、複数のADC出力を整流することと、複数のADC出力の位相を保存する複数のADC出力を整流することを含む。方法は、整流された複数のADC出力に基づいて、リゾルバ出力に対応する復調振幅値を決定することを含む。方法は更に、復調振幅値に基づいて、位置出力を生成することを含む。
【0017】
特定の実装では、ディザー回路は、ベース励磁信号の高次偶数高調波を生成するように構成された高調波信号生成回路を含む。ディザー回路はまた、高次偶数高調波及びベース励磁信号に基づいてディザ処理された励磁信号を生成するように構成された結合器(combiner)を含む。ディザー回路は更に、ディザ処理された励磁信号をセンサ装置に出力するように構成された出力端子を含む。
【0018】
別の特定の実装では、システムは、リゾルバ、リゾルバに連結されたデジタルアナログ変換器(DAC)、及びDACに連結されたディザー回路を含む。ディザー回路は、ディザ処理された励磁信号をDACに出力するように構成されている。ディザー回路は、ベース励磁信号の高次偶数高調波を生成するように構成された高調波信号生成回路を含む。ディザー回路はまた、高次偶数高調波及びベース励磁信号に基づいてディザ処理された励磁信号を生成するように構成された結合器を含む。ディザー回路は更に、ディザ処理された励磁信号をリゾルバに出力するように構成された出力端子を含む。
【0019】
更に別の特定の実装では、センサ装置のための励磁信号を生成する方法は、ベース励磁信号の高次偶数高調波を生成することを含む。方法は更に、高次偶数高調波と励磁信号との結合に基づいてディザ処理された励磁信号を生成すること、及び、ディザ処理された励磁信号をセンサ装置に出力することを含む。
【図面の簡単な説明】
【0020】
【
図2】慣性計測装置のシステムの例を示す図である。
【
図4C】デュアルスピードリゾルバの信号の例示的なグラフを示す。
【
図5】デュアルスピードリゾルバのリゾルバ出力を処理するためのフロー処理の例を示す図である。
【
図6】デュアルスピードリゾルバのリゾルバ出力を処理するためのロジック(logic)の例の全体像を示す論理図である。
【
図7】復調と角度推定のためのロジックの全体像を示す論理図である。
【
図8】電圧調整のためのロジックの例を示す論理図である。
【
図9】再帰的中央値解析のための再帰的中央値解析ロジックの例を示す論理図である。
【
図10】
図8の復調ロジックの例を示す論理図である。
【
図11】位相保存(phase preservation)による整流のためのロジックの例を示す論理図である。
【
図12】復調中に生成される例示的な信号の図である。
【
図13】
図4Bのリゾルバの信号の例示的なグラフを示す図である。
【
図15】復調のためのマスクされたデータと蓄積されたデータの例を示す図である。
【
図17】復調のためのアキュムレータ入力とアキュムレータ出力の例を示す図である。
【
図18】デュアルスピードリゾルバのリゾルバ出力の結合のためのロジックの例を示す論理図である。
【
図19】デュアルスピードリゾルバのドリフト修正器(drift corrector)のためのロジックの例を示す論理図である。
【
図20】
図2のリゾルバシステムによって推定される機械的角度とモーターの実際の角度を示す図である。
【
図22A】ディザ処理なしの励磁信号を用いるリゾルバ出力に基づいて決定された角度を示す図である。
【
図22B】ディザ処理なしの励磁信号によって生成されたリゾルバ出力に基づいて生成されたアナログデジタル変換器(ADC)出力を示す図である。
【
図23】ディザ処理された励磁信号の例を示す図である。
【
図24】ディザ処理された励磁信号に基づいて生成されたADC出力を示す図である。
【
図25】ディザ処理された励磁信号に基づいて決定された角度を示す図である。
【
図26】励磁信号生成のためのロジックの例を示す論理図である。
【
図27】リゾルバドライバ回路の例を示す回路図である。
【
図28】モータードライバ回路の例を示す回路図である。
【
図29】速度フィードバック及び位置フィードバックのためのカスケードフィードバックロジックの例を示す図である。
【
図30】速度と位置を結合したフィードバック制御のためのロジックの例を示す論理図である。
【
図31】ダイレクト速度コマンドモードを含む速度と位置を結合したフィードバック制御のためのロジックの例を示す論理図である。
【
図32】初期化モードを含む速度と位置を結合したフィードバック制御のためのロジックの例を示す論理図である。
【
図33】調整可能な比較基準によるパルス幅変調(PWM)動作の例を示す図である。
【
図34】調整可能な比較基準による2レーンPWM動作の例を示す図である。
【
図35】調整可能な比較基準及びデッドバンド制御によるPWMのためのロジックの例を示す論理図である。
【
図36】デュアルスピードリゾルバを用いて回転位置を決定する方法の例のフロー図である。
【
図37】パルス幅変調の方法の例のフロー図である。
【
図38】フィードバック制御の方法の例のフロー図である。
【
図39】復調リゾルバ出力の方法の例のフロー図である。
【
図40】センサ装置のための励磁信号を生成する方法の例のフロー図である。
【
図41】慣性計測装置を含む航空機の例を示すブロック図である。
【発明を実施するための形態】
【0021】
本書に開示した実装はジンバル式慣性計測装置を対象とする。ジンバル式慣性計測装置は、直線加速度及び角速度など、ビークルの慣性データを決定するため、加速度計及びジャイロスコープなどのセンサを含む。ジンバル式慣性計測装置では、慣性計測装置が多軸ジンバル装置の上に装着されている。ジンバル装置は、それぞれ対応するモーターを備えた複数のジンバルを含む。センサがビークルの経路に沿って配向されるように、モーターはジンバルを駆動及び配置するために使用される。ビークルの制御システムは、ビークルの慣性の変化に基づいてジンバルが移動するにつれて、センサからの出力に基づいてビークルの位置を追跡する。次に制御システムは、センサがビークルの更新された経路に沿って配向されるように、センサを調整(再調整)するため、ジンバル式慣性計測装置にコマンドを出力する。
【0022】
幾つかの実装では、ジンバル式慣性計測装置は、モーター(例えば、モーターのドライブシャフト)の位置、及びこれにより、センサが対応するジンバルに装着される位置を決定するためデュアルスピードリゾルバを使用する。デュアルスピードリゾルバは、それぞれ異なる「速度」を有する2つのリゾルバを用いて、モーターのドライブシャフトの位置を決定する。第1のリゾルバ(例えば、粗いリゾルバ)は、ドライブシャフトの速度と位置(例えば、絶対位置)に対応する第1の速度を有しうる。リゾルバの速度は、リゾルバの1回の機械的な回転によって生成される幾つかの電気的サイクル(例えば、正弦波又は余弦波)に対応する。特定の実装では、第1のリゾルバはドライブシャフトと同じ回転速度で駆動又は回転され、その結果、第1のリゾルバの電気的サイクルは、ドライブシャフトの機械的な回転に対応する。したがって、ドライブシャフトの絶対位置は第1のリゾルバによって決定可能である。
【0023】
第2のリゾルバ(例えば、微細なリゾルバ)は、第1の速度よりも大きく、ドライブシャフトの位置に対応する第2の速度を有する。例えば、第2のリゾルバは、リゾルバ(及びドライブシャフト)の1回の機械的回転に対して、複数の電気的サイクル(例えば、正弦波)を生成する複数の極(例えば、コイルのペア)を含みうる。代替的に、第2のリゾルバは、ドライブシャフトが1回転するごとに、複数の機械的回転を完了しうる。第1のリゾルバ(例えば、粗いリゾルバ)と比べると、第2のリゾルバ(微細なリゾルバ)は、開始位置(例えば、絶対開始位置)を決定できないという犠牲を払っているが高い精度を有している。第2のリゾルバはドライブシャフトの位置をより正確に決定できるが、ドライブシャフトが360度回転のどの象限にあるかを決定することができない。
【0024】
デュアルスピードリゾルバ(又はデュアルリゾルバ)は、ドライブシャフトの位置を決定するため、両方のリゾルバの出力を使用する。例えば、従来のデュアルスピードリゾルバでは、1つのリゾルバよりも精度を高めるため、両方のリゾルバの出力がカルマンフィルタに入力される。しかしながら、粗いリゾルバの出力は、微細なリゾルバよりも正確性が劣り、精度が低下する。粗い出力と微細の出力の両方を利用することによって、デュアルリゾルバの正確性と精度は、微細なリゾルバの精度を下回っている。(例えば、初期化処理中又は初期化期間中の)開始位置を決定するために粗いリゾルバ出力を使用し、また、その後の位置(例えば、初期化処理後又は初期化期間後の位置)を決定するために微細なリゾルバ出力を使用することで、デュアルスピードリゾルバの正確性と精度は従来のデュアルスピードリゾルバよりも高められる。このようなデュアルスピードリゾルバは、絶対開始位置を決定し、微細なリゾルの正確性と精度を有するように使用することができる。加えて、微細なリゾルバ出力は更に、粗いリゾルバの開始オフセット(誤差)を訂正するために使用することができる。しかも、本書に記載の他の方法は、デュアルスピードリゾルバの正確性と精度を更に高めるように結合することができる。
【0025】
上記で説明したように、リゾルバは励磁信号を受信し、それに応答して出力信号を生成する。励磁信号にディザー(例えば、ゼロミーンディザー)を加算することによって、リゾルバの速度(例えば、リゾルバの幾つかの極)、又は処理回路の帯域幅(例えば、リゾルバの出力のサンプリング周波数又はリゾルバ出力のビット数)を高めることなく、リゾルバ出力から決定された角度の精度は高められる。ゼロミーンディザーは、ベース励磁信号の中央振幅値を変えないノイズを含むか、これに対応している。加えて、ジンバルモーターの電流駆動切替信号で、ディザ処理された励磁信号を時間調整することによって、ディザ処理された励磁信号はノイズと干渉の少ない出力を生成することができる。したがって、リゾルバの速度又は処理回路の帯域幅を高めることなく、リゾルバ出力によって決定された信号の精度は高められる。
【0026】
上記で説明したように、リゾルバ出力はアナログデジタル変換器(ADC)によってデジタルサンプルに変換され、デジタルサンプルは、リゾルバの角度とドライブシャフトを決定するため、処理中に復調される。復調中、整流された信号を生成するため、デジタルサンプルは整流される。幾つかの実装では、デジタルサンプルは、励磁信号の位相が整流された信号内に保存されるように整流される。例えば、従来の復調器は、デジタルサンプルを整流するときに位相を保存するため、デジタルサンプルに励磁信号を乗じる。しかしながら、デジタルサンプルに励磁信号を乗じるとノイズが発生する。一例を挙げると、角度の正弦値の乗算は、正弦波のピーク間のデータの精度を低下させる。言い換えるならば、乗算はノイズや誤差を2乗することになる。
【0027】
デジタルサンプルを矩形波で整流することにより、正弦波のピーク間のデータ、すなわち、オフピーク電圧の信号対ノイズ比が改善される。しかも、励磁信号の位相に従って矩形波の符号を反転させることによって、余計なノイズを与えることなく、或いは信号対ノイズ比を低下させることなく、デジタルサンプルと励磁信号の位相は保持されうる。したがって、リゾルバの速度又は処理回路の帯域幅を高めることなく、リゾルバ出力によって決定された信号の精度は高められる。
【0028】
しかも、再帰的中央値解析とデータの一部のマスキングは、復調中の精度を高める。再帰的中央値解析は、精度を更に高めるため、入力デジタルサンプル及び復調器の出力振幅に適用されうる。例えば、復調器は、最後のn個の入力サンプルの中央値(中心値)を入力値として使用しうる。ここでnは1を超える任意の整数である。別の実施例として、復調器は、最後のm個の出力サンプルの中央値を出力しうる。ここでmは1を超える任意の整数である。追加的に又は代替的に、復調器は、3つの異なる信号の中央値を出力値として出力しうる。出力値は、リゾルバとドライブシャフトの角度を決定するために使用される。
【0029】
幾つかの実装では、復調器は、ノイズと干渉を取り除くためにデータの一部をマスクし、これにより更に、ジンバル式慣性計測装置の精度を高める。マスクされた部分は、ノイズの多いデータ(電流駆動の切替中に発生し、電流駆動干渉を含むデータ)、ピーク振幅間の遷移に対応するデータ、或いはこの両方を含む。したがって、復調は、励磁信号のピーク振幅近傍のデータを使用することによって、結果を改善する。追加的に又は代替的に、精度を更に高め、誤差を減らすため、復調出力は同期化された(励磁信号に同期化された)アキュムレータ出力に基づいている。例えば、電流駆動信号に時間的に調和している励磁信号にアキュムレータを同期化することによって、アキュムレータの出力は、電流駆動干渉の少なくとも一部をマスクすること、電流駆動干渉の影響を平均化すること、或いはその両方が可能で、これは精度と正確性の向上につながる。
【0030】
ジンバル式慣性計測装置はまた、ジンバルモーターを制御するため、フィードバック制御システムを含む。ジンバルモーターは通常、ダイレクトレートコマンド又は位置コマンド及びレートコマンドによって統制又は制御される。これらのコマンドは、ユーザー入力又はビークルのコントローラ(例えば、フライトコンピュータ)から受信される。フィードバック制御システムは一般的に、位置コマンドとレートコマンドを処理するため、また、フィードバックを提供するため、_カスケード型(例えば、マルチループ)トラッキング制御を使用する。レートと位置を結合したフィードバックシステム(例えば、シングルループフィードバックシステム)を使用することにより、更に高い精度を実現するため、軽く減衰されたジンバルモーターをタイトなレートゲインで使用することができる。
【0031】
ジンバルモーターを駆動するため、パルス幅変調器(PWM)が使用される。PWM制御は、フィードバック制御システムに基づいて、ジンバルモーターの起動を制御する。例えば、ジンバルモーターが3相モーターに対応するとき、PWMは、フィードバック制御システムによって生成された電流コマンドに基づいて、ジンバルモーターへの電力供給を制御する。一例を挙げると、電流コマンドはデューティサイクル値又は信号に変換される。例えば、電流コマンドは、モーターに供給される電流の量を示す。デューティサイクル値(例えば、50パーセント)は、電源又はモーターの電流量及び電圧に基づいて決定される。デューティサイクル信号(例えば、設定点信号)は、デューティサイクル値を示す。一例を挙げると、8ビットのデューティサイクル信号では、どの比較条件を使用するかに応じて、31又は32の値は50パーセントのデューティサイクルを示しうる。デューティサイクル信号はパルスを生成するPWMに送られる。パルスの幅はジンバルモーターに供給される電力を制御する。
【0032】
PWMは、カウンタ値を(50パーセント、51パーセントなどのデューティサイクル値を示す)比較値と比べることによって、パルスを生成する。例えば、PWMは、カウンタ値が比較値よりも大きいか小さいかを決定することによって、パルスを生成する。一例を挙げると、PWMは、カウンタ値が比較値よりも大きいときには、第1のパルスエッジを生成(例えば、トランジスタのゲートを作動)し、カウンタ値が比較値を下回る(超えない)ときには、第2のパルスエッジを生成する(例えば、トランジスタのゲートを停止する)。従来のPWMでは、制御調整の精度を上げる又は粒度(granularity)を下げるためには、PWM構成要素の動作周波数を高めることが必要である。
【0033】
調整可能な比較基準を利用することにより、PWMの制御精度は高めることが可能で、PWM構成要素の動作周波数を高めることなく、制御の粒度を下げることができる。調整可能な比較基準は、設定点信号によって示されうる。調整可能な比較基準は、「大なり又は等しい」条件、或いは「小なり又は等しい」条件などの他の比較条件又はルールを含む。PWMは、三角波であるカウンタ信号を生成するアップダウンカウンタを利用する。したがって、1つのカウンタ値(クロックパルス)によって比較値を調整するときには、PWMは、第1のパルスを1クロックパルス早く生成し、第2のパルスを1クロックパルス遅く生成することで、パルス幅を2パルス分大きくする。しかしながら、比較基準を調整するときには、PWMは、第1のパルスを1クロックパルス早く生成し、第2のパルスを同時に生成することで、パルス幅を1パルス分大きくする。したがって、調整可能な比較基準を使用することにより、PWMは、PWM構成要素の動作周波数を高めることなく、モーターの制御調整の精度を高め、粒度を低下させた。
【0034】
上述の一又は複数の改良を利用することにより、ジンバル式慣性計測装置は、従来のジンバル式慣性計測装置よりも小さな実装面積で、より高い精度を提供することができる。しかも、ジンバル式慣性計測装置は、高いハードウェア能力を必要とすることなく、高い精度を実現することができる。したがって、ジンバル式慣性計測装置によって、精度が向上したことで、ビークルは慣性航法を安全に行うことができる。しかも、ジンバル式慣性計測装置を使用するビークルは小型軽量化されうるため、コスト低減につながる。
【0035】
図1は、ジンバル式慣性計測装置など、慣性計測装置102の一例を示す概略
図100である。幾つかの実装では、
図2及び
図41に示したように、慣性計測装置102はビークル(例えば、船舶、潜水艦、航空機、ロケット、衛星、宇宙船など)に含まれ、これらの制御システムに連結されている。
【0036】
慣性計測装置102は、インバータ112とジンバル装置114を含む。インバータ112は、インバータ電子回路とファームウェアを含む。インバータ112は、直流(DC)電力を受け取り、DC電力を交流(AC)電力に変換し、AC電力をジンバル装置114に供給するように構成されている。例えば、インバータ112は、ジンバル装置114のモーター124の動作を制御するため、電力を提供するように構成されている。インバータ電子回路は、プロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、或いはこれらの組み合わせを含むか、対応しうる。ファームウェアは、インバータ電子回路の動作を制御するように構成されている。幾つかの実装では、インバータ電子回路とファームウェアは、
図2のPWM242のようなPWMを含むか、対応し、モーター124への電力供給(例えば、電流駆動切替)を制御するように構成されている。
【0037】
ジンバル装置114は、多軸ジンバル又はジンバル122の組を含むか、対応している。ジンバル装置114は、センサ128をビークルの経路に向けるように構成されている。幾つかの実装では、ジンバル装置114は3軸ジンバルを含む。特定の実装では、3軸ジンバルはボール(例えば、第1の軸のジンバル122)、内側シェル(例えば、第2の軸のジンバル122)、及び外側シェル(例えば、第3の軸のジンバル122)を含む。他の実装では、ジンバル装置114は、2つのジンバルシステム又は4つのジンバルシステムを含む。
【0038】
ジンバル装置114はモーター124を含む。各モーター124は、対応するジンバル122に装着されたセンサ128をビークルの経路に一致するように配向するため、ジンバル装置114の対応するジンバル122の位置を駆動する、又は制御するように構成されている。モーター124は、ブラシ付き電気モーター又はブラシレス電気モーターなどの電気モーターを含むか、これに対応しうる。
【0039】
ジンバル装置114は複数のリゾルバ126を含む。各リゾルバ126は、対応するジンバル122に装着されたセンサ128が、ビークルの経路に一致するように配向可能であるように、ジンバル装置114の対応するジンバル122の位置を決定するように構成されている。例えば、各リゾルバ126は、対応するモーター124のドライブシャフトに連結されており、各リゾルバ126の出力は、ドライブシャフトの位置、及びその結果として、対応するジンバル122及びセンサ128の組の位置を決定するために使用される。
【0040】
センサ128は、加速度計132とジャイロスコープ134とを含む。加速度計132は直線加速度を決定するように構成され、ジャイロスコープ134は角速度を決定するように構成されている。例えば、加速度計132とジャイロスコープ134は、直線加速度と角速度、或いは直線加速度の変化と角速度の変化を示すセンサデータを生成する。幾つかの実装では、各ジンバル122はセンサ128の組を含む。センサ128のそれぞれの組は、一又は複数の加速度計132、及び一又は複数のジャイロスコープ134を含む。
【0041】
幾つかの実装では、センサ128は更に磁力計を含む。特定の実装では、ジンバル装置114の各ジンバル122は更に磁力計を含む。磁力計は、磁場の方向、強度、又は相対的変化を検出するように構成されている。磁力計の出力は、ビークルの機首方向及び/又は位置を決定するために使用されうる。
【0042】
ビークルの動作中、ビークルは方向(例えば、経路、機首方向、又はコース)を変更することがある。例えば、ビークルは、第1の方向(例えば、元の方向)から第2の方向(例えば、更新された方向)に方向を変えることがある。第2の方向へのビークルの方向変更に応答して、慣性計測装置102は、ジンバル122に装着されたセンサ128を第2の方向(例えば、ビークルの現在の経路又は機首方向)に配向する(例えば、向ける)ように、ジンバル装置114のジンバル122を配置(例えば、再配置)する。慣性計測装置102は、ビークルが第1の方向から第2の方向へ変化したとき、センサ128によって生成されるセンサデータに基づいて、ジンバル装置114のジンバル122を配置する。
【0043】
ビークルはその方向を再び変更することがある。例えば、ビークルはその方向を第2の方向から第3の方向へ変更しうる。ビークルの2回目の方向変更に応答して、慣性計測装置102は、ジンバル122に装着されたセンサ128を第3の方向(例えば、ビークルの現在の経路)に配向する(例えば、向ける)ように、ジンバル装置114のジンバル122を配置(例えば、再配置)する。慣性計測装置102は、ビークルが第2の方向から第3の方向へ変化したとき、センサ128によって生成されるセンサデータに基づいて、ジンバル装置114のジンバルを配置する。上述の実施例は方向の変化を利用しているが、ジンバル装置114は、ビークルの慣性の任意の変化(同一の方向又は機首方向に沿った速度の変化など)を検知可能で、慣性計測装置102は、ビークルの慣性の変化に応答してジンバル装置114を配置することができる。慣性計測装置102及びその構成要素は、以下の図に関して更に説明される。
【0044】
図2は、
図1の慣性計測装置102のシステムの実施例のダイアグラム200を示す。ダイアグラム200では、わかりやすくするため、ジンバル装置114は示されていない。
図2に示した具体的な実施例では、慣性計測装置102は、励磁信号生成システム202、リゾルバシステム204、及び制御システム206を含む。これらのシステム、又はそのサブシステムの各々は、以下の図でより詳細に説明されるように、慣性計測装置102の機能を単独で、また、他のシステムと組み合わせて改善する。しかも、慣性計測装置102は、
図1を参照して説明されるインバータ112及びモーター124を含む。
【0045】
慣性計測装置102及びその構成要素は、ビークルの他の機器に連結されうる。
図2に示したように、慣性計測装置102及びその構成要素は、電源252とフライトコンピュータ254に連結されている。幾つかの実装では、電源252は、バッテリ又は発電機など、ビークルのDC電源に対応する。他の実装では、電源252は、例えば、内蔵バッテリとして慣性計測装置102に含まれてもよい。フライトコンピュータ254は、ユーザー入力に反応して、又は自律的にビークルのコース又は方向を変えるなど、ビークルを制御するように構成された飛行制御コンピュータ(FCC)又はガイダンスシステムを含むか、対応しうる。
【0046】
励磁信号生成システム202は、励磁信号を生成し、励磁信号をリゾルバシステム204に出力するように構成されている。励磁信号は、
図4に関して更に説明されるように、リゾルバ126が、対応するモーター124のドライブシャフトの位置を示す信号を生成するように構成されている。
【0047】
励磁信号生成システム202は、ディザー生成器212及び座標系214を含む。ディザー生成器212は、ディザ処理された励磁信号を生成するため、ディザーを生成して、励磁信号(ベース励磁信号)に加算するように構成されている。
図22~
図29を参照して更に説明されるように、ディザ処理された励磁信号は、より精度の高い復調と、より精度の高いジンバル/モーター制御を可能にし、これにより、センサ出力は向上し、慣性計測装置102の精度は高くなる。
【0048】
調整された励磁信号(又は、調整されたディザ処理された励磁信号)を生成するため、座標系214は、励磁信号(又は、ディザ処理された励磁信号)をモーター124の電流駆動切替に揃えるように構成されている。一例を挙げると、モーター124に電力を供給するトランジスタのオンオフ切替は、それぞれ正のスパイクと負のスパイクを発生させる。各波の間に、オフからオンへの遷移とオンからオフへの遷移が同数となるように、励磁信号の波は電流駆動切替に揃えられて(例えば、オフセットされて)もよい。更に、電流駆動切替は励磁信号の波のピーク振幅からオフセットされてもよい。揃えられた励磁信号は、リゾルバ出力のノイズとコンタミネーションと減らし、これによって、センサ出力は向上し、慣性計測装置102の精度は高くなる。
【0049】
リゾルバシステム204は、励磁信号に応答するモーター124のドライブシャフトの位置を示すリゾルバ出力を生成するように構成されている。リゾルバ出力は、ADCによってデジタルサンプルに変換され、ドライブシャフトの位置(角度)を決定するように処理されたアナログ信号である。リゾルバシステム204は、リゾルバ126、復調システム222、及びデュアルリゾルバ結合システム224を含む。
【0050】
復調システム222は、
図7~
図17を参照して更に説明されているように、ADCによって出力されたデジタルサンプルを復調するように構成されている。幾つかの実施形態では、復調システム222は、電流駆動切替及びその他の干渉によって引き起こされるスパイクなど、復調システム222へのデジタルサンプル入力でのスパイクを減らす又は除去するため、再帰的中央値解析を実行する。追加的に又は代替的に、復調システム222は、復調システム222の復調出力でのスパイクを減らす又は除去するためのアキュムレータを含む。アキュムレータはまた、復調出力でのスパイクを減らす又は除去するため、再帰的中央値解析及びノイズの多いデータのマスキング(例えば、フィルタ処理)を実行しうる。
【0051】
デュアルリゾルバ結合システム224は、
図18と
図19を参照して説明されているように、ドライブシャフトの位置を決定するため、復調出力に基づいて角度の推定値を生成し、各リゾルバからの角度推定値を結合するように構成されている。デュアルリゾルバ結合システム224は、初期化処理(例えば、初期化モード)中に、ドライブシャフトの開始位置を決定するため、粗いリゾルバを使用する。開始位置は、絶対値でのドライブシャフトの開始位置(0度から360度)に対応している。デュアルリゾルバ結合システム224は、初期化処理後のドライブシャフトのその後の位置を決定するため、より正確で精密な微細なリゾルバ出力を使用する。幾つかの実装では、デュアルリゾルバ結合システム224は、ドリフトを補正するためのドリフト修正器を含む。ドリフト修正器は、粗いリゾルバによって決定される開始位置の初期誤差(オフセット)を補正するため、また、微細なリゾルバ出力の積分誤差を補正するため、微細なリゾルバ出力を使用しうる。
【0052】
制御システム206は、フィードバック制御システム232を含む。フィードバック制御システム232は、フライトコンピュータ254から飛行制御入力を受信し、リゾルバシステム204から位置フィードバックを受信し、また、リゾルバシステム204から速度フィードバック(例えば、毎分回転数(RPM)のフィードバック)を受信するように構成されている。位置フィードバックはモーター124の位置(角度)を示し、速度フィードバックは、RPM単位でのモーターのレートなどを示す。
【0053】
飛行制御入力は、速度コマンド(例えば、RPMコマンド)、位置コマンド、或いはその両方を含む。フィードバック制御システム232は、
図30及び
図31を参照して更に説明されているように、飛行制御入力、位置フィードバック、及び速度フィードバックに基づいて、電流コマンドを生成する。制御システム206は、電流コマンドをモーター124の制御に使用されるデューティサイクルの設定又は値に変換する。幾つかの実装では、デューティサイクル設定は、比較値と比較基準を示す設定点信号によって示される。
【0054】
インバータ112は、調整可能な比較基準を適用するように構成されたPWM242を含む。PWMは、
図33~
図35を参照して説明されているように、比較値と一又は複数の比較基準を受信し、比較値と一又は複数の比較基準に基づいて、パルス幅変調信号のパルスを生成するように構成されている。パルス幅変調信号は、制御の精度を上げるか粒度を下げ、電源252からモーター124へより正確に電力を供給するために使用される。
図2の慣性計測装置102の動作は、
図3を参照して説明される。
【0055】
図3は、慣性計測装置102の動作の例を示すダイアグラム300である。ダイアグラム300は慣性計測装置102のシングルモーター124の動作に対応し、ジンバル装置114の特定のジンバル122(モーター124に対応する)のセンサ128を位置決めする。
図3では、クロスハッチング部分は、相互に時間調整された動作又はステップを表している。
図27及び
図28を参照して更に説明されるように、時間調整は、同じクロック又はカウンタを使用することによって、2つ以上のクロック又はカウンタをオフセットすることによって、或いはこれらを結合することによって実現することができる。
【0056】
慣性計測装置102の動作中、励磁信号生成システム202はディザ処理された励磁信号352を生成し、ディザ処理された励磁信号を慣性計測装置102の他の構成要素(一又は複数のクロスハッチングされた構成要素など)と調和させ、デジタルアナログ変換器(DAC)310にディザ処理された励磁信号352を提供する。DAC310はディザ処理された励磁信号352をアナログ信号に変換し、デュアルスピードリゾルバ312の各リゾルバ342、344にアナログディザ処理された励磁信号352を提供する。例えば、デュアルスピードリゾルバ312は、1スピードリゾルバと16スピードリゾルバを含む。各リゾルバ342、344は、差動電圧出力(differential voltage output)354などの出力を生成する。例えば、
図3に図解したように、粗いリゾルバ342は差動電圧出力354A(すなわち、粗い位置を示す粗い位置信号)を出力し、微細なリゾルバ出力は差動電圧出力354B(すなわち、微細な位置を示す微細な位置信号)を出力する。
【0057】
差動電圧信号356を生成するため、差動電圧出力354は、対応する差動電圧センサ314、316によって測定される。差動電圧センサ314、316によって生成された差動電圧信号356は、対応するADC318、320によってサンプリングされる。ADC318、320は、慣性計測装置102の電圧バイアスを補正する電圧調整回路322、324に、(ADC出力358と称される)電圧値のデジタルサンプルを出力する。復調出力362を生成するため、調整された電圧値360は、復調システム222によって復調される。角度推定回路326は、復調出力362から両リゾルバに対して角度推定値364を生成する。角度推定値364は、復調出力362に基づいて、モーターの初期位置及びその後の位置など、モーターの推定位置366を生成するために使用される。一又は複数の推定位置366は、モーターの推定RPM368を決定するために使用される。更に、推定位置366は、モーター124を考慮して、例えば、整流及びサーボオフセットを考慮して調整(ゼロ点調節(tared))されうる。推定位置366を調整(ゼロ点調節)することによって、磁気的なローター位置及び機械的なローター位置、例えば、ゼロ点調節された位置出力などが生成される。推定RPM368は、磁気的なローター位置及び機械的なローター位置に更に基づいて決定されうる。モーター124の推定位置366及び推定RPM368は、フィードバックとして、すなわち、モーター124を制御するための位置フィードバック及びRPMフィードバックとして使用されるフィードバック制御システム232に提供される。
【0058】
フィードバック制御システム232は、フライトコンピュータ254から、位置コマンド及びRPMコマンドなどのコマンド370を受信する。フィードバック制御システム232は、位置コマンド及びRPMコマンドに基づいて、レート制限された位置コマンドを生成する。フィードバック制御システム232は、レート制限された位置コマンド、位置フィードバック、及びRPMフィードバックに基づいて、電流コマンド372を生成する。電流コマンド372は、トルクコマンドに対応しうるか、モーター124のトルク量を示しうる。電流コマンド372は、デューティサイクル値374を生成するため、電流トラッカ330に提供される。デューティサイクル値374は、2つの位相参照フレーム(例えば、ダイレクトと直角位相の2つの位相参照フレームで、直角位相はトルクに対応している)を単位としうる。逆Park/Clark変換332は、デューティサイクル値374を3相モーター用の一又は複数のデューティサイクル設定376(例えば、3相モーターのA、B、及びCのレーン(位相)を単位とする)に変換するため、デューティサイクル値374に適用可能である。一又は複数のデューティサイクル設定376(例えば、設定点信号)は、PWM242に送信される。
【0059】
PWM242は一又は複数のデューティサイクル設定376を受信し、各デューティサイクル設定376は比較値と2つの比較基準を示している。PWM242は、各レーン(A、B、及びC)に対して1つのデューティサイクル設定376を受信してよく、或いは特定のレーンに対して1つのデューティサイクル設定376を受信し、受信したデューティサイクル設定376に基づいて他の各レーンに対してデューティサイクル設定376を生成してもよい。PWM242は、各レーンの2つの比較基準に基づくカウンタ値と比較値との比較に基づいて、インバータ112のトランジスタ336(金属酸化物半導体電界効果トランジスタ(MOSFET))のゲートドライバ334を制御する。
【0060】
PWM242はパルス幅変調信号378を生成する(或いは、ゲートドライバ344に生成させる)ように構成されている。PWM242は、各レーンに対してパルス幅変調信号378のパルス(各比較基準に対するパルス)を生成し、当該パルスはトランジスタ336を始動及び停止(すなわち、電流駆動切替)する。ゲートドライバ334を始動することによって、PWM242は、電源252からモーター124への電力供給を制御する。PWM242とインバータ112は、電源252からのDC電力を3相AC電力信号380に変換し、モーター124の制御の精度を高める。
【0061】
図4A~
図4Cは、リゾルバの例示的な動作を示している。
図4Aは、トランス402、磁心の周囲に巻かれたワイヤの2つのコイル412、414(「巻き線」と称される)の実施例のダイアグラム(図)を示す。入力コイル412に印加される電流の変化は、出力コイル414の位置に変化する磁束と変化する磁場を作り出す。出力コイル414の位置で変化する磁場は、出力コイル414に電圧を誘導する。リゾルバは、回転可能なトランスを用いて動作し、誘導電圧を生成する。
【0062】
図4Bは、リゾルバ404の一実施例のダイアグラムである。リゾルバ404は、回転構成要素の回転位置を決定するように構成されたアナログセンサである。リゾルバ404は能動的センサである。すなわち、
図3のディザ処理された励磁信号352などの励磁信号を受信し、出力信号を引き起こす(誘導する)。
【0063】
リゾルバ404は、回転可能なトランスを形成する3つのコイル422~426を含む。リゾルバ404は、回転可能な一次コイル422(第1のコイル)と2つの二次コイル424、426(正弦波コイルと余弦波コイル)を含む。二次コイル424、426は、極のペア(例えば、2n個の極)を含むか、極のペアに対応しうる。各極は他の極から角度的に(例えば、90度だけ)オフセットされている。極の各ペアは、正弦波出力を提供するように構成された1つの極と、余弦波出力を提供するように構成されたもう1つの極を有する。一次コイル422が回転すると、一次コイル422は励磁信号352を受信し、二次コイル424、426に電圧を誘導する。二次コイル424、426の各々は、
図3の差動電圧出力354などの差動出力を出力しうる。二次コイル424、426の電圧間の比率は、(モーター124の角度を示す)リゾルバ404の角度430を表す。
図4Bのリゾルバ404は、2極リゾルバであり、単一速度リゾルバで、例えば、
図3の粗いリゾルバ342である。
【0064】
マルチスピードリゾルバの場合、マルチスピードリゾルバ(例えば、微細なリゾルバ344)は、マルチスピードリゾルバ(及びトラックされる構成要素)の1回転当たりの電気的サイクル数が高くなっている。例えば、マルチスピードリゾルバは多極リゾルバであってよく、一次コイル422(及びトラックされる構成要素)の1回の機械的回転に対してより多くの電気的サイクルを生成するため、余分の極(コイル)のペアがリゾルバ404に追加されうる。別の実施例として、マルチスピードリゾルバの一次コイル422は、トラックされる構成要素の1回の機械的回転が、一次コイル422の1回以上の回転を引き起こすように、トラックされる構成要素に対して調整されうる。
【0065】
図4Cは、
図3のデュアルスピードリゾルバ312の信号の例示的なグラフ462~468を示す。
図4Cのグラフ462~468の各々は、同じ時間間隔に対応し、これらはデュアルスピードリゾルバ312のリゾルバ342、344の部分的な回転に対応している。第1のグラフ462は、リゾルバ342、344の両方に供給される時間間隔に渡る励磁信号452(AC信号)の電圧を示している。
図4Cに示したように、励磁信号452は2442Hzの周波数を有する。他の実装では、励磁信号は、
図3のディザ処理された励磁信号352や
図23に描かれているディザ処理された励磁信号352などのディザ処理された励磁信号である。励磁信号452(ベース励磁信号)は、例示を目的として
図4に描かれている。
【0066】
第2のグラフ464は、時間間隔に渡る粗いリゾルバ342(例えば、リゾルバ404)の正弦二次コイル(sine secondary coil)424の電圧出力を示している。第3のグラフ466及び第4のグラフ468は、時間間隔に渡る微細なリゾルバ344の電圧出力を示している。
図4Cに示されているように、微細なリゾルバ344は16スピードリゾルバで、第3のグラフ466は正弦二次コイル424の電圧出力を示し、第4のグラフ468は微細なリゾルバ344の余弦二次コイル(cosine secondary coil)426の出力電圧を示している。第2のグラフ464における粗いリゾルバ342の正弦二次コイル424の電圧出力と比較して、第3のグラフ466における微細なリゾルバ344の正弦二次コイル424の電圧出力は、時間間隔に渡ってより高い電圧、より高いサイクル周波数、及び完全な多重電気サイクル(complete multiple electrical cycles)を有する。第3のグラフ466における微細なリゾルバ344の正弦二次コイル424の電圧出力と比較して、第4のグラフ468における余弦二次コイル426の微細なリゾルバ344の電圧出力は、同じサイクル周波数を有するが、第3のグラフ466に対してオフセットされている(例えば、位相がずれている)。第4のグラフ468における微細なリゾルバ344の余弦二次コイル426の電圧出力はまた、第1のグラフ462の励磁信号452からオフセットされている。リゾルバ出力の処理、例えば、復調と角度の結合は、
図5~
図21を参照して説明されている。リゾルバ404に対する励磁信号の生成は、
図22~
図28を参照して説明されている。
【0067】
図5は、
図3のデュアルスピードリゾルバ312のリゾル出力を処理するための処理フローの実施例を示すダイアグラム500である。
図5に示されているように、リゾルバシステム204は2つの処理チェーン502、504を含み、それぞれがデュアルスピードリゾルバ312の各リゾルバに対応している。処理チェーン502、504は、ADC318、320、復調回路514、524、及び角度計算回路516、526を含む。各処理チェーン502、504の出力は、出力回路532に入力される。
【0068】
図5に示したように、出力回路532は、角度結合回路542及びドリフト修正回路544を含む。モーターのドライブシャフトの位置は、角度結合回路542とドリフト修正回路544からの出力に基づいて決定されうる。
【0069】
動作中、
図3の粗いリゾルバ342(例えば、第1のリゾルバ又は1スピードリゾルバ)は、第1のADC318の入力に粗い位置信号を出力し、
図3の微細なリゾルバ344(例えば、第2のリゾルバ又はマルチスピードリゾルバ)は、第2のADC320の入力に微細な位置信号を出力する。
図5に示した実施例では、ADC318、320は
図3の差動電圧信号356を受信する。特定の実装では、微細な位置信号は16スピードである。粗い位置信号と微細な位置信号は、アナログの正弦波と余弦波を含む。特定の実装では、粗い位置信号と微細な位置信号はそれぞれ、差動正弦波信号と差動余弦波信号を含む。
【0070】
ADC318、320は、リゾルバのアナログ出力をデジタルサンプルに変換する。ADC318、320によるデジタルサンプル出力は、対応する復調回路514、524によって受信される。復調回路514、524は、デジタルサンプルを復調して、正弦波と余弦波の振幅を生成する。特定の実装では、振幅は符号の情報を含み、すなわち、「符号付け」されており、サンプルが正であるか負であるかを示す。復調の詳細は、
図6~
図17を参照して更に説明される。
【0071】
復調回路514、524の振幅出力は、対応する角度計算回路516、526によって受信される。角度計算回路516、526は、正弦波と余弦波の振幅を用いて、ドライブシャフトの推定角度を計算する。振幅が符号情報を含む特定の実装では、振幅は符号情報を含み、角度計算回路516、526は、arctan2(一般的にはatan2と省略される)を用いて、リゾルバ342、344の推定角度(ドライブシャフトの角度で示される)を計算する。atan2関数は、符号付き振幅に基づいて、ドライブシャフトがどの象限にあるかを決定することができる、4象限逆(アーク)タンジェント関数である。
【0072】
各角度計算回路516、526のドライブシャフトの推定角度は、出力回路532に提供される。
図5に示した実施例では、角度結合回路542は2つの推定角度出力を受信し、ドリフト修正回路544はマルチスピード推定角度出力を受信する。
【0073】
角度結合回路542は、各角度計算回路516、526の推定角度(例えば、
図3の角度推定値364)を結合し、ドライブシャフトの開始位置(
図3の初期推定位置366)とドライブシャフトのその後の位置を決定する。特定の実装では、角度結合回路542は、第1の角度計算回路526の推定角度出力を使用してドライブシャフトの開始位置を決定し、第2の角度計算回路526の推定角度出力を使用してドライブシャフトのその後の位置を決定する。代替的に、角度結合回路542は、2つの推定角度出力を使用してドライブシャフトの開始位置を決定し、また、第2の角度計算回路526の推定角度出力を使用してドライブシャフトのその後の位置を決定する。
【0074】
ドリフト修正回路544は、2つの推定角度を結合するときに生成される誤差を修正する。例えば、ドライブシャフトの開始位置とその後の位置の決定が、マルチスピード推定角度の微分(differentiation)を含むときには、ノイズ及び整数誤差(integer error)が、角度結合回路542の出力に導入されうる。ノイズ及び整数誤差を修正するため、角度結合回路542は角度結合回路542から推定位置を受信する。ドリフト修正回路544は、第2の角度計算器のマルチスピード推定角度に基づいて、ドリフト修正出力を生成する。ドリフト修正回路544は、角度結合回路542にドリフト修正出力を提供する。角度結合回路542は、ドリフト修正出力に基づいて、その後の出力(
図3のその後の推定位置366)を調整する。角度結合回路542の詳細は、
図6、
図7、及び
図18を参照して更に説明され、ドリフト修正回路544の詳細は、
図6、
図7、及び
図19を参照して更に説明される。
【0075】
図6は、
図3のデュアルスピードリゾルバ312のリゾルバ出力を処理するためのロジック602の例の概要を示す論理
図600である。論理
図600は、リゾルバ出力からADC出力への変換、ADC出力の復調、復調出力に基づく角度推定、及び角度推定に基づく結合位置出力の概要を示している。論理
図600の丸で囲まれた各位置は、
図7~
図19を参照してより詳細に説明される。
図6及び以降の図のロジック又はその一部は、特定用途向け回路(電気回路)、FPGA、ファームウェア(FPGAのファームウェアなど)、プロセッサによって実行されるソフトウェア、或いはこれらの組み合わせによって実行されうる。加えて、本書で開示されるロジック(又はその一部)は同等のロジックで置き換えられうる。例えば、任意の論理ゲートは、一又は複数のNOR論理ゲートによって表現されうる。
【0076】
図7は、復調と角度推定のためのロジック702の例の概要を示す論理
図700である。ロジック702は、デュアルスピードリゾルバ312の1つのリゾルバのための復調と角度推定を示す。
図7に示したように、ロジック702は、
図3の微細なリゾルバ344(例えば、16スピード)の復調と角度推定に対応している。
【0077】
ロジック702は、復調ロジック712と角度推定ロジック714を含む。復調ロジック712は、
図8~
図17を参照して更に説明されるように、ADC320を介してリゾルバ出力(例えば、差動電圧出力354)をADC出力358として受信し、復調出力362を角度推定ロジック714に出力するように構成されている。角度推定ロジック714は、
図18及び
図19を参照して更に説明されるように、復調出力362(復調振幅値)を受信し、リゾルバに対して角度推定値364を計算するように構成されている。
【0078】
幾つかの実装では、角度推定ロジック714は、関数atan2(例えば、4象限逆(アーク)タンジェント)に基づいて、角度推定値364を計算するように構成されている。例えば、角度推定ロジック714は、復調出力362(復調振幅値)の積に基づいて、また、正弦及び余弦のフィードバック角度値742、744に基づいて、角度推定値364を生成するように構成されている。
【0079】
関数atan2に基づいて角度推定値364を計算することによって、角度推定値364はモーターがどの象限にあるかを示す。一例を挙げると、atan2による角度出力は(0~90度とは対照的に)0~360度になっている。関数atan2は、特定の象限(すなわち、0~90度、90~180度、180~270度、又は270~360度)を決定するため、符号付きの入力角度を使用する。
【0080】
幾つかの実装では、
図8を参照して更に説明されるように、復調ロジック712は更に、電圧バイアス及びハードウェアの他のバイアスを調整(ゼロ点調節)するように構成されている。幾つかの実装では、角度推定ロジック714は更に、角度推定値364に加えて、正弦値及び余弦値に対して推定角度出力を出力するように構成されている。
【0081】
動作中、復調ロジック712は、ADCのデジタルサンプルを受信する。例えば、復調ロジック712は、ADC318、320のうちの1つからADC出力358を受信する。デジタルサンプルは、デュアルスピードリゾルバ312のリゾルバ342、344の正弦及び余弦コイル424、426の電圧を表す。
図7に示したように、デジタルサンプルは、微細なリゾルバ344の正弦入力及び余弦入力に対応する。デジタルサンプルは、復調された正弦及び余弦出力362を生成するため、復調される。複数の復調出力362は、復調フィードバック又は復調フィードバック信号と称されることがある。特定の実装では、復調ロジック712は、過去の3つの復調出力362の中央値を生成し、その中央値を復調フィードバック信号の次の復調出力362として出力する。復調ロジック712の詳細な動作は、
図8~
図16を参照して更に説明される。
【0082】
復調出力362には、積752、754を生成するため、正弦及び余弦フィードバック角度値742、744が乗ぜられる。一例を挙げると、正弦復調出力362には、第1の積752を生成するため、余弦フィードバック角度値744が乗ぜられる。余弦復調出力362には、第2の積754を生成するため、正弦フィードバック角度値746が乗ぜられる。正弦及び余弦フィードバック角度値742、744は、角度推定ロジック714によって、正弦及び余弦推定角度値762、764として生成され、ロジック702に提供される。例えば、正弦及び余弦推定角度値762、764は、復調出力362に基づいて生成される。一例を挙げると、正弦推定角度値762は、正弦フィードバック角度値742と正弦復調出力362の値(振幅)の第1の積752に基づいて計算される。
【0083】
角度推定ロジック714は、復調出力362と正弦及び余弦フィードバック角度値742、744との積752、754を受信し、復調出力362に基づいて角度推定値364を生成する。例えば、角度推定ロジック714は、関数atan2(すなわち、4象限逆(アーク)タンジェント)に基づいて角度推定値364を生成する。一例を挙げると、特定の角度推定値364は、(積752ー積754)の積分値(角度)、すなわち、積分値(sine_amplitude*cos(θ)-cosine_amplitude*sin(θ)-0)に関数atan2を適用することによって計算される。このような実装では、復調出力362は符号付きで、すなわち、符号情報を含む。
図7、
図18、及び
図19を参照して説明されているように、モーターのドライブシャフト142の初期位置とその後の位置を生成するため、微細なリゾルバ344によって示された角度推定値364は、粗いリゾルバ342によって示された角度と組み合わせて使用される。
【0084】
幾つかの実装では、復調ロジック712、角度推定ロジック714、或いはその両方は、割り込み処理ルーチン(ISR)入力730を受信するように構成されている。ISR入力730は、割り込み処理ルーチンモードを示すブール値である。復調ロジック712、角度推定ロジック714、或いはその両方は、ISR入力730の受信に応答する出力の生成を停止する。
【0085】
図8は、電圧調整のためのロジック802の例を示す論理
図800である。ロジック802は、センサから電圧値を受信し、ハードウェアバイアスを取り除くように電圧値を調整し、復調出力値を出力するように構成されている。
図8に示した具体的な実施例では、ロジック802は、微細なリゾルバ344の正弦コイル424に対応する差動電圧センサ316によって測定された電圧値を受信し、微細なリゾルバ344に対して復調出力362を計算する。
【0086】
ロジック802は、再帰的中央値解析(RMVA)ロジック812、電圧フィルタ818、及び結合器816を含む。RMVAロジック812は、最後のn個の入力値又はサンプルの中央値(中心値)を決定するように構成されており、ここでnは1を超える整数である。RMVAロジック812は、
図9を参照して更に説明される。
【0087】
動作中、ロジック802は、差動電圧センサ316によって測定された微細なリゾルバ344(例えば、16スピードリゾルバ)の正弦コイル424での電圧に対応するADC320から複数の電圧値を受信する。RMVAロジック812は、複数の電圧値を受信し、中央電圧値814を結合器816に出力する。ローパスフィルタなどの電圧フィルタ818は、中央電圧値814及びカウンタ入力852に基づいて、
図8に示されているように、電圧バイアス出力820、sin_tareを生成する。電圧バイアス出力820は、慣性計測装置102のハードウェアの電圧バイアス、或いはこれによって与えられる電圧バイアスに対応する。例えば、電圧バイアス出力820は、慣性計測装置102のFPGAに関連する電圧降下を補正しうる。
【0088】
特定の実装では、中央電圧値814は、16ビット値から32ビット値など、より高いビット値に変換される。16ビットから32ビットに変換すること(ビット数を増やすこと)によって、電圧フィルタ818によって引き起こされる精度の低下を減らす又はなくすことができる。例えば、電圧フィルタ818による任意の右シフトは、精度の低下を引き起こさない。
【0089】
結合器816は、中央電圧値814及び電圧バイアス出力820に基づいて、調整された電圧値822(例えば、
図3の調整された電圧値360)を生成する。
図8に示したように、調整された電圧値822は、中央電圧値814と電圧バイアス出力820との差分である。調整された電圧値822は、符号つき整数に変換され、復調の前にシフトされうる。調整された電圧値822は、復調ロジック826に出力されてよく、入力電圧値824として記憶されてよい。
【0090】
復調ロジック826は、入力電圧値824、カウンタ入力852、幅入力854、及び中央入力856に基づいて、復調出力362を生成する。復調出力362の生成、及びRMVAロジック812、復調ロジック826の例は、
図9~
図17を参照して更に説明される。
【0091】
図9は、
図7及び
図8のADC出力358など、入力の再帰的中央値解析のための、RMVAロジック812などを示す論理
図900である。RMVAロジック812は、入力を受信し、最後のn個の入力を記憶するように構成されたスライド式ウィンドウロジック904を含む。スライド式ウィンドウロジック904は、最後のn個の入力を記憶するため、一又は複数のレジスタ(例えば、メモリ、キャッシュ、バッファなど)を含みうる。スライド式ウィンドウロジック904は、最後のn個の入力を保持するため、ゼロ次ホールド(ZOH)を実行しうる。ゼロ次ホールド(ZOH)は、1つのサンプル間隔に対して各サンプル値を保持する。新しいサンプルが受信されると、記憶された各サンプルは1つ後方に移動し、記憶された最後のサンプルは押し出される。
図9に示されている実施例では、スライド式ウィンドウロジック904は、最後の7個の入力(p0~p6)を記憶する。
【0092】
RMVAロジック812は、最後のn個の入力の中央値、
図8の中央電圧値814を決定するように構成されているカスケード中央値ロジック906を含む。カスケード中央値ロジック906は、各々が最後のn個の入力のサブセットに対して中央値を決定するように構成された複数のロジックブロック912~916を含む。第1のロジックブロック912の出力は、第2のロジックブロック914の入力として使用され、第2のロジックブロック914の出力は第3のロジックブロック916の入力として使用されること、などがある。最終のロジックブロック(すなわち、
図9に示された実装の第3のロジックブロック916)の出力は、最後のn個のサンプルに対する中央値である。
図9はRMVAロジック812の特定の実施例を示し、複数のロジックブロック912~916はそれぞれ、3つの入力の中央値を決定し、3つのロジックブロック912~916が使用される。他の実装では、3つを超えるロジックブロック又は3つ未満のロジックブロックが使用されてもよく、及び/又は、各ロジックブロックは他のロジックブロックとは異なる数の入力を処理してもよい。追加的に又は代替的に、ロジックブロック912及び914の各々は、3つのサンプルの中央値を決定することが可能で、ロジックブロック916は2つの出力と1つのサンプルの中央値を決定することができる。
【0093】
図9は更に、第1のロジックブロック912のように、3つの値の中央値を決定するためのロジック922の実施例を示している。ロジック922は平行処理が可能で、nのより大きな値に対して、より迅速に中央値を決定することができる。第1のロジックブロック912は、サンプルと中央値出力の組み合わせに対応する3つの入力を受信する。
図9に示した第1のロジックブロック912では、第1のロジックブロックは、入力1、2、及び3においてそれぞれ、サンプル5、6、及び7(p4~p6)を受信する。サンプルは、
図9に「>(大なり)」条件で示した、ブール条件によって互いに比較される。3つのサンプルが例示した実施例で使用されるため、3つの比較が使用される。これらの比較は、スイッチ出力の制御に使用されるブール出力を生成する。一例を挙げると、第1の入力([x])が第3の入力よりも大きいか否かを示す第1のブール条件([xgz])を生成するため、ロジック922は、第1の入力([x])を第3の入力([z])と比較する。
【0094】
ロジック922は、中央値出力を決定するため、一連のスイッチ(h~h5)を使用する。各スイッチ(h~h5)は、2つの入力サンプル値と対応するブール条件を受信する。例えば、第1のスイッチ(h2)は、第1の入力([x])と第3の入力([z])、並びに第1の入力と第3の入力を比較することによって生成される対応するブール条件、すなわち、第1の条件([xgz])を受信する。第1のスイッチ(h2)は、「偽」を示す第1の条件、すなわち、「xはzより大きくない」という条件に基づいて、第3の入力([z])を出力する。第2のスイッチ(h4)は、第2の入力([y])、第1のスイッチ(h2)の出力(第3の入力([z]))、並びに、第2の入力(例えば、第2のブール条件又は第3のブール条件)に対応するブール条件を受信する。第2のスイッチ(h4)は、第2の入力に対応するブール条件の1つ、すなわち、
図9の第2の条件([ygz])に基づいて、第2の入力を第3の入力と比較する。第2のスイッチ(h4)は、「真」を示す第1の条件、すなわち、「yはzより大きい」という条件に基づいて、第2の入力([y])を第5のスイッチ(例えば、出力スイッチの(h3))に出力する。
【0095】
第3のスイッチ(h)と第4のスイッチ(h5)の動作は、第1のスイッチ(h2)と第2のスイッチ(h4)の動作に酷似している。例えば、第3のスイッチ(h)は、同じ入力と条件を逆の順で受信し、その結果、第3のスイッチ(h)は、第4のスイッチ(h5)に対する第1の条件に基づいて、反対の出力値を出力する。一例を挙げると、第1のスイッチ(h2)が第3の出力([z])を出力する場合に、第3のスイッチ(h)は第1の出力([x])を出力する。第2のスイッチ(h4)及び第4のスイッチ(h5)のうちの1つは、常に第2の入力([y])を出力する。
【0096】
第5のスイッチ(h3)は、第2及び第4のスイッチ(h4及びh5)の出力を受信し、第2の入力([y])に対応する他のブール条件に基づいて、これらを比較する。第5のスイッチ(h3)は第2の入力([y])に基づいて中央値を出力し、第1の入力([x])が第2の入力([y])よりも大きいときには、トップスイッチ(h2及びh4)は中央値を出力する。第2の入力([y])が第1の入力([x])よりも大きいときには、(「真」又は「高」のブール条件が各スイッチでトップ入力を選択すると仮定すると)ボトムスイッチ(h及びh5)の出力は中央値になる。最後のn個の入力の(例えば、ソート関数による)ソートと比較して、RMVAロジック812とロジック922は、ファームウェア、回路領域、及び処理速度を軽減する。
【0097】
図10は、
図8の復調ロジック826の実施例を示す論理
図1000である。復調ロジック826は、
図8の入力電圧値824(信号1012を含む)、カウンタ入力852、幅入力854、及び中央入力856に基づいて、復調入力362を生成するように構成されている。復調ロジック826は、アキュムレータロジック1014、マスクロジック1018、及び出力ロジック1026を含む。
【0098】
アキュムレータロジック1014は、入力電圧値824に基づいて、蓄積出力1024を出力するように構成されている。例えば、アキュムレータロジック1014は、入力電圧値824の値を蓄積し、蓄積出力1024を入力電圧値824の蓄積として出力するように構成されている。一例を挙げると、蓄積は、これまでの電圧値824の和に現在の電圧値824を加算することを含む。しかも、アキュムレータロジック1014は、フリップ入力1022に基づいて蓄積出力1024の符号を決定し、調整するように構成されている。
【0099】
幾つかの実装では、アキュムレータロジック1014は、特定の蓄積出力1024を決定するため、複数の入力電圧値824を調整しフィルタ処理する。例えば、アキュムレータロジック1014は、カウント可能入力1020に基づいて、複数の入力電圧値824のうちのどの入力電圧値824を考慮(又はフィルタ処理)するかを決定するように構成されている。選択された入力電圧値824は蓄積され、フィルタ処理された入力電圧値824は破棄される(蓄積されない)。しかも、アキュムレータロジック1014は更に、リセット入力1016の受信に応答してリセットされるように構成されている。アキュムレータロジック1014の詳細は、
図11に関連して更に詳細に説明される。
【0100】
マスクロジック1018は、カウンタ入力852、幅入力854、及び中央入力856に基づいて、カウント可能入力1020を生成するように構成されている。マスクロジック1018の詳細は、
図14に関連して更に詳細に説明される。
【0101】
出力ロジック1026は、蓄積出力1024とカウンタ入力852に基づいて、復調入力362を生成するように構成されている。例えば、出力ロジック1026は、カウンタ入力852に基づいて、復調入力362を蓄積出力1024の中央値として決定するように構成されている。出力ロジック1026の詳細は、
図16に関連して更に詳細に説明される。
【0102】
動作中、マスクロジック1018は、カウンタ入力852、幅入力854、及び中央入力856に基づいて、取得データ出力(take data output)(すなわち、カウント可能入力1020)を生成する。マスク取得データ出力(カウント可能入力1020)の生成及びマスクロジック1018の実施例は、
図14及び
図15を参照して更に説明される。
【0103】
アキュムレータロジック1014は、複数の入力電圧値824を含む信号1012を受信する。アキュムレータロジック1014はまた、リセット入力1016、マスク取得データ出力(カウント可能入力1020)、及びフリップ入力1022を受信する。アキュムレータロジック1014は、複数の入力電圧値824、リセット入力1016、マスク取得データ出力(カウント可能入力1020)、及びフリップ入力1022に基づいて、蓄積出力1024を生成する。アキュムレータロジック1014は、フリップ入力1022に基づいて複数の入力電圧値824を整流し、整流値を生成する。整流値は、リセット入力1016とマスク取得データ出力(カウント可能入力1020)に基づいて、蓄積出力1024として出力される。蓄積出力1024の生成及びアキュムレータロジック1014の実施例は、
図11及び
図12を参照して更に説明される。
【0104】
フリップ入力1022は、整流で使用される矩形波の符号をいつ変更するかを示すブール値である。フリップ入力1022は、複数の入力電圧値824の整流に使用される矩形波の符号を変更するように構成されている。フリップ入力1022は、
図3及び
図4の励磁信号352、452のうちの1つなど、リゾルバの励磁信号の正弦波の挙動を追跡する。例えば、矩形波の符号は、カウンタ入力852値がカウンタ周期(
図10の2^7-1で示される)の2分の1未満のときに正となる。これは、正弦波が正弦波の前半部分(すなわち、0~180度)で正となるからである。矩形波の符号は、カウンタ入力852値がカウンタ周期(
図10の2^7-1で示される)の2分の1よりも大きいときに負となる。これは、正弦波が正弦波の後半部分(すなわち、181~360度)で負となるからである。
【0105】
図11は、位相保存による整流のためのロジック1102の実施例を示す論理
図1100である。ロジック1102は、
図10のフリップ生成ロジック1104とアキュムレータロジック1014を含む。フリップ生成ロジック1104は、
図10を参照して説明されるように、フリップ入力1022を生成するように構成されている。
【0106】
アキュムレータロジック1014は、フリップ入力1022に基づいて複数の入力電圧値824を整流し、整流値を生成するように構成されている。アキュムレータロジック1014は、整流値を蓄積し、蓄積出力1024を生成するように構成されている。
図11に示したように、アキュムレータロジック1014は、インバータ1112、複数のスイッチ1114、1118、及び1120、並びに加算器1116を含む。
【0107】
インバータ1112は、複数の入力電圧値824を反転するように構成されている。例えば、インバータ1112は、複数の入力電圧値824に-1を乗じるように構成されている。複数のスイッチ1114、1118、及び1120の各々は、制御入力、すなわち、フリップ入力1022、カウント可能入力1020、及びリセット入力1016に基づいて値を出力するように構成されている。加算器1116は、第1のスイッチ1114の出力と第3のスイッチ1120の遅延出力を加算するように構成されている。ユニット遅延1122は、1つのサンプルに対して第3のスイッチ1120の出力を遅延するように構成されている。例えば、ユニット遅延1122はゼロ次ホールドを実行する。
【0108】
動作中、フリップ生成ロジック1104は、カウンタ入力852とカウンタ中央値(例えば、8ビットカウンタ842で、2^7-1)との比較に基づいて、フリップ入力1022を生成する。カウンタ入力852がカウンタ中央値を上回るとき、フリップ生成ロジック1104は「真」(例えば、1)を示すフリップ入力1022を生成するか、入力電圧値824の符号を反転する。
【0109】
第1のスイッチ1114は、信号1012の入力電圧値824、インバータ1112からの反転された入力電圧値824、及びフリップ入力1022を受信する。第1のスイッチ1114は、1を示すフリップ入力に基づいて、反転された入力電圧値824を出力する。これは、正弦波の振幅が負になる励磁信号の正弦波の後半部分に対応する。したがって、フリップ生成ロジック1104、インバータ1112、及び第1のスイッチ1114は、入力電圧値824を整流し、励磁信号の位相を保存するように動作する。フリップ生成ロジック1104、インバータ1112、及び第1のスイッチ1114は、入力電圧値824に、励磁信号と位相が一致している[1,-1]の矩形波を乗じるように機能する。
【0110】
加算器1116は、第1のスイッチ1114から整流された入力電圧値1152を受信し、整流済み入力電圧値1152とユニット遅延1122の遅延出力1158を結合し、結合出力1154を生成する。結合出力1154は第2のスイッチ1118に提供される。第2のスイッチ1118は、カウント可能入力1020に基づいて、結合出力1154又は遅延出力1158を出力する。カウント可能入力1020が「真」、すなわちデータを取得すること示しているときには、
図11に示したように、第2のスイッチ1118は結合出力1154を出力する。代替的に、カウント可能入力1020が「偽」、すなわちデータを取得しないことを示しているときには、第2のスイッチ1118は遅延出力1158を出力する。
【0111】
第2のスイッチ1118の出力は、第3のスイッチ1120に提供される。リセット入力1016が「真」すなわち、アキュムレータロジック1014をリセットすることを示しているときには、第3のスイッチ1120はヌル値1124(例えば、0)を出力する。リセット入力1016が「偽」すなわち、アキュムレータロジック1014をリセットしないことを示しているときには、第3のスイッチ1120は第2のスイッチ1118の出力を第3のスイッチの出力1156として出力する。第3のスイッチ1120の出力1156は、ユニット遅延1122に提供される。ユニット遅延1122は、第3のスイッチ1120の出力1156を遅延し、遅延出力1158を加算器1116と第2のスイッチ1118に提供する。遅延出力1158はまた、蓄積出力1024として出力される。
【0112】
遅延出力1158を加算器1116と第2のスイッチ1118に提供すること、「真」を示すカウント可能入力1020に応答する結合出力1154を出力することは、新たな入力電圧値824が受信されると、遅延出力1158を繰り返し高めるように機能する。したがって、遅延出力1158が蓄積出力1024として(すなわち、アキュムレータロジック1014がリセットされる前に)出力されると、マスクロジック1018がデータを取得又は蓄積することを示すカウント可能入力1020を出力するときには、蓄積出力1024は、周期に対応する入力電圧値824の蓄積を表す。
図10に示したように、
図16及び
図17を参照して更に説明されるように、出力ロジック1026は、蓄積出力1024に基づいて復調出力362を生成し、カウンタ入力852に基づく復調出力362を出力する。
【0113】
多くの入力は論理ゲート又はスイッチを制御するブール入力として記述されているが、論理ゲート又はスイッチはトランジスタとして実装され、ブール入力を表す論理的な高低信号(例えば、高電圧と低電圧)を受信する。
【0114】
図12は、復調中に生成された例示的な信号のダイアグラム1200を示している。ダイアグラム1200は、3つのグラフ1202~1206を含む。第1のグラフ1202は、
図3の微細なリゾルバ344など、リゾルバの正弦波出力に対応するADC出力信号1212(復調器入力)を示している。ADC出力信号1212は、
図3のADC出力358(又は調整された電圧値360)を含む。第2のグラフ1204は、第1のグラフ1202に対応する整流されたADC出力信号1214を示す。第2のグラフでは、整流されたADC出力信号1214は、ADC出力信号1212と同じ位相を有する。修正中にADC出力信号1212の位相を保持し、精度を高めるため、ADC出力信号1212は、励磁信号(例えば、正弦波)ではなく、矩形波によって整流(例えば、乗算)される。整流されたADC出力信号1212は、複数の整流されたADC出力など、
図11の修正された入力電圧値1152を含むか、これに対応している。第3のグラフ1206は、復調された正弦振幅値の復調出力信号1216を示す。復調された正弦振幅値(符号情報、すなわち、正又は負を含む)はモーターのドライブシャフトの位置の計算に使用され、
図3の復調出力362に対応する。第3のグラフに示されているように、復調出力信号1216は、ADC出力信号1212及び整流済みADC出力信号1214からの遅延を有する(位相がずれている)。遅延は、
図13に関連して示され、より詳細に説明される。
【0115】
矩形波による整流は、励磁信号の振幅が正の値から負の値に(すなわち、ゼロを超えて)変化し、ADC出力信号1212の振幅がゼロに近づく際に、領域1222に誤差を導入しうる。領域1222に対応する領域の誤差を含まない復調出力信号1216によって示されるように、電圧値の蓄積、電圧値のマスキング、中央値の蓄積された値の出力、或いはこれらの組み合わせにより、この誤差又は欠点は軽減されるか除去される。
【0116】
図13は、
図3の粗いリゾルバ342の信号の例示的なグラフ1302及び1304を示す。第1のグラフ1302は、粗いリゾルバ342による正弦値及び余弦値の出力の表示を含む。第1のグラフ1302は、
図3の粗いリゾルバ342の差動電圧出力のADC318、320によってサンプルされた正弦値1312と余弦値1314を表しうる。第1の時刻T1の前には、粗いリゾルバ342は動いていない。第1の時刻T1の後に、粗いリゾルバ342は動き始め、正弦値1312及び余弦値1314の変化を引き起こす。
【0117】
第2のグラフ1304は、第1のグラフ1302の正弦値1312と余弦値1314に対応する復調された正弦値1322と余弦値1324の表示を含む。復調された正弦値1322と余弦値1324を生成するための正弦値1312と余弦値1314の復調は、
図3及び
図4の励磁信号352、452のうちの1つなど、励磁信号を除去すること又は弱めることを含む。正弦値1312と余弦値1314は、粗いリゾルバ342に関連した
図3のADC出力358(又は、調整された電圧値360)に対応する。復調された正弦値1322と余弦値1324は、粗いリゾルバ342に関連した
図3の復調出力362に対応する。
図12の信号1212~1216と比較すると、値1312、1314、1322、及び1324は、(微細なリゾルバ344に対応する信号1212~1216とは対照的に)粗いリゾルバ342に対応する。
【0118】
第2のグラフ1304に示したように、正弦値1312と余弦値1314の変化は、2サイクル後に復調された正弦値1322と余弦値1324に反映される。すなわち、変化は2サイクル遅延している。正弦値1312と余弦値1314の測定には1サイクル(例えば、正弦波又は余弦波のピーク振幅からピーク振幅まで)を要し、復調中の測定値の中央値の処理には第2のサイクルを要する。一例を挙げると、第1の時刻T1から第2の時刻T2までの間に発生する正弦値1312と余弦値1314の値の(粗いリゾルバ342の運動による)変化は、第3の時刻T3から第4の時刻T4までの第3のサイクルまで、復調された正弦値1322と余弦値1324に反映されない。したがって、
図20~
図25に関連して更に説明されるように、復調ロジック826は、従来の復調システムと比較して、比較的小さな遅延(2サイクル)を与えるだけで、比較的大きな(複数桁の)精度向上を可能にする。
【0119】
図14は、
図10のマスクロジック1018の実施例を示す論理
図1400である。マスクロジック1018は、カウンタ入力852、幅入力854、及び中央入力856に基づいて、カウント可能入力1020を生成するように構成されている。
図14の実施例で説明されるように、マスクロジック1018は、複数の結合器1410~1418、比較条件1422~1428、及び論理ゲート1432~1436を含む。
【0120】
動作中、マスクロジック1018は、幅入力854、中央入力856、及びカウンタ入力852を受信する。マスクロジック1018はまた、オフセット入力1402を受信又は決定する。オフセット入力1402は、入力852~856のビット数に基づいて決定されうる。例えば、入力852~856が8ビット値に対応するとき、オフセット入力1402の値は128、すなわち、2^(8-1)となる。特定の実装では、入力852~856は8ビットの符号なし整数値である。中央入力856と幅入力854との差分は、幅入力854の2分の1を表す。
【0121】
マスクロジック1018は、ブール出力を生成するように構成された2つのロジックチェーン1404、1406を含む。マスクロジック1018は、2つのロジックチェーン1404、1406からのブール出力の論理演算に基づいて、出力を生成する。
図14に示したように、マスクロジック1018は、2つのロジックチェーン1404、1406からのブール出力の「OR」論理演算に基づいて、取得データのブール出力を生成する。他の実装では、NOR、ANDなどの他の論理演算が使用されうる。取得データのブール出力(すなわち、カウント可能入力1020)の値は、
図10を参照して説明されるように、アキュムレータロジック1014にデータを取得すること、又はデータを取得しないことを示す。
【0122】
動作中、マスクロジック1018は3つの入力852~856を受信する。カウンタ入力852の値は、クロックパルスに基づくなどして、カウンタ842のカウンタ値が増大するたびに変化しうる。カウンタ入力852は、リセットパルス又は最大カウンタ値に到達することに基づいて、リセットされる。幅入力854と中央入力856は一定であってよく、動作前にユーザーによって入力されるか、固定されうる。オフセット入力1402は、ユーザーによって入力されるか、動作前に固定されるか、入力852~856の一又は複数に基づいて決定されうる。
【0123】
第1のロジックチェーン1404の第1の結合器1410は、中央入力856と幅入力854の2分の1(すなわち、
図15に示したように、データウィンドウ1514を定義する中央入力856からの偏差又は差分を示す[幅]/2の入力)との差分を生成する。第1のコンパレータ1422は、第1の比較条件に基づいて、カウンタ入力852を、中央入力856と幅入力854の2分の1との間の差分と比較する。第2の結合器1412は、中央入力856と幅入力854の2分の1との和を生成する。カウンタ入力852を比較する第2のコンパレータ1424は、第2の比較基準に基づいて、中央入力856と幅入力854の2分の1との和と比較される。
図14に示したように、第1の比較条件は条件以上となり、第2の比較条件は条件以下となる。他の実装では、他の比較条件が使用されてよい。コンパレータ1422、1424の出力は、第1の論理ゲート1432に入力される。第1の論理ゲート1432は、第1の論理ゲート1432の論理ルールに基づいて、第1の中間出力を第3の論理ゲート1436(出力論理ゲート)に出力する。
【0124】
第2のロジックチェーン1406の第3の結合器1414は、中央入力856とオフセット入力1402との和を生成する。第4の結合器1416は、中央入力856とオフセット入力1402との和と、幅入力854の2分の1との差分を生成する。第3のコンパレータ1426は、第3の比較条件に基づいて、カウンタ入力852を和と幅入力854の2分の1との間の差分と比較する。
図14に示したように、第3の比較条件は第1の比較条件と同じである。第5の結合器1418は、中央入力856と、オフセット入力1402と、幅入力854の2分の1との和を生成する。第4のコンパレータ1428は、第4の比較条件に基づいて、カウンタ入力852を入力854、856、及び1402の和(すなわち、中央入力856とオフセット入力1402と幅入力854の2分の1との和)と比較する。
図14に示したように、第4の比較条件は第2の比較条件と同じである。コンパレータ1426、1428の出力は、第2の論理ゲート1434に入力される。第2の論理ゲート1434は、第2の論理ゲート1434の論理ルールに基づいて、第2の中間出力を第3の論理ゲート1436(出力論理ゲート)に出力する。
【0125】
第3の論理ゲート1436は、第3の論理ゲート1436の論理ルールに基づいて、取得データ出力(カウント可能入力1020)を生成し、取得データ出力(カウント可能入力1020)を
図10のアキュムレータロジック1014に提供する。
図14に示したように、第1及び第2の論理ゲートの論理ルールはAND論理を含み、第3の論理ゲート1436の論理ルールはOR論理を含む。他の実装では、他の論理ルール、追加の論理ゲート、或いはその両方が、取得データ出力(カウント可能入力1020)を再生成するために使用されうる。
【0126】
図15は、復調のためのマスクされたデータと蓄積されたデータの実施例を示すダイアグラム1500である。ダイアグラム1500は、(第3のスイッチ1120の出力1156を表す)アキュムレータ信号1522を描く例示的なグラフ、アキュムレータロジック1014の(蓄積出力1024を表す)復調入力信号1524、及びマスク領域1512を示している。ダイアグラム1500はまた、2つの特定のマスク領域1512間のデータウィンドウ1514に幅入力854と中央入力856を示している。ダイアグラム1500では、中央入力856は、
図14の第1のロジックチェーン1404に対応する(その出力によって生成される)サイクルの第1のデータウィンドウ1514に配置されており、幅入力854とオフセット入力1402は、
図14の第2のロジックチェーン1406に対応する(その出力によって生成される)サイクルの第2のデータウィンドウ1514に配置されている。サイクルは正弦波の周期とリセットされるカウンタ入力852に対応する。
【0127】
カウント可能入力1020がフィルタ処理されたデータの取得又は蓄積するように示すとき、すなわち、マスク領域1512間のデータウィンドウ1514内にあるときには、アキュムレータ信号1522は増加する。カウント可能入力1020がデータの取得又は蓄積を抑制するように示しているときには、マスク領域1512内でアキュムレータ信号1522は増加しない。マスク領域1512でのデータの取得を停止した後、アキュムレータロジック1014は、マスク領域1512内(すなわち、1つおきのマスク領域1512)にあるとき、復調出力信号1524(その値)を出力する。復調入力信号1524の値の出力後、アキュムレータロジック1014はマスク領域1512内でリセットされる(すなわち、アキュムレータ信号1522の値は0に戻る)。したがって、
図15に示した実施例では、アキュムレータロジック1014は、サイクルの2つのデータウィンドウ1514間でデータを蓄積し、その蓄積出力1024を1サイクルに1回出力する。
【0128】
図16は、
図10の出力ロジック1026の実施例を示す論理
図1600である。出力ロジック1026は、蓄積出力1024とカウンタ入力852に基づいて、アキュムレータロジック1014によって復調入力362として決定された蓄積出力1024値の中央値を出力するように構成されている。アキュムレータロジック1014と出力ロジック1026の動作は、アキュムレータ(例えば、アキュムレータ回路)によって実行されうる。
【0129】
図16の実施例に示したように、出力ロジック1026は、スイッチ1612とRMVAロジック812を含む。
図8及び
図9のRMVAロジック812と比較して、RMVAロジック812は、ブール入力値1628に応答して、或いはこれに基づいて値を出力するように構成されている。RMVAロジック812は、「真」を示すブール入力値1628に応答して復調入力362を出力する。
【0130】
出力ロジック1026は更に、カウンタ入力852に基づいてブール入力値1628を生成するように構成されている。
図16に示したように、ユニット遅延1622は、タイミングをRMVAロジック812への入力と同期させるため、カウンタ入力852を1サンプルだけ遅らせる。ブール入力値1628は、遅延したカウンタ値1626と比較条件1624との比較に基づいて生成される。
図16に示したように、比較条件1624はゼロに等しい条件で、ブール入力値1628は、遅延カウンタ値1626が比較条件1624を満たす(すなわち、ゼロに等しい)ときに、「真」を示す。ブール入力値1628は、遅延カウンタ値1626が比較条件1624を満たさない(すなわち、ゼロに等しくない)ときに、「偽」を示す。
【0131】
動作中、出力ロジック1026はカウンタ入力852を受信する。カウンタ入力852はスイッチ1612に提供され、スイッチ1612はカウンタ入力852に基づいて、蓄積出力1024を出力するか、アキュムレータ出力1654を遅らせる。
図16に示したように、スイッチ1612は、「ゼロに等しくない」という条件を満たすカウンタ入力852に基づいて、遅延アキュムレータ出力1654を出力する。スイッチ1612の出力1652はユニット遅延1614に提供される。ユニット遅延1614は、遅延アキュムレータ出力1654を生成する一又は複数のサンプルに対応する期間だけ、出力1652を保持する。遅延アキュムレータ出力1654は、スイッチ1612とRMVAロジック812に提供される。
【0132】
図11を参照して説明されるように、カウンタ入力852がゼロに等しいとき、蓄積出力1024の値はゼロにリセットされる。カウンタ入力852がゼロに等しくない間は、蓄積出力1024が遅延ユニット1614によって再度受信されるまで、すなわち、カウンタ入力852がゼロに等しくなるまで、出力ロジック1026は遅延アキュムレータ出力1654値を記憶する。したがって、ユニット遅延1614(例えば、レジスタ又はシャドーレジスタ)は遅延アキュムレータ出力1654の値を、1サイクルの間、すなわち、新しい蓄積出力1024が次のリゾルバ励磁信号サイクルの開始時に受信されるまで、すなわち、カウンタ入力852がゼロに等しくなるときまで、保持する。遅延アキュムレータ出力1654の値は、蓄積出力1024がゼロにリセットされる前に、前の蓄積出力1024の最終アキュムレータ値に対応する。RMVAロジック812が遅延アキュムレータ出力1654の値を取得し、遅延アキュムレータ出力1654がスイッチ1612と遅延ユニット1614によって保持されている(すなわち、カウンタ入力852がゼロになった後にRMVAロジック812の1サンプルによってサンプルされている)間に、RMVAロジック812は、ゼロにリセットされる前に、前の蓄積出力1024の最終アキュムレータを受信する。
【0133】
RMVAロジック812は、最後のn個の遅延アキュムレータ出力1654の中央値を決定し、「真」を示すブール入力値1628に応答する復調入力362として、最後のn個の遅延アキュムレータ出力1654の中央値を出力する。幾つかの実装では、
図8のRMVAロジック812は、最後のn個の入力に対して、同じ数のnを
図16のRMVAロジック812として使用する。他の実装では、
図8のRMVAロジック812は、最後のn個の入力に対して、異なる数のnを
図16のRMVAロジック812として使用する。特定の実装では、RMVAロジック812は、最後の3つの遅延アキュムレータ出力1654に基づいて、中央値復調入力1656を決定する。
【0134】
図17は、復調回路のアキュムレータ出力の実施例を示すダイアグラム1700である。
図10のアキュムレータロジック1014及び出力ロジック1026などのアキュムレータは、複数の中間値及び出力値を生成しうる。
図17に示したように、アキュムレータは、
図10~
図16を参照して説明されているように、(第3のスイッチ1120の出力1156に対応する値を蓄積することによって)アキュムレータ信号1522を生成し、(蓄積出力1024に対応する)復調入力信号1524を生成し、また、(復調入力信号1524の中央値又は中央値復調入力1656に対応する)復調された正弦出力362を生成する。復調入力信号1524及び復調された正弦出力362は、符号情報(すなわち、正又は負)を含む。
【0135】
図18は、デュアルスピードリゾルバ312のリゾルバ出力を結合するためのロジック1802の実施例を示す論理
図1800である。ロジック1802は、第1のドメインの初期位置又は絶対的な初期位置を決定するため、また、微細なリゾルバだけに基づいて、その後の位置を決定するため、デュアルスピードリゾルバ312の各リゾルバ342、344からの出力を結合するように構成されている。微細なリゾルバだけに基づいて、その後の位置(例えば、初期位置からの位置の変化)を決定することは、粗いリゾルバからの出力に基づいてその後の位置を決定するデュアルスピードリゾルバに対する精度を高める。ロジック1802の動作は
図5の角度結合回路542によって実行されうる。ロジック1802は、
図18で第2のドメイン角度推定値1812と称される、微細なリゾルバ344の微細な位置信号に基づいて、第2のドメインの角度推定値364を受信する。微細なリゾルバ344から受信した第2のドメイン角度推定値1812は、微細なリゾルバ344に関連する第2のドメイン(例えば、16スピードドメイン)内にある。ロジック1802は、第2のドメイン内での位置(速度)の変化を決定するため、第2のドメインの角度推定値1812を識別する。例えば、位置の値1818の変化を生成するため、以前の位置の値1814が、第2のドメインの角度推定値1812の現在の位置の値1816から差し引かれる。位置の値1818の変化は、32ビットの符号付き整数に変換され、パイプライン処理又はロジック1802の実行に使用される回路のフローを考慮して遅延される。位置の値1818の変化を第1のドメインに変換して、変換された位置の値1820の変化(例えば、
図3の微細なリゾルバ344の変換された微細な位置信号)を生成するため、位置の値1818の変化は、右に4ビットシフトされる(16で除算される)。変換された位置の値1820の変化は、第1のドメインに関して微細なリゾルバ344によって決定された位置の変化を表す。
【0136】
ロジック1802は、粗いリゾルバ342の粗い位置信号に基づいて決定された推定初期位置1822を受信する。推定初期位置1822は、粗いリゾルバ342の角度推定値364の最初の(初期の)角度推定値に対応する。推定初期位置1822は、粗いリゾルバ342によって決定された初期位置を表し、第1のドメイン内にある。ブール入力1824(init_rslv)が「真」を示すとき、すなわち、デュアルスピードリゾルバ312が初期化モードにあるとき、スイッチ1826(例えば、初期化スイッチ)は推定初期位置1822を出力するように構成されている。ブール入力1824(init_rslv)が「偽」を示すとき、すなわち、デュアルスピードリゾルバ312が初期化モードにないとき、スイッチ1826は位置フィードバック(例えば、あらかじめ決定された位置、遅延され結合された推定角度1844など)を出力するように構成されている。
【0137】
変換された位置の値1820の変化及び推定初期位置1822は、結合された推定角度1832(例えば、モーターの推定位置)を生成するため、結合器1830(例えば、加算器又は他の演算回路)によって結合される。結合された推定角度1832は、
図3の推定位置366を含むか、これに対応している。幾つかの実装では、結合器1830は更に、ドリフト修正値1828を受信し、ドリフト修正値1828に更に基づいて、結合された推定角度1832を生成するように構成されている。このような実装では、遅延され結合された推定角度1844を生成するため、結合された推定角度1832は、ゼロ次ホールドなどによって遅延される。遅延され結合された推定角度1844は、ドリフト修正値1828を生成するため、
図5のドリフト修正回路544に提供される。ドリフト修正値1828の生成は、
図19を参照して説明される。最初の(初期の)結合された推定角度1832(すなわち、初期位置)に関しては、ドリフト修正回路544がまだ結合された推定角度1832を受信しておらず、ドリフト修正値1828の提供を開始していないため、ドリフト修正値1828はゼロである。
【0138】
結合された推定角度1832は、ロジック1802の出力として提供される。幾つかの実装では、ロジック1802は、結合された推定角度1832に基づいて、一又は複数の追加の出力を生成する。例えば、結合された推定角度1832は、ローターの整流のため、ローターオフセット1852に結合される。一例を挙げると、モーター124の整流のためのローターオフセット1852は、リゾルバとモーター124のローターマグネットとの不整合の原因となる。追加的に又は代替的に、結合された推定角度1832は、ローターサーボオフセットなど、ローターのサーボ制御のためローターオフセット1862に結合される。一例を挙げると、モーター124のサーボ制御のためのローターオフセット1862は、ジンバル(例えば、
図1のジンバル122の1つ)が水平に対して上向きに、或いは重力と反対の方向に配置される状態のオフセットの原因となる。特定の実装では、ローターオフセット1852、1862は一定値で、ユーザーによって入力される。
【0139】
これらのローターオフセット1852、1862は一般的に、リゾルバ出力のゼロ点調節と称される。リゾルバ出力のゼロ点調節は、精度の改善に役立ち、精度のゼロ点調節は従来のデュアルリゾルバで必要となることが多い。しかしながら、励磁信号と電流駆動切替の時間的調和によってノイズを低減する場合、励磁信号にディザーが加算される場合、或いはその両方の場合には、
図22~
図28を参照して説明されるように、ゼロ点調節の効果は減少し(改善効果は減少し)、精度の低いゼロ点調節が使用されることがある。ゼロ点調節された出力1856、1866は、ローターの整流とサーボ制御を調整する他の構成要素に提供されうる。例えば、サーボオフセット出力1866は、
図32を参照して説明されるように、慣性計測装置102の初期化のため、
図2のフィードバック制御システム232に提供されうる。別の実施例として、ゼロ点調節された出力1856、1866は、モーター124の推定位置を示しうる。一例を挙げると、結合された推定角度1832は、
図3のデュアルスピードリゾルバ312の位置を示し、結合された推定角度1832は、モーター124の位置を示すように調整されうる。結合された推定角度1832は、
図3の機械的なローター位置又は磁気的なローター位置など、モーター又はこれらの構成要素の推定位置を示すように調整/ゼロ点調節されている。追加的に又は代替的に、ゼロ点調節された出力1856、1866は、モーター124の推定RPM368を決定するために使用されうる。
【0140】
ロジック1802は、その後の粗いリゾルバ342の位置入力とは独立に、その後の位置出力(初期位置が決定された後、又は初期化処理後の出力)を生成する。一例を挙げると、ブール入力1824が初期化処理が完了したことを示すとき(例えば、ブール入力1824がゼロに等しくなるとき)、スイッチ1826はその後の粗いリゾルバ342の位置入力(すなわち、推定初期位置1822)を「フィルタで除去」し、あらかじめ計算した角度(遅延され結合された推定角度1844)を提供する。前記別の方法で、ロジック1802は、微細なリゾルバ344のその後の微細なリゾルバ344だけに基づいて、位置のその後の変化を決定する。
【0141】
図19は、デュアルスピードリゾルバ312のドリフト修正器に対するロジック1902の実施例を示す論理
図1900である。ロジック1902の動作は、
図5のドリフト修正回路544によって実行されうる。ロジック1902は、遅延され結合された推定角度1844、第2のドメイン角度推定値1812及び180度バイアス値1918に基づいて、ドリフト修正値1828を生成するように構成されている。
【0142】
ロジック1902は、デュアルスピードリゾルバ312の微細なリゾルバ344の角度推定値364を、第2のドメイン角度推定値1812として受信する。ロジック1902は更に、遅延され結合された推定角度1844(例えば、
図18のロジック1802によって生成される結合された推定角度1832の遅延バージョン)を受信する。遅延され結合された推定角度1844は、モーター124と粗いリゾルバ342に関連する第1のドメイン(例えば、1スピードドメイン)内にある。ロジック1902は、遅延され結合された推定角度1844を、デュアルスピードリゾルバ312の微細なリゾルバ344に関連する第2のドメイン(例えば、16スピードドメイン)に変換する。
図9に示すように、変換された推定角度1914(例えば、変形された初期位置出力)を生成するため、遅延され結合された推定角度1844は、左に4ビットシフトされる(16が乗ぜられる)。
【0143】
誤差値1920を生成するため、変換された推定角度1914及び180度バイアス値1918が、第2のドメイン角度推定値1812から差し引かれる。
図9に示した実装では、ロジック1902は、32ビット整数及び、2^31-1(又は2^(ビット数-1)-1)の値に対応する180度バイアス値1918を使用する。180度バイアス値1918は、初期化中にリゾルバ342、344の誤った位置合わせを引き起こすノイズ及び整数の数学的誤差に対する保護をもたらす。ノイズ及び整数の数学的誤差は、第2のドメイン角度推定値1812の微分によって引き起こされうる。
【0144】
誤差値1920は、32ビット符号付き整数などの符号付き整数に変換されうる。比例ゲイン1922及び積分ゲイン1924は、比例ゲイン回路及び積分ゲイン回路によって誤差値1920に適用される。幾つかの実装では、比例ゲイン1922及び積分ゲイン1924は誤差値1920に基づいて生成される。
図19に示したように、比例ゲイン1922は誤差値1920を15ビット右にシフトすることによって(32768で除することによって)生成され、積分ゲイン1924はスイッチ1926によって生成される。誤差値1920と「ゼロ以上である」という比較条件との比較に基づいて、スイッチ1926は、1又は-1の値を有する積分ゲイン1924を出力する。
【0145】
比例ゲイン1922と積分ゲイン1924は、ドリフト修正値1828を生成するため、結合器1928によって結合(加算)される。ドリフト修正値1828はロジック1802に記憶、提供、或いはその両方が行われうる。例えば、ドリフト修正値1828は、
図18を参照して説明されるように、次の結合された推定角度1832を決定するため、ロジック1802の結合器1830に提供される。次の結合された推定角度1832は、初期位置で結合された推定角度1832の生成に使用される粗いリゾルバ出力の低い精度を考慮して、その後の結合された推定角度1832(その後の位置に対する結合された推定角度1832)を調整又は修正する。したがって、ロジック1902は、
図3のデュアルスピードリゾルバ312など、デュアルスピードリゾルバの異なる速度のリゾルバを結合するときに発生する誤差を修正又は低減しうる。
【0146】
図20は、リゾルバシステム204の推定角度2002及びモーターの実際の角度2004を示すダイアグラム2000を含む。推定角度2002は、
図3の推定位置366、又は
図18の結合された推定角度1832を含むか、これらに対応しうる。代替的に、推定角度2002は、調整された(ゼロ点調節された)推定位置366(例えば、
図18のゼロ点調節された出力1856、1858のうちの1つ)、又は
図18の結合された推定角度1832を含むか、これらに対応しうる。ダイアグラム2000は、初期化プロセス又はモードの間及びその後に、リゾルバシステム204によって出力された推定角度2002を示す。
【0147】
図20の第1の時点T1に、リゾルバシステム204は起動され、初期化モード又はプロセスを開始する。初期化モード又はプロセスの間に、リゾルバシステム204は、粗いリゾルバ出力に基づいて、
図20の第2の時点T2に推定角度2002の初期位置出力2012を生成する。
図20の第2の時点T2後に、推定角度2002を修正するため、リゾルバシステム204はドリフト修正回路544の利用を開始する。
図20の第3の時点T3に、ドリフト修正回路544は粗いリゾルバ342の初期誤差に対して調整され、固定モーターの位置に固定される。第3の時点T3後、リゾルバシステム204は推定角度2002のその後の位置出力2014を生成する。
図20の第4の時点T4に、モーターは運動を開始する。
図20の第5の時点T5に、モーターは運動を停止する。
【0148】
図21は、
図20のダイアグラム2000の拡大図を示すダイアグラム2100を含む。ダイアグラム2100は、リゾルバシステム204の遅延と精度をよりわかりやすく示している。ダイアグラム2100は、ドリフト修正回路544が粗いリゾルバ342の初期誤差に対して調整され、固定モーターの位置に固定された後の第3の時点T3での誤差を示している。
図20を参照して説明されるように、第4の時点T4で、モーターは運動を開始する。しかしながら、復調処理遅延は
図12及び
図13を参照して説明されるため、
図21の第5の時点T5まで、リゾルバシステム204は運動を検出せず、運動に対応する角度推定値を出力しない。第5の時点T5後、リゾルバシステム204は、第4の時点T4に発生したモーターの運動を追跡し始める。ダイアグラム2100は、0.01arc-secの精度を示す。
【0149】
図22Aは、
図4の励磁信号452など、ディザ処理なしの励磁信号を用いるリゾルバ出力に基づいて決定された角度を示すダイアグラム2202である。
図22Aは、約0.02秒後のモーターの起動と約0.0375秒後の停止を示している。
図22Aでは、モーターのドライブシャフトの推定角度2002は、約1.23arc-secの精度でドライブシャフトの実際の角度2004を追跡する。モーターは約0.06秒後に再起動されて運動を再開し、リゾルバシステム204はモーターの追跡を継続する。
【0150】
図22Bは、ディザ処理なしの励磁信号によって生成されたリゾルバ出力に基づいて生成されたADC出力2252を示すダイアグラム2204である。ADC出力2252は、実質的に対称かつ一様で、ADC出力2252は比較的長い周期に対して1つのビットをラッチする。比較的長い周期に対して1つのビットをラッチすることは、オーバーサンプリングによる精度の向上を妨げる。これは、蓄積された値が非ゼロ及び/又は非変化になるからである。
【0151】
図23は、
図3のディザ処理された励磁信号352など、ディザーを含む励磁信号の実施例を示すダイアグラム2300である。
図23では、ディザ処理された励磁信号352は通常の正弦波のように反復しているが、ディザ処理された励磁信号352の振幅は局所的な変動を有している。例えば、ディザ処理された励磁信号352の振幅は、ベース励磁信号452(例えば、1次高調波)の正弦波のコースの上に正弦曲線のゆらぎを有する。一例を挙げると、振幅はピークからピークから谷への遷移中にときどき増加し、谷からピークへの遷移中に減少する。
図23に示したように、励磁信号452は、ディザ処理された励磁信号352を生成するため、励磁信号452の高次偶数高調波に基づいてディザーされる。したがって、ディザ処理された励磁信号352は、励磁信号452の「ミニチュア正弦波」偏差を含む。高次偶数高調波(例えば、16次高調波)が使用されるため、ディザーは正弦波の平均振幅に影響を及ぼさない、又は平均振幅を変えない。これは、ベース励磁信号452及び偶数高調波が同じ位相を有し、高調波信号がベース励磁信号452と同じ機能を有するからである。したがって、ディザーは、付加的な誤差及び精度の低下を引き起こすノイズを導入しない。
【0152】
図24は、ディザ処理された励磁信号によって生成されたリゾルバ出力に基づいて生成されたADC出力2402を示すダイアグラム2400である。
図22Bのディザ処理なしの励起信号に基づいて生成されたADC出力2252と比較すると、ディザ処理された励起信号に基づいて生成されたADC出力2402はより多くの可変性を有し、ADC出力2402はある期間又はある量に関して同じ値をラッチすることはない。したがって、累積出力1024は変動し、ゼロになる可能性がある。したがって、推定角度2002は、
図25に示すように、実際の角度2004の過大評価及び過少評価によって変動することがありうる。
【0153】
図25は、
図23のディザ処理された励磁信号352に基づいて生成されるリゾルバ出力に基づいて決定された角度を示すダイアグラム2500である。
図25では、モーターのドライブシャフトの推定角度2002は、ドライブシャフトの実際の角度2004を追跡する。ディザ処理された励磁信号352により、推定角度2002はドライブシャフトの実際の角度2004の過大評価と過少評価との間で切り替わる。このため、推定角度2002を平均化(例えば、1秒間隔での平均化)することで、ディザ処理された励磁信号352によりリゾルバシステム204は0.01arc-secの精度を実現することができる。0.01arc-secの精度は、
図22Aの推定角度2002の精度と比較して、複数桁の精度の向上を示す。
【0154】
図26は、励磁信号生成のためのロジック2602の実施例を示す論理
図2600である。ロジック2602は、
図3のデュアルスピードリゾルバ312など、能動的なセンサに提供される励磁信号を生成するように構成される。例えば、ロジック2602はデジタル差動出力をDAC310に出力し、DAC310はデジタル差動出力をリゾルバ342、344の回転一次コイル422に提供される励起信号に変換する。ロジック2602の動作は、
図2の励磁信号生成システム202(例えば、励磁信号生成回路)によって実行されうる。
【0155】
ロジック2602は、
図3のディザ処理された励磁信号352又は
図4の励磁信号452を含む、異なるタイプの励起信号を生成することができる。ロジック2602は、励磁信号を生成するように構成された一又は複数のロジックチェーンを含む。
図26で示されるように、ロジック2602は、3つのロジックチェーン2612~2616を含む。各ロジックチェーン2612~2616は、励磁信号の一部の生成を対象としている。他の実装では、ロジック2602は追加のロジックチェーン又は少数のロジックチェーンを含みうる。
図26に示した例では、ロジック2602はロジックチェーン2612~2616を含み、そのうちの2つ(ロジックチェーン2612と2614)は能動的である。
【0156】
最初のロジックチェーン2612は、1次高調波(すなわち、ベース励磁信号452)を生成するように構成されている。第2のロジックチェーン2614は、ディザーを生成するように構成されている。
図26に示すように第2のロジックチェーン2614は、ベース励磁信号の高次偶数高調波を生成するように構成されている。高次偶数高調波の実施例は16次高調波である。他の高次偶数高調波は、ADC及びDACのサンプリングレート、ハードウェアの周波数、又はこれらの組み合わせに応じて使用されうる。例えば、他の実装では、8次高調波、10次高調波、12次高調波、18次高調波、24次高調波、32次高調波、64次高調波など、又はこれらの組み合わせが使用されうる。第3のロジックチェーン2616は、ベース励磁信号の低次偶数高調波を生成するように構成されている。
図26に示すように第3のロジックチェーン2616は、ベース励磁信号452の3次高調波を生成するように構成されている。一又は複数の低次奇数高調波を加算すると、励磁信号は「矩形」になる傾向がある。他の低次奇数高調波は、励磁信号を矩形にするため、単独で、或いは3次高調波と組み合わせて使用されうる。励磁信号の矩形化により、センサ出力の信号対ノイズ比が向上しうる。
【0157】
動作中、第1のロジックチェーン2612は、ベース励磁信号452を生成する。
図26に示すように、第1のロジックチェーン2612は、ベース励起信号452を差動信号(正および負の信号構成要素を含む)として生成する。第1のロジックチェーン2612は2つの入力を受信する。入力2652の正弦関数と入力2654の正弦関数に対して設定される振幅である。幾つかの実装では、第1のロジックチェーン2612により、正弦関数のビット数、振幅設定、又はその両方が減少する。追加的に又は代替的に、第1のロジックチェーン2612は、ユーザー定義した値(例えば、
図26では0.1)の加算により振幅設定をシフトする。第1のロジックチェーン2612は、正弦関数にシフトされた振幅設定を乗ずることによって、中間正弦波を生成する。
【0158】
第1のロジックチェーン2612は、中間正弦波に基づいて差動出力(例えば、正の出力と復の出力)を生成する。例えば、第1のロジックチェーン2612は、中間正弦波の各値に対して正の値と負の値を生成することに基づいて、差動出力を生成するように構成された変換ロジック2622を含む。
【0159】
幾つかの実装では、変換ロジック2622は更に、正及び負の出力を符号なしの値に変換し、
図3のDAC310で処理するために正及び負の出力のビット数を更に減らすように構成されている。正及び負の出力のビット数を減らしても、正及び負の出力が、DAC310が処理するように構成されているビット数よりも多くのビットを有するときには、慣性計測装置102の精度は低下しない。加えて、第1の変換ロジック2622は、中間電圧バイアス値2630の加算に基づいて正及び負の出力を調整する。
図26では、中電圧バイアス値2630は2^11-1で、DAC310は12ビットDACである。
【0160】
第1のロジックチェーン2612は、第1のロジックチェーン2612の正及び負の出力を結合器2624、2626に提供する。第1のロジックチェーン2612の正及び負の出力は、ベース励磁信号452(又は、ディザ処理された励磁信号352の1次高調波)に対応する。
【0161】
第2のロジックチェーン2614は、第1のロジックチェーン2612によって生成された励磁信号に追加(結合)されるディザーを生成する。第2のロジックチェーン2614は2つの入力を受信する。入力2662の正弦関数の高次偶数高調波と、入力2664の正弦関数の高次偶数高調波に対して設定される振幅である。幾つかの実装では、ロジックチェーン2614は、正弦関数の高次偶数高調波のビット数、高次偶数高調波の振幅設定、又はその両方を低減する。追加的に又は代替的に、第2のロジックチェーン2614は、ユーザー定義した値(例えば、
図26では0.01)の加算により振幅設定をシフトする。第2のロジックチェーン2614は、正弦関数の高次偶数高調波にシフトされた振幅設定を乗じて、高次偶数高調波信号2666(すなわち、ディザ処理された励磁信号352のディザーの例)を生成する。
【0162】
第2のロジックチェーン2614は、高次偶数高調波信号2666に基づいて、差動出力(例えば、正の出力と負の出力)を生成する。例えば、第2のロジックチェーン2614は、高次偶数高調波信号2666の各値に対して正の値と負の値を生成することに基づいて、差動出力を生成するように構成された変換ロジック2622を含む。
【0163】
第2のロジックチェーン2612(又は変換ロジック2622)は、正及び負の出力を符号なしの値に変換し、更に、第1のロジックチェーン2602と同様のDAC310による処理のために、正及び負の出力のビット数を減らしうる。
【0164】
第3のロジックチェーン2606の動作は、第2のロジックチェーン2614の動作と同様である。特定の実装では、第3のロジックチェーン2602の振幅設定はゼロで、すなわち、ロジック2602は励磁信号を生成するために3次高調波を使用しない。
【0165】
結合器2624、2626は、ロジックチェーン2612~2616の出力を結合する。例えば、結合器2624は、第1のロジックチェーン2612と第2のロジックチェーン2614の正の出力を加算し、正の結合出力を生成する。結合器2624は、第1のロジックチェーン2612と第2のロジックチェーン2614の負の出力を加算し、負の結合出力を生成する。ロジック2602は、正と負の結合した出力を、出力端子2642、2644を経由してDAC310に提供する。DAC310は、結合した出力をディザ処理された励磁信号352に変換する。他の実装では、結合器2624、2626は、第3のロジックチェーン2616の出力を減算することもある。
【0166】
幾つかの実装では、ロジック2602は初期化処理のためのロジックを含む。
図26に示したように、ロジック2602は、スイッチ2632、2634、ブール入力2636(
図26の[フリーズ]というラベル)、及び中電圧初期化値2638を含む。
図26に示した実施例では、DAC310は12ビットDACで、中電圧値は12ビット値(2^11-1)の2分の1である。スイッチ2632、2634は、ブール入力2636に基づいて、結合器2624、2626の結合された励磁信号出力、又は中電圧初期化値2638の出力動作を切り替えるように構成されている。
図26に示すように、ロジック2602はスイッチ2632、2634の位置によって示されているように、初期化モードでは動作しない。
【0167】
幾つかの実装では、記憶されている値のテーブル(ルックアップテーブルなど)を使用して正弦関数入力が生成される。特定の実装では、正弦関数のルックアップテーブルは共有される。すなわち、正弦関数を生成する1つの正弦ルックアップテーブルは3つのロジックチェーン2612~2616の入力になる。また、正弦ルックアップテーブルは、本書で更に説明されるように、慣性計測装置102の他の構成要素又はロジックと共有されうる。例えば、正弦ルックアップテーブルは、総当たりスケジューリングによって他の構成要素及びロジックと共有されうる。他の実装では、正弦関数入力は一連の算術論理演算(例えば、加算とシフト演算)、又はテイラー展開を用いて計算される。
【0168】
図27は、リゾルバドライバ回路2702の実施例を示す回路
図2700である。リゾルバドライバ回路2702は、
図3及び
図4の励起信号352、452などの差動励起信号を生成し、端子2712及び2714を介して差動励起信号をリゾルバに送信する。リゾルバドライバ回路2702は、
図2の励磁信号生成システム202を含むか、これに対応しうる。幾つかの実装では、差動励起信号はモーターの電流駆動切替と時間調整される。
【0169】
リゾルバドライバ回路2702は、低精度のADC2704及び高精度のADC2706を含む。例えば、低精度のADC2704は10ビット又は12ビットADCで、高精度のADC2706は16ビットADCであってよい。他の実装では、他のサイズのADCが使用されうる。低精度のADC2704及び高精度のADC2706は、励磁信号(又はディザ処理された励磁信号352)を、PWM242、ADC318、320、並びに
図2及び
図3の復調システム222と時間調整するように構成されている。
【0170】
低精度のADC2704は、リゾルバ出力を受信し、差動励起信号を生成するように構成されている。低精度のADC2704は、差動励磁信号をリゾルバに提供する。例えば、低精度のADC2704は、差動信号を、端子2712及び2714を介して、
図3のデュアルスピードリゾルバ312の特定のリゾルバに提供する。低精度のADC2704はまた、シリアル・ペリフェラル・インターフェイス(SPI)励磁信号2742を生成し、SPI励磁信号2742を慣性計測装置102の構成要素(そのFPGAなど)に送信するように構成されている。
【0171】
高精度のADC2706は、リゾルバ出力を受信し、SPIフィードバック信号2744を生成するように構成されている。SPIフィードバック信号2744は、FPGAなどの慣性計測装置102の構成要素(そのFPGAなど)に提供される。SPI励磁及びフィードバック信号2742、2744は、慣性計測装置102の構成要素間の時間調整を可能にする。SPI励起及びフィードバック信号2742、2744は、リゾルバフィードバックに基づいて生成されうる。例えば、SPI励磁信号2742は、正の正弦と余弦のフィードバックに基づいて生成され(負の正弦と余弦のフィードバックには依存しない)、SPIフィードバック信号2744は、差動正弦及び余弦のフィードバックに基づいている。
【0172】
動作中、リゾルバドライバ回路2702は、端子2722及び2724で、デュアルスピードリゾルバ312の特定のリゾルバ(リゾルバ342、344のうちの1つなど)から、差動正弦フィードバックを受信する。リゾルバドライバ回路2702は、端子2732及び2734で、特定のリゾルバから、差動余弦フィードバックを受信する。差動正弦及び余弦フィードバックは、差動リゾルバ励磁信号とフィードバック信号を生成するように使用される。差動励起信号とSPI励磁信号2742は、リゾルバフィードバックに基づいて生成されるため、DAC310、デュアルスピードリゾルバ312、差動電圧センサ314、316、又はこれらの組み合わせは、時間調整されうる。SPIフィードバック信号2744はリゾルバフィードバックに基づいて生成され、リゾルバシステム204のタイミング(例えば、入力と出力のタイミング)を示すため、復調システム222、デュアルリゾルバコンビネーションシステム224、フィードバック制御システム232、PWM242、またはこれらの組み合わせは、互いに時間調整され、SPI励起信号2742によって調整された時間調整された構成要素になりうる。一例を挙げると、SPI励起信号2742及びフィードバック信号2744は、データとクロックデータ(例えば、データをサンプリングするタイミング)を示し、これにより構成要素間の同期を可能にする。追加的に又は代替的に、PWM242は、
図33~35に示すように、カウンタ又はクロック同期によって上記の構成要素と時間調整することもできる。
【0173】
図28は、モータードライバ回路2802の実施例を示す回路
図2800である。モータードライバ回路2802は、
図1及び
図2の電源252とモーター124に連結されている。
図28に示したモータードライバ回路2802は、
図1のインバータ112など、3相モーターのインバータに対応する。このような実装では、電源252はモータードライバ回路2802にDC電源を供給する。モータードライバ回路2802は、
図3を参照して説明されているように、DC電源をAC信号に変換し、AC信号(AC電源信号380など)をモーター124に供給する。他の実装では、モーター124は3を超える位相又は3未満の位相を有しうる。複数のジンバル122を備えるジンバル装置114を含む慣性計測装置102の場合、インバータ112は、対応するジンバル122を駆動する各モーター124に対してモータードライバ回路2802を有してもよい。
【0174】
モータードライバ回路2802は、3つのハーフブリッジに配置された6個のトランジスタ2822~2826、2832~2836を含む。他の実装では、6個のトランジスタ2822~2826、2832~2836がフルブリッジに配置されうる。6個のトランジスタ2822~2826、2832~2836は、特定のモーター124への電力供給を制御するように構成されている。第1、第2、第3のトランジスタ2822~2826は上部トランジスタに対応し、第4、第5、第6のトランジスタ2832~2836は下部トランジスタに対応している。第1及び第4のトランジスタ2822、2832は、モーターの第1の位相(第1レーン)に対応している。第2及び第4のトランジスタ2824、2834は、モーターの第2の位相(第2のレーン)に対応し、第3及び第6のトランジスタ2826、2836はモーターの第3の位相(第3のレーン)に対応している。幾つかの実装では、6個のトランジスタ2822~2826、2832~2836がNチャネルのMOSFETを含むか、これに対応している。6個のトランジスタ2822~2826、2832~2836は、
図3のトランジスタ336を含むか、これに対応しうる。
【0175】
幾つかの実装では、モータードライバ回路2802は、モータードライバ回路2802の電流を決定するように構成された、一又は複数の高帯域幅電流センサ2812を含む。
図28に示したように、モータードライバ回路2802は2個の高帯域幅電流センサ2812を含む。他の実装では、モータードライバ回路2802は、3個を超える高帯域幅電流センサ2812、又は2個未満の高帯域電流センサ2812を含む。
図28に示した特定の実施例では、高帯域幅電流センサ2812はホール効果電流センサを含むか、これに対応している。高帯域幅電流センサ2812は、モータードライバ回路2802の電流の連続組み込み試験を実行するように構成されている。
【0176】
幾つかの実装では、モータードライバ回路2802は、モータードライバ回路2802の電圧を決定するように構成された、一又は複数の電圧センサ2814を含む。
図28に示したように、モータードライバ回路2802は、3つの電圧センサ2814を含み、各電圧センサは上部トランジスタ2822~2826の出力端子(例えば、ソース)に連結されている。
図28に示したように、電圧センサ2814は、上部トランジスタ2822~2826の出力電圧を決定するように構成されており、この電圧はモーターに供給される電圧に対応していることがある。また、
図28は、上部トランジスタ2822~2826の第1のトランジスタ2822の概略図も示している。概略図は、3つの端子2862~2866を示している。トランジスタ2822は、第1の端子2862(例えば、ドレイン)、第2の端子2864(例えば、ゲート)、第3の端子2866(例えば、ソース)を含む。
【0177】
モータードライバ回路2802は、6個のトランジスタのゲート(第2の端子2864)を駆動するゲートドライバ2842を含む。ゲートドライバ2842は、6個のトランジスタ2822~2826、2832~2836のゲート(第2の端子2864)に起動信号を生成して提供するように構成されている。例えば、ゲートドライバ2842は、PWMパルス信号に応答する高/低論理信号を生成し、6個のトランジスタ2822~2826、2832~2836のゲート(第2の端子2864)に高/低論理信号を提供し、これによってモーターへの3相電力供給を制御する。
【0178】
モータードライバ回路2802は、上部トランジスタ2822~2826用のブートストラップ電源回路2844を含みうる。例えば、上部トランジスタ2822~2826がNチャネルMOSFETを含む場合、ブートストラップ電源回路2844は上部トランジスタ2822~2826を駆動するために使用される。
【0179】
モータードライバ回路2802は、上部トランジスタ2822~2826と下部トランジスタ2832-2836との間の出力を介して(例えば、出力2852を介して)、
図1のモーター124に連結されている。
図28に示したように、上部トランジスタ2822~2826の第3の端子2866(例えば、ソース)と下部トランジスタ2832~2836の第1の端子2862(例えば、ドレイン)はモーターに連結されている。
【0180】
幾つかの実装では、モータードライバ回路2802は、FPGAによって制御され、リゾルバ励起と時間調整される。例えば、モータードライバ回路2802は、
図32~
図35を参照して説明されているように、
図2のPWM242によって制御される。追加的に又は代替的に、モータードライバ回路2802はリゾルバ検知と時間調整されている。リゾルバの励起及び検知との時間調整により、リゾルバ出力のノイズと誤差が低減され、モーターのドライブシャフトの決定精度が向上する。例えば、時間調整は、モーター駆動の切替による電磁干渉を低減する。
【0181】
図29は、速度フィードバック及び位置フィードバックのためのカスケードフィードバックロジック2902の例を示すダイアグラム2900である。カスケードフィードバックロジック2902は、外側ループ2912と内側ループ2914を含む。外側ループ2912と内側ループ2914は、電流コマンド2940の結果として生成される位置フィードバック2924と速度フィードバック2936に対応するフィードバックループを意味する。電流コマンドは、
図3の電流コマンド372を含むか、これに対応しうる。
【0182】
外側ループ2912は位置フィードバックループに対応し、受信した位置コマンド2922に基づいてレートコマンド2930を生成するように構成されている。位置コマンド2922と位置フィードバック2924は、中間信号(例えば、誤差信号)の生成に使用される。制御ゲインは、レートコマンド2930の生成のため中間信号に適用される。レートコマンド2930は、位置の変化率などのレートを示す。レートコマンド2930(カスケードフィードバックロジック2902によって生成される)は、(フライトコンピュータから受信する)速度コマンド2932と同様の速度を示しうるが、レートコマンド2930は速度コマンド2932とは異なる単位になることがある。例えば、レートコマンド2930はラジアン/秒で、速度コマンド2932はRPMで表されうる。
【0183】
内側ループ2914は、制限されたレートコマンド2934を生成するため、速度コマンド2932(例えば、RPMコマンド)に基づいて、レートコマンド2930を制限するように構成されている。速度フィードバック2936(例えば、RPMフィードバック)は制限されたレートコマンド2934に適用され、RPMゲイン2938(Krpm)などの第2の制御ゲインは、電流コマンド2940を生成するように適用される。内側ループ2914は電流コマンド2940を出力し、
図3の電流トラッカ330などによって、電流コマンド2940はPWM242のデューティサイクル値に変換される。
【0184】
動作中、外側ループ2912は、
図2のフライトコンピュータ254から位置コマンド2922を受信し、リゾルバシステム204から位置フィードバック2924を受信する。外側ループ2912は、位置コマンド2922から位置フィードバック2924を差し引くことで誤差信号を生成する。制御ゲインは、レートコマンド2930の生成のため誤差信号に適用される。例えば、誤差信号には比例ゲイン2926が乗算され、誤差信号(又はその積分)には積分ゲイン2928が乗算される。外側ループ2912は、内部ループ2914にレートコマンド2930を提供する。
【0185】
内側ループ2914レートは、速度コマンド2932に基づいてレートコマンド2930を制限する。例えば、レートコマンド2930は、速度コマンド2932がレートコマンド2930よりも低いRPMを示すときに減少する。一例を挙げると、速度コマンド2932で示されたRPMが、レートコマンド2930の位置の値の変化よりも少ない(遅い)位置の変化に対応する場合には、内側ループ2914は、速度コマンド2932の位置の値の変化に対して、レートコマンド2930の位置の値の変化を減少させる。内側ループ2914は、
図2のリゾルバシステム204から受信した速度フィードバック2936を制限されたレートコマンド2934から差し引き、第2の誤差信号を生成する。電流コマンド2940は、第2の制御ゲインを第2の誤差信号に適用することに基づいて生成される。例えば、第2の誤差信号に、RPMゲイン2938が乗ぜられる。内側ループ2914は、
図1のモーター124のトルクを示す電流コマンド2940を、
図1のインバータ112に提供し、これにより、電流コマンド2940に基づいてモーター124の動作を制御する。
図1のジンバル122の配置に使用されるモーター124など、特に低減衰システムでは、カスケードフィードバックロジック2902の内側ループ2914は実装が困難になることがありうる。
【0186】
図30は、速度と位置を結合したフィードバック制御のためのロジック3002の例を示す論理
図3000である。
図29のダイアグラム2900と比較すると、ロジック3002は、位置と速度を結合したフィードバック用の単一のフィードバックループを含む。ダイアグラム2900とは対照的に、ロジック3002は別々のフィードバックループとしてではなく、減衰用の速度フィードバック2936を使用する。また、ロジック3002は、フィードバックを適用する前に、レート制限された位置コマンド3034(例えば、速度と位置を結合したコマンド)を生成する。ロジック3002は、
図29のカスケードフィードバックロジック2902と比較して、
図1のジンバル122の位置決めに使用されるモーター124など、低減衰モーターの制御を改善し、複雑さを単純化する。
【0187】
ロジック3002は、動作中に
図2のフライトコンピュータ254から位置コマンド2922と速度コマンド2932を受信する。レート制限された位置コマンド3034を生成するため、ロジック3002は速度コマンド2932に基づいて位置コマンド2922をレート制限する。例えば、(前の位置に対する位置の最大変化を表す位置の値に変換された)速度コマンド2932の位置の値が、位置コマンド2922の位置の値によって示された前の位置に対する第2の位置の変化よりも、前の位置に対する小さな位置の変化がより小さくなることが示される場合には、位置コマンド2922の位置の値は小さくなる。
【0188】
レート制限された位置コマンド3034は、誤差信号3012が生成される(又は制御ゲインが適用される)前に生成される。ロジック3002は、レート制限された位置コマンド3034から位置フィードバック2924を差し引くことによって、誤差信号3012を生成する。例えば、位置の誤差を生成するため、レート制限された位置コマンド3034の位置の値は、位置フィードバック2924の位置の値に基づいて調整される。
【0189】
ロジック3002は誤差信号3012に制御ゲインを適用する。例えば、ロジック3002は、誤差信号3012に比例ゲイン2926を乗じ、誤差信号3012に積分ゲイン2928を乗じる。ロジック3002は、誤差信号3012とゲイン2926、2928との2つの積の和に基づいて、調整された誤差信号3014を生成する。特定の実装では、第1の積は誤差信号3012と比例ゲイン2926の積の微分係数(derivative)に対応する。
【0190】
加えて、ロジック3002は、速度フィードバック2936に基づいて、調整された誤差信号3014を減衰しうる。ロジック3002は、速度フィードバック2936にRPMゲイン2938(例えば、減衰係数)を乗じて、RPM減衰値3016を生成する。ロジック3002は、調整された誤差信号3014からRPM減衰値3016を差し引いて、調整された誤差信号3014を減衰する。例えば、調整された誤差信号3014の減衰により、減衰された誤差信号が生成される。ロジック3002は、減衰された誤差信号に基づいて、電流コマンド2940を生成する。例えば、ロジック3002は減衰された誤差信号を積分して電流コマンド2940を生成する。
図29のカスケードフィードバックロジック2902と比較して、ロジック3002は、低複雑度の(例えば、複数の制御ループやネストされた制御ループがない)低減衰モーターの制御と安定性を向上させる。
【0191】
図31及び
図32は、複数の動作モードを含む速度と位置を結合したロジックの例を示す論理図である。
図31と
図32に示すように、図はわかりやすく簡略化されている。例えば、
図31のダイアグラムの幾つかのロジックボックスは空白のまま、
図32についての説明がなされるが、その逆も同様である。また、変換、シフト、ホールド、定数値の一部もわかりやすくするため、説明から除外されている。
図31及び
図32では、変換ロジックボックスは、ビット変換については「C」で、符号付き/符号なし変換については「si」で表されている。シフトロジックボックスは、3つの文字列で表され、「S」、方向(すなわち、「L」と「R」)、とビット数が含まれる。絶対値ロジックボックスは「abs」で示され、ホールド又は遅延ユニットは「1/z」で示される。
【0192】
図31を参照すると、ダイレクト速度コマンドモードを含む、速度と位置を結合したフィードバック制御のためのロジック3102の実施例の論理
図3100が示されている。
図30のロジック3002と比較して、ロジック3102は、ダイレクト速度モード又は位置と速度のモードで動作するように構成されている。ダイレクト速度モード及び位置と速度のモードの両方を利用することにより、ロジック3102は、モーター124のトルク又は速度を調整することによってモーター124を制御することができる。ロジック3102は、ダイレクト速度コマンドモードロジック3112、位置コマンドロジック3114、速度コマンドロジック3116、レートリミッタロジック3118、誤差生成ロジック3120、コンバインド比例ゲインロジック3122、コンバインド積分ゲインロジック3124、及び出力ロジック3126を含む。
【0193】
ダイレクト速度コマンドモードロジック3112は、速度コマンド2932に基づく導出(derived)位置コマンド3132を生成するように構成されている。導出位置コマンド3132は、前の位置からの位置の変化の増分を示す。ダイレクト速度モードは、ダイレクトRPMコマンドモードを含むか、これに対応する。ダイレクトRPMコマンドモードは、フライトコンピュータ254が
図3のコマンド370だけに速度コマンド2932(RPMコマンド)を提供するモードを含むか、これに対応する。第1のモード(位置と速度のモード)から第2のモード(ダイレクト速度モード)に切り替えた後、ダイレクト速度コマンドモードロジック3112は、導出位置コマンド3132の代わりに、
図2のリゾルバシステム204によって決定されたモーターの位置(例えば、推定位置366)を出力するように構成されている。モード切り替え後の推定位置366を出力することで、ダイレクト速度コマンドモードロジック3112によりモーターの円滑な動作が可能になる(例えば、モード切替による急激な動きを低減または解消することができる)。ダイレクト速度コマンドモードロジック3112はダイレクト速度回路によって実行されうる。例えば、ダイレクト速度回路には、
図31に示すように、ダイレクト速度コマンドモードロジック3112の動作を実行するために、一又は複数の結合器、乗算器、遅延素子、スイッチなどが含まれる。
【0194】
位置コマンドロジック3114は、例えば、
図2のフライトコンピュータ254などから位置コマンド2922を受信し、第1のモードにあるとき、位置コマンド2922をレートリミッタロジック3118に出力するように構成されている。位置コマンドロジック3114は、第2のモードにあるとき、導出位置コマンド3132を出力するように構成されている。例えば、位置コマンドロジック3114は、ロジック3102が第2のモードで動作していることを示すブール入力に基づいて、導出位置コマンド3132をレートリミッタロジック3118に提供するように構成されたスイッチ3134を含む。したがって、出力ロジック3126は、速度コマンド2932に基づいて、また、第2のモードで動作中には位置コマンド2922とは独立に、電流コマンド2940を生成する。
【0195】
速度コマンドロジック3116は、速度コマンド2932を受信し、速度コマンド2932をレートリミッタロジック3118に提供するように構成されている。幾つかの実装では、速度コマンドロジック3116は、速度コマンド2932を符号なし整数に変換し、速度コマンド2932を絶対値に変換するように構成されている。追加的に又は代替的に、速度コマンド2932はリゾルバ用に調整されうる。例えば、速度コマンド2932は、モーターのRPMとリゾルバ速度との差を考慮して、速度コマンド2932に定数値を乗じることによって調整されうる。
【0196】
レートリミッタロジック3118は、第1のモードにあるとき、位置コマンド2922と速度コマンド2932に基づいて、レート制限された位置コマンド3034を生成するように構成されている。レートリミッタロジック3118は、第2のモードにあるとき、速度コマンド2932に基づいて、レート制限されたコマンド3034を生成するように構成されている。幾つかの実行形態では、レートリミッタロジック3118は、
図32を参照して説明されているように、初期化モードで動作するように更に構成されている。
【0197】
誤差生成ロジック3120は、
図2のリゾルバシステム204のレート制限された位置コマンド3034と位置フィードバック2924に基づいて、(位置誤差を示す)誤差信号3012を生成するように構成されている。例えば、誤差生成ロジック3120は、レート制限された位置コマンド3034から位置フィードバック2924を差し引くことによって、誤差信号3012を生成する。誤差生成ロジック3120の動作は誤差信号生成回路によって実行されうる。例えば、
図31に示すように、誤差信号生成回路は結合器を含む。
【0198】
コンバインド比例ゲインロジック3122は、誤差信号3012に比例ゲイン2926を適用するように構成されている。コンバインド比例ゲインロジック3122は、誤差信号3012と比例ゲイン2926との積を出力ロジック3126に出力するように構成されている。特定の実装では、積を生成するため、比例ゲイン2926には誤差信号3012の微分係数が乗ぜられる。コンバインド積分ゲインロジック3124は、誤差信号3012に積分ゲイン2928を適用するように構成されている。コンバインド積分ゲインロジック3124は、出力ロジック3126に誤差信号3012と積分ゲイン2928の積を出力するように構成されている。
【0199】
出力ロジック3126は、比例ゲイン2926と積分ゲイン2928に基づいて、電流コマンド2940を生成するように構成されている。例えば、出力ロジック3126は、調整された誤差信号3014を生成するため、2つの積を加算するように構成されている。出力ロジック3126は、調整された誤差信号3014に基づいて、電流コマンド2940を生成するように構成されている。例えば、出力ロジック3126は、電流コマンド2940を生成するため、調整された誤差信号3014を積分するように構成されている。特定の実装では、積分した調整された誤差信号3014は、電流コマンド2940を生成するため、最大電流値と最小電流値に基づいて制限されうる。出力ロジック3126は、出力端子3130を介して電流コマンド2940を出力する。
【0200】
幾つかの実装では、ロジック3102は更に減衰ロジック3128を含む。減衰ロジック3128は、減衰された誤差信号3138を生成するため、調整された誤差信号3014に適用される減衰値3016を生成する。このような実装では、減衰された誤差信号3138は、電流コマンド2940を生成するため積分される。加えて、ロジック3102は、減衰モードを制御する、すなわち、減衰を適用するか否かのスイッチ(図示せず)を含みうる。減衰ロジック312の動作は、減衰回路によって実行されうる。例えば、減衰回路は、
図31に示したように、減衰ロジック3128の動作を実行するため、一又は複数の結合器、乗算器、遅延素子、スイッチなどを含む。
【0201】
図32を参照すると、ダイレクト速度コマンドモードを含む、速度と位置を結合したフィードバック制御のためのロジック3202の実施例の論理
図3200が示されている。ロジック3202は、
図31のロジック3102と同様のロジックを含み、追加的に初期化ロジック3204を含む。初期化ロジック3204は、追跡ロジック3212及び初期条件(ic)ロジック3214を含む。
【0202】
初期化ロジック3204は、初期化入力を受信し、生成するように構成されている。例えば、追跡ロジック3212は、位置追跡可能な入力3222とRPM追跡可能な入力3224を受信するように構成されている。追跡ロジック3212は、「真」(又は追跡可能)であることを示す、位置追跡可能な入力3222又はRPM追跡可能な入力3224のいずれかに基づいて、追跡入力3226を出力として生成する。
【0203】
icロジック3214は、位置追跡可能な入力3222、RPM追跡可能な入力3224、初期化フィルタ入力3228、サーボオフセット出力1866、及びRPMパルス追跡可能な入力3230に基づいて、ic入力3232を出力として生成するように構成されている。
【0204】
ロジック3202は、ロジック3102と比較して、追加のスイッチ3242~3248を含む。スイッチ3422~3428は、一又は複数の初期化入力3222~3232に応答する初期化値(例えば、0又はヌル値)を入力するように構成されている。例えば、第1のスイッチ3242は、初期化フィルタ入力3228を受信し、リゾルバによって決定されたモーターの位置を出力するか、又は初期化フィルタ入力3228に基づいて位置コマンド2922を出力する。一例を挙げると、初期化モードでは、レートリミッタロジック3118にモーターの推定位置366が提供され、初期化モードの後に、位置コマンド2922がレートリミッタロジック3118に提供される。
【0205】
加えて、レートリミッタロジック3118は更に、
図2のリゾルバシステム204及びicイネーブル入力によって決定されたモーターの現在の位置(例えば、
図3の推定位置366)を受信するように構成されています。レートリミッタロジック3118は、レート制限された位置コマンド3034が「真」を示すicイネーブル入力に応答するように、モーターの現在位置を出力するように構成されている。特定の実装では、icイネーブル入力は、ic入力3232と遮断入力3236に基づいて生成される。例えば、OR論理ゲートは、icイネーブル入力3232と遮断入力3236を生成する。一例を挙げると、ic入力3232又は遮断入力3236のいずれかが「真」を示すときには、icイネーブル入力は「真」を示し、レートリミッタロジック3118は、リゾルバによって決定されたモーターの現在の位置(例えば、推定位置366)をレート制限された位置コマンド3034として出力する。
【0206】
第2のスイッチ3244は追跡入力3226を受信し、追跡入力3226に基づいてゼロ値又は調整された誤差信号3014(又は、減衰された誤差信号3138)を出力する。第3のスイッチ3246はフリーズ入力3234を受信し、フリーズ入力3234に基づいてゼロ値又は調整された誤差信号3014(又は、減衰された誤差信号3138)を出力する。したがって、追跡入力3226又はフリーズ入力3234のいずれかが「真」の場合、第3のスイッチ3246は調整された誤差信号3014(又は、減衰された誤差信号3138)の代わりにゼロを出力する。
【0207】
第4のスイッチ3248は、ic入力3232と遮断入力3236に基づいて生成されたブール出力を受信する。ブール出力に基づいて、第4のスイッチ3248はゼロ値又は電流コマンドを出力する。
図32に示した実施例では、ブール出力はOR論理ゲートによって出力され、ic入力3232又は遮断入力3236が「真」の場合には、スイッチ3248はゼロを出力する。一例を挙げると、ロジック3202は、初期化モード及び遮断モード中にゼロ電流を示す電流コマンド2940を出力する。
【0208】
他の実装では、同等のロジックが使用されうる。例えば、第2のスイッチ3244と第3のスイッチ3246は、第4のスイッチ3248と対応するOR論理ゲートと同様に、1つのスイッチと論理ゲートによって置き換えることができる。
【0209】
図33は、調整可能な比較基準によるPWM動作の例を示すダイアグラム3300である。PWM(
図2のPWM242など)は、比較値と少なくとも1つの比較基準を含む設定点信号を受信する。少なくとも1つの比較基準はブール条件を含む。例えば、ブール条件は、「大なり」条件、「小なり」条件、「大なり又は等しい」条件、或いは「小なり又は等しい」条件を含むか、これらに対応する。他の実装では、比較値と少なくとも1つの比較基準が別々の信号で受信される。PWM242は、制御される構成要素への電力供給を制御するように構成されている。制御される構成要素は、発光ダイオード、デューティサイクルコントローラ、クロック信号生成器、バックコンバータ、サーボ、ステッパモーター、単相モーター、又は多相モーターを含みうる。
【0210】
図33では、カウンタ3302(アップダウンカウンタなど)は、ゼロから特定の数までカウントアップしてから、特定の数からゼロまで戻すように構成されている。
図33に示すように、カウンタ3302は、8192までカウントアップされ、カウンタ3302によって生成されたカウンタ信号3304は破線で示されている。PWM242は、カウンタ信号3304のカウンタ値と、設定点信号によって示された比較値3322(CMP)とを比較するコンパレータを含む。幾つかの実装では、カウンタ3302は
図8のカウンタ842と同期している。カウンタ842とカウンタ3302との同期により、モーターの電流駆動切替と
図2のリゾルバシステム204の励磁信号と同期させることが可能で、電流駆動切替によって影響を受けるデータをマスクすることができる。
【0211】
図33は、異なる設定点信号3312~3320に対するPWM242の動作を示している。第1の設定点信号3312は、比較値3322と2つの比較基準3324、3326を含む。PWM242は、設定点信号3312~3320を処理することによって、比較値3322と2つの比較基準3324、3326を決定する。例えば、PWM242は、比較値3322を得るため、第1の設定点信号3312を右にシフトする。PWM242は、2つの比較基準3324、3326を決定するため、第1の設定点信号3312の2つの最下位ビット(LSB)を使用する。
図1に示したように、第1の設定点信号3312は値16384を有する。第1の設定点信号3314の値16384を右シフトすることによって、比較値3322に対して値4096が生成される。二進法では、16384のLSBの2桁は「00」である。PWM242は、2ビット値「00」が第1の比較基準3324「大なり」と第2の比較基準3326「大なり」に対応すると判断する。PWM242は、2ビット値をロジックで処理することにより、又はテーブルルックアップを実行することによって、2ビット値が2つの比較基準3324、3326に対応するか、これらを示すと判断しうる。
【0212】
PWM242は、カウンタ3302の値に対して比較基準3324、3326を満たす比較値3322に応答するトランジスタのゲートに、高い信号を提供する(又は、高い信号が提供されるようにする)。トランジスタに高い信号を提供すると、トランジスタは起動する。
図33に示したように、比較値3322が4096で、カウンタ3302の値より大きい場合(例えば、カウンタ値が比較値3322の4096より小さい場合)、PWM242はトランジスタを起動する。
図33では、トランジスタは第1の設定点信号3312に対して、カウンタ値が4095のとき起動される。トランジスタの起動は、第1の設定点信号3312に基づいて、PWM信号のパルスのパルスエッジを生成する。
【0213】
PWM242は、カウンタ3302の値に対して比較基準3324、3326を満たさない比較値3322に応答するトランジスタのゲートに、低い信号を提供する(又は、低い信号が提供されるようにする)。トランジスタの低い信号を提供すると、トランジスタは停止する。比較値3322が4096で、カウンタ3302の値より小さい場合(例えば、カウンタ値が比較値3322の4096を上回る場合)、PWM242はトランジスタを停止する。
図33では、トランジスタは、第1の設定点信号3312に対してカウンタ値が4096のとき停止される。これはカウンタ値が4095のときトランジスタがオンであることを意味する。トランジスタ(及びPWM信号のパルスのパルス幅)がオンの時間は、
図33に形成されるクロスハッチングされた三角形の領域によって示されており、比較値3322が第1の設定点信号3312のカウンタ3302の値よりも大きい期間に対応している。第1の設定点信号3312のトランジスタがオンの時間は8190カウントで、すなわち、4095から0まで及び0から4095に戻るカウンタ値に対応するカウントである。
【0214】
PWM242は第2の設定点信号3314を受信する。第2の設定点信号3314は、16385の値を有する。第2の設定点信号3314の値16385を右シフトすると、比較値3322に対して4096の値が生成される。二進法では、16385のLSBの2桁は「01」である。PWM242は、2ビット値「01」が第1の比較基準3324「大なり又は等しい」と第2の比較基準3326「大なり」に対応すると判断する。
図33に示したように、PWM242は、比較値3322が4096で、カウンタ3302の値に等しいとき、すなわち、カウンタ値が4096のときに、トランジスタを起動する。トランジスタの起動は、第2の設定点信号3314に基づいて、PWM信号の第2のパルスのパルスエッジを生成する。比較値3322が4096で、カウンタ3302の値に等しい(超えない)とき、PWM242はトランジスタを停止する。
図33では、PWM242は、カウンタ値が4096のときトランジスタを停止する。トランジスタの停止は、第2の設定点信号3314に基づいて、PWM信号の第2のパルスの第2のパルスエッジを生成する。トランジスタ(及びPWM信号のパルスのパルス幅)がオンの時間は、
図33でクロスハッチングされた三角形の領域で示される。第1の設定点信号3312がオンの時間と比較して、第2の設定点信号3314がオンの時間は1カウント(すなわち、8192のうちの1)高くなっている。一例を挙げると、第2の設定点信号3314は、トランジスタがオンの時間が8191カウントであることを示している、すなわち、4096から0まで、及び0から4095までのカウンタ値に対応しているカウントを示している。
【0215】
従来のPWMでは、比較基準は常に同じ(例えば、「大なり」のみ、或いは「大なり又は等しい」のみ)である。したがって、パルスのパルス幅を増やすためには、比較値が変更される(第1の設定点信号3312と第5の設定点信号3320との間での4096から4097への比較値変更と同様に)。比較値3322を変更することにより、オンの時間又はパルス幅は2カウントだけ増加する。例えば、比較値3322が4096から4097に増えると(比較基準が常に「大なり」であるとして)、オンの時間は、4096に対する8190カウントから4097に対する8192カウントまで、2カウントだけ増える。一例を挙げると、値が4097である比較値3322に関しては、トランジスタがオンの時間は4097から0までと0から4097に戻るまでの間である。したがって、PWM242はモーター124の粒度を下げ、精度と制御を細かくする。
【0216】
PWM242は第3の設定点信号3316を受信する。第3の設定点信号3316は、値16386を有する。第2の設定点信号3314の値16385を右シフトすると、比較値3322に対して値4096が生成される。二進法では、16386のLSBの2桁は「10」である。PWM242は、2ビット値「10」が第1の比較基準3324「大なり又は等しい」と第2の比較基準3326「大なり」に対応すると判断する。第3の設定点信号3316は、第3の設定点信号3316に基づいて、PWM信号の第3のパルスを生成するため、第2の設定点信号3314と同じように動作する。
図34を参照して説明したように、マルチレーン実装では、第3の設定点信号3316は、第2のレーンの調整可能な比較基準との組み合わせにより、制御される構成要素への電力供給を1カウントだけ増やしうる。
【0217】
PWM242は第4の設定点信号3318を受信する。第4の設定点信号3318は、値16387を有する。二進法では、16387のLSBの2桁は「11」である。PWM242は、2ビット値「11」が第1の比較基準3324「大なり又は等しい」と第2の比較基準3326「大なり」に対応すると判断する。
図33に示したように、比較値3322が4096で、カウンタ3302の値に等しいとき、すなわち、カウンタ値が4096のときに、PWM242はトランジスタを起動する。トランジスタの起動は、第4の設定点信号3318に基づいて、PWM信号の第4のパルスのパルスエッジを生成する。PWM242は、比較値3322が4096でカウンタ3302の値より小さい(以上ではない)場合に、すなわち、カウンタ値が4097の場合にトランジスタを停止する。これはカウンタ値が4096であるときにはトランジスタがオンであることを意味する。トランジスタの停止は、第4の設定点信号3318に基づいて、PWM信号の第4のパルスの第2のパルスエッジを生成する。第2の設定点信号3314がオンの時間と比較して、第4の設定点信号3318がオンの時間は1カウント(すなわち、8192のうちの1)高くなっている。一例を挙げると、第2の設定点信号3314は、トランジスタがオンの時間が8191カウントであることを示し、第4の設定点信号3318はトランジスタがオンの時間が8192カウントであること、すなわち、4096から0まで、及び0から4096までのカウンタ値に対応するカウントであることを示している。
【0218】
PWM242は第5の設定点信号3320を受信する。第5の設定点信号3320は、値16388を有する。2進数では、16388を2ビット右シフトすると、比較値3322の値は4097になる。16388のLSBの2桁は「00」である。PWM242は、2ビット値「00」が第1の比較基準3324「大なり」と第2の比較基準3326「大なり」に対応すると判断する。第5の設定点信号3320は、第4の設定点信号3318と比較して、異なる比較値3322及び異なる比較基準3324、3326で動作するが、第4の設定点信号3318と同じカウント数のオンの時間を生成する。他の実装では、LSBの2桁の各ビットは特定の比較規則または条件に対応しうる。例えば、値0を有するビットは「大なり」条件を示し、値1を有するビットは「大なり又は等しい」条件を示しうる。
【0219】
図33に示すように、比較基準を調整する場合には、オンの時間は0.01250マイクロ秒ずつ増加し、これとは対照的に、比較値を調整する場合には0.0250マイクロ秒ずつ増加する。したがって、PWM242は、比較基準3324、3326を調整することによって、粒度を下げ、精度と制御を高めた。
図33に示した実施例では、PWM242は40メガヘルツの周波数を有する。リゾルバシステム204の周波数(2441.2ヘルツ)は、PWM242の周波数をPWM242の周期(8192)の2倍で除した値に等しい。
【0220】
他の実装では、1つの調整可能な比較基準が使用可能で、設定点信号のLSB1桁で示されうる。このような実装では、PWM242は依然として1カウンタ値の粒度、すなわち設定点信号の値の調節1回につき0.01250マイクロ秒を有する。一例として、第1の設定点信号3312の値が1だけ増えると、PWM242は第2の設定点信号3314と同様に動作する。第1の設定点信号3312の値が2だけ増加するのに応答して、PWM242は(第3の設定点信号3316とは対照的に)第5の設定点信号3320と同様に動作する。したがって、2つの調整可能な比較基準では、設定点信号を2ビット右にシフトするのに対して、1つの調整可能な比較基準を有する設定点信号は1ビットだけ右シフトされる。したがって、1つの調整可能な比較基準を有する設定点信号は、0~16384の値の範囲を有し、これとは対照的に、2つの調整可能な比較基準を有する設定点信号では0~32768の値の範囲を有する。このような実装は、LED、1相モーターなど、マルチレーン制御が使用されない場合に実装されうる。
【0221】
図33に示したように、設定点信号3312~3320は、PWM242の動作を説明するため、各サイクルの変化を示している。制御される構成要素の動作中、PWM242は各サイクルの設定点信号を受信し、設定点信号は、前のサイクルの前の設定点信号からの制御される構成要素のデューティサイクルの変化を示すこともあれば、示さないこともある。代替的に、PWM242は、ディーティ値の変化に応答して異なるデューティサイクルを示す設定点信号を受信し、新しい設定点信号が受信されるまで、現在の設定点信号(すなわち、比較値3322とその比較基準3324、3326)を維持しうる。
【0222】
図34は、調整可能な比較基準による2レーンPWM動作の実施例を示すダイアグラム3400である。ダイアグラム3400はAレーンとBレーンの動作を示している。特定の実装では、Aレーンは第1相の上部トランジスタに対応し、Bレーンは第2相の下部トランジスタに対応する。例えば、上部トランジスタは
図28の2822に対応し、下部トランジスタは
図28の2834に対応する。
【0223】
Aレーンは、
図33に関して説明されたPWMの動作と同様に動作する。BレーンはAレーンと同様に動作するが、逆向きである。特定の比較値3422(CMPB)が、
図33のカウンタ3302の値に関してBレーンの比較基準3424、3426(例えば、より小さい、或いはより小さい又は等しい)を満たしている場合、Bレーンは低い(例えば、接地に接続されている)。
【0224】
Aレーンが高く、Bレーンが低い場合、モーターなどの制御される構成要素間に電圧差が生じ、制御される構成要素に電流が供給される。Aレーンが高く、Bレーンが低い状態は、上部トランジスタ2822と下部トランジスタ2834を閉じるか、起動することによって実現可能である。トランジスタ2822及び2834を起動することにより、電流は、バッテリー(又は他の電源)から、上部トランジスタ2822を経由してモーター124まで、モーター124を経由して下部トランジスタ2834まで、また、下部トランジスタ2834経由して接地まで流れることができる。
図33に関して説明されているPWM242のパルスと比較して、Aレーン及びBレーンに対するPWM24のパルスは、各レーンの設定点信号の組み合わせによって生成される。前記別の方法で、特定のレーンの各設定点信号は、(
図33の1つのパルスの2つのパルスエッジではなく)2つの異なるパルスのパルスエッジを生成する。
図33では、制御される構成要素(例えば、モーター)に提供されたパルスはクロスハッチングされた三角形に対応している。
図34では、制御される構成要素(例えば、モーター)に提供されたパルスは点線の三角形に対応している。
図34に示した実装では、設定点信号3312~3320の各設定点信号は、第1のパルスの第1のパルスエッジと第2のパルスの第2のパルスエッジ、並びに、第1のパルスの第2のパルスエッジと第2のパルスの第1のパルスエッジを生成する設定点信号3412~3420の対応する設定点信号を生成する。
【0225】
Bレーンは第1の設定点信号3412を受信する。第1の設定点信号3412は、値16384を有する。値が16384である第1の設定点信号3412を2ビット右シフトすると(すなわち、4で割ると)、Bレーンの比較値3422(CMPB)が4096であることが示される。16384のLSBの2桁は「00」で、Bレーンの場合、LSBの2桁は第1の比較基準3424「小なり」と第2の比較基準3426「小なり又は等しい」を示す。
図34の水平ハッチングで示されているように、Bレーンは低く、一方、比較値3422はカウンタ3302の値以下になっている。
【0226】
PWM242は、カウンタ3302の値に対して比較基準3424、3426を満たさない比較値3422に応答する下部トランジスタ2834のゲートに、低い信号を提供する(又は、低い信号が提供されるようにする)。下部トランジスタの低い信号を提供すると、下部トランジスタ2834は停止する。比較値3422が4096で、カウンタ3302の値以下の場合(例えば、カウンタ値が比較値3322の値4096を下回る場合)、PWM242は下部トランジスタ2834を停止する。
図34では、第1の設定点信号3412に対してカウンタ値が4095のときに、下部トランジスタ2834は停止される。これは、カウンタ値が4096のときに下部トランジスタ2834がオンであることを意味する。上部トランジスタ2822を起動すると、第1の設定点信号3312、3412に基づいてPWM信号の第1のパルスの第1のパルスエッジが生成され、下部トランジスタ2834を起動すると、第1の設定点信号3312、3412に基づいてPWM信号の第1のパルスの第2のパルスエッジが生成される。
【0227】
下部トランジスタ2834がオンの時間は、
図34に形成されるクロスハッチングされた三角形の領域によって示されており、比較値3422が第1の設定点信号3412のカウンタ3302の値以下である期間に対応している下部トランジスタ2834がオンの時間は、第1の設定点信号3412と前の設定点信号(図示せず)によって示されている。設定点信号3412~3420は下部トランジスタ2834がオフの時間に対応し、設定点信号3312~3320は上部2822がオンの時間に対応している。
【0228】
PWM242は、カウンタ3302の値に対して比較基準3424、3426を満たす比較値3422に応答する下部トランジスタ2834のゲートに、高い信号を提供する(又は、高い信号が提供されるようにする)。下部トランジスタ2834の高い信号を提供すると、下部トランジスタ2834は起動する。
図34に示したように、比較値3422が4096で、カウンタ3302の値以下の場合(例えば、カウンタ値が比較値3422の値4096に達すると)、PWM242は下部トランジスタ2834を起動する。
図34では、下部トランジスタ2834は第1の設定点信号3412に対して、カウンタ値が4096のとき起動される。下部トランジスタ2834を起動すると、第1の設定点信号3312、3412に基づいてPWM信号の第2のパルスの第1のパルスエッジが生成され、上部トランジスタ2822を停止すると、第1の設定点信号3312、3412に基づいてPWM信号の第2のパルスの第2のパルスエッジが生成される。
【0229】
PWM信号の第1のパルスと第2のパルスは、モーターがオンの時間を示し、AレーンとBレーンがオンである時間(クロスハッチングされた三角形)の重なりに対応する。第1のパルスと第2のパルスは、
図34の破線の四角形で示されている。
図34に示したように、第1の設定点信号3312、3412の第1のパルスに関連付けられた第1のモーターがオンの時間は25nsで、第1の設定点信号3312、3412の第2のパルスに関連付けられた第21のモーターがオンの時間は25nsである。したがって、AレーンとBレーンの第1の設定点信号3312、3412に関連付けられたモーターがオンの時間の合計は50ナノ秒になる。
【0230】
Bレーンは、値16383を有する第2の設定点信号3414を受信する。値が16383である第2の設定点信号3414を2ビット右シフトすると(すなわち、4で割ると)、比較値3422が4095であることが示される。16383のLSBの2桁は「11」で、Bレーンの場合、LSBの2桁は第1の比較基準3424「小なり」と第2の比較基準3426「小なり」を示す。比較基準3424、3426が変化し、比較値3422が変化したため、Bレーンがオフの時間は変化しなかった。しかしながら、Aレーンの1つの比較基準(すなわち、第1の比較基準3324)が対応する第2の設定点信号3314で変化したため、第1の設定点信号3312、3412で前回のモーターがオンの時間の合計が50nsであったのに対して、モーターがオンの時間(デューティサイクル)の合計は第2の設定点信号3314、3414で25ns増加した。
図34に示したように、第2の設定点信号3314、3414の第1のパルスに関連付けられた第1のモーターがオンの時間は50nsで、第1の設定点信号3314、3414の第2のパルスに関連付けられた第2のモーターがオンの時間は25nsで、モーターがオンの時間の合計は75nsである。
【0231】
Bレーンは、値16382を有する第3の設定点信号3416を受信する。値が16382である第3の設定点信号3416を2ビット右シフトすると(すなわち、4で割ると)、比較値3322が4095であることが示される。16382のLSBの2桁は「10」で、Bレーンの場合、LSBの2桁は第1の比較基準3424「小なり」と第2の比較基準3426「小なり又は等しい」を示す。
図33を参照して説明したように、Aレーンは比較基準3324、3326、又は第2の設定点信号3312の比較値3322を変更しなかった。第2の設定点信号3416の第2の比較基準3426がBレーンで変化したため、第2の設定点信号3314、3414で、前回のモーターがオンの時間の合計が75nsであったのに対して、Bレーンがオフであった時間は増加し、モーター124がオンの時間(デューティサイクル)は25ns増加した。
図34に示したように、第1及び第2のモーターが第3の設定点信号3316、3416でオンの時間は50nsで、モーターがオンの時間の合計は100nsである。
【0232】
Bレーンは、値16381を有する第4の設定点信号3418を受信する。値が16381である第4の設定点信号3418を2ビット右シフトすると(すなわち、4で割ると)、比較値が4095であることが示される。16381のLSBの2桁は「01」で、Bレーンの場合、LSBの2桁は第1の比較基準3424「小なり」と第2の比較基準3426「小なり又は等しい」を示す。比較基準3424、3426が変化し、比較値3422が変化したため、Bレーンは低く、変化しなかった。しかしながら、Aレーンの1つの比較基準(すなわち、第2の比較基準3326)が対応する第4の設定点信号3318で変化したため、第3の設定点信号3316、3416で前回のモーターがオンの時間の合計が100nsであったのに対して、モーター124がオンの時間(デューティサイクル)は25ns増加した。
図34に示したように、第4の設定点信号3318、3418の第1のパルスに関連付けられた第1のモーターがオンの時間は75nsで、第4の設定点信号3318、3418の第2のパルスに関連付けられた第2のモーターがオンの時間は50nsで、モーターがオンの時間の合計は125nsである。
【0233】
Bレーンは、値16381を有する第5の設定点信号3420を受信する。値が16380である第5の設定点信号3420を2ビット右シフトすると(すなわち、4で割ると)、比較値3422が4095であることが示される。16380のLSBの2桁は「00」で、Bレーンの場合、LSBの2桁は第1の比較基準3424「小なり」と第2の比較基準3426「小なり又は等しい」を示す。第1の比較基準3424がBレーンで変化したため、第4の設定点信号3318、3418で、前回のモーターがオンの時間の合計が125nsであったのに対して、Bレーンがオフであった時間は増加し、モーター124がオンであった時間(デューティサイクル)は25ns増加した。
図34に示したように、第5の設定点信号3320、3420の第1のパルスに関連付けられた第1のモーターがオンの時間は75nsで、第5の設定点信号3320、3420の第2のパルスに関連付けられた第2のモーターがオンの時間は75nsで、モーターがオンの時間の合計は150nsである。
【0234】
図34に示したように、PWM242は、各レーンに1つずつ、複数の設定点信号を受信する。例えば、Aレーンは値16385を示す第2の設定点信号3314を受信し、Bレーンは値16383を示す第2の設定点信号3414を受信する。他の実装では、PWM242は、デューティサイクル値374と少なくとも1つの比較基準を示す1つの設定点信号を受信する。PWM242は、デューティサイクル値374に基づいて、各レーンの比較値3322、3422を計算する。例えば、PWM242は、式CMPA=DutyCycle*CTRPRD*4とCMPB=(1-DutyCycle)*CTRPRD*4を用いて、各レーンに対して比較値3322、3422を計算する。ここで、CTRPRDは最大カウンタ値(8192)である。
【0235】
幾つかの実装では、PWM242は各レーンの2つのトランジスタを制御するように構成されている。特定の実装では、PWM242はデッドバンド制御を提供するように構成されている。すなわち、PWM242は、レーンで2つのトランジスタが同時に起動されるのを防止するため、特定のトランジスタの起動を遅延させる。例えば、PWM242は、特定のレーンの下部トランジスタが停止できるように、特定のレーンの上部トランジスタの起動を遅延させる。この遅延はデッドタイム又はデッドティックと呼ばれる。PWM242は、
図35を参照して説明されるように、デッドティック設定又は決められた数のデッドティックに基づいて、トランジスタを更に起動するように構成されている。
【0236】
図35は、調整可能な比較基準及びデッドバンド制御によるPWMのロジック3502の実施例を示す論理
図3500である。PWMロジック3502は、
図3のトランジスタ336(例えば、トランジスタ2822~2826及び2832~2836)を制御し、
図1のモーター124に電力を供給するように構成されている。
図35では、PWMロジック3502は、位相又はレーンA、B、及びCを備える3相モーターを制御する。PWMロジック3502は、
図33と
図34を参照して説明されるように、1つの比較値と少なくとも1つの比較基準に基づいてトランジスタ336をいつ起動するかを決定するように構成されている。
図35では、PWMロジック3502は、デッドタイム入力3512と駆動イネーブル入力3514に更に基づいて、トランジスタ336をいつ起動するかを決定するように構成されている。例えば、PWMロジック3502は、特定のレーンの上部トランジスタと下部トランジスタの両方が同時にオンにならないように、デッドバンドを提供するレーンのオンのタイミングを調整しうる。
【0237】
PWMロジック3502は、各レーンに対して比較ロジックブロック3504を含む。比較ロジックブロック3504の各々は、デッドタイム入力3512と駆動イネーブル入力3514に更に基づいて、2つの出力、高アクティベーション出力3506と低アクティベーション出力3508を生成する。高アクティベーション出力3506と低アクティベーション出力3508は、論理値0又は1で示される「真」又は「偽」などのブール出力を含む。高アクティベーション出力3506と低アクティベーション出力3508は、
図33及び
図34で決定されたオンの時間と比較して、デッドバンドアクティベーション出力又は調整されたアクティベーション出力を含むか、これに対応しうる。デッドバンド制御を提供すると、特定の設定点信号によって示されるオンの時間の合計が減少することがあるが、デッドバンド制御は、オンの時間の制御の粒度や、調整可能な比較基準を示す設定点信号の精度を高めたり、低下させることはない。
【0238】
デッドタイム入力3512(DT)は、トランジスタ336のオンのタイミングを調整するように構成されている。デッドタイム入力3512の値は、現在のコマンド、ユーザー設定、またはその両方に基づいて決定されたデッドティックの数に基づいている。例えば、ユーザーはデッドティックの数に定数値を入力してもよい。別の実施例として、デッドティックの数は、電流コマンド2940、電源の電圧、或いはその両方に基づいて決定されてもよい。加えて、デッドティックは正又は負の場合があり、どちらかのトランジスタに関連しており、すなわち、上部のトランジスタ又は下部のトランジスタを、先に或いは後にオンにすることがある。
【0239】
駆動イネーブル入力3514(DE)は、PWM242による動作又は制御のため、特定のレーン又は位相を可能にするように構成されている。駆動イネーブル入力3514はブール入力又はブール値である。
図35に示されているように、駆動イネーブル入力3514は、レーン駆動イネーブル入力3516(例えば、[DEA])とシャットダウン入力3518([notSD])に基づいて、決定される。これらの各入力3516、3518はブール」値を含みうる。レーン駆動イネーブル入力3516は、モーターの特定のレーン又は位相が起動又は制御が可能になるように、制御するように構成されている。遮断入力3518は、モーター124を停止するため、すべてのトランジスタ336を開放するように構成されている。
図35に示したように、駆動イネーブル入力3514は、レーン駆動イネーブル入力3516と遮断入力3518を受信するAND論理ゲートの出力として生成される。一例を挙げると、レーン駆動イネーブル入力3516と遮断入力3518が論理値の「真」又は「高」を示すとき、駆動イネーブル入力3514は「真」又は「高」を示し、特定のレーンはPWMロジック3502によって制御可能になる。
【0240】
PWMロジック3502は、各レーンの高アクティベーション出力3506及び低アクティベーション出力3508に基づいて、ゲート高出力3532及びゲート低出力3534を生成するように構成されたゲートドライバ3522、3524を含む。ゲートドライバ3522、3524は、
図3のゲートドライバ334を含むか、これに対応しうる。ゲート高出力3532及びゲート低出力3534は、論理値0又は1によって示される「真」又は「偽」などのブール出力を含む。
【0241】
動作中、各比較ロジックブロック3504は、
図33及び
図34を参照して説明されるように、カウンタ3302、比較値3322、一又は複数の比較基準(例えば、比較基準3324、3326)に基づいて、対応するレーンのオンの時間を生成する。比較ロジックブロック3504は、デッドタイム入力3512に基づいて、特定のレーンに対してオンの時間を調整する。例えば、比較ロジックブロック3504は、デッドタイム入力3512値の各デッドティックに対して、Aレーンがオンの時間を短縮して、2ティック又は2カウントだけ高くなるよう(例えば、AH)にする。一例を挙げると、Aレーンの上部トランジスタがAレーンの下部トランジスタ2832と同時にオンにならないように、Aレーンの上部トランジスタ2822は、
図33及び
図34で決定されるよりも1カウンタ(1デッドティック)後にオンになり、1カウンタ(1デッドティック)前にオンになる。代替的に、比較ロジックブロック3504は、2デッドティック又は2デッドカウントだけ低くなるように、Aレーンがオンの時間を短縮して、2デッドティック又は2デッドカウントだけ低くなるよう(例えば、AL)にする。
【0242】
ゲートドライバ3522、3524は、各レーンに対して高アクティベーション出力3506と低アクティベーション出力3508に基づいて、ゲート高出力3532とゲート低出力3534を生成する。ゲート高出力3532及びゲート低出力3534は、上部トランジスタ及び下部トランジスタのどちらがオンであるか(すなわち、起動されているか)を示している。
図35に示したように、ゲートドライバ3522、3524は、一度に1つの上部トランジスタ(高トランジスタ)と1つの下部トランジスタを起動する。例示的な実施例として、ゲートドライバ3522、3524は、トランジスタ336の起動及び停止に使用される論理的な高/低信号(例えば、高電圧と低電圧)を生成する回路に、ゲート高出力3532とゲート低出力3534を提供する。
【0243】
図36は、デュアルリゾルバを使用して回転位置を決定する方法3600を示している。方法3600は、
図1のリゾルバ126、
図2のリゾルバシステム204、復調システム222、デュアルリゾルバコンビネーションシステム224、
図3のデュアルスピードリゾルバ312、粗いリゾルバ342、微細なリゾルバ344、
図5の出力回路532、角度結合回路542、ドリフト修正回路544、或いはこれらの組み合わせによって実行されうる。
【0244】
方法3600は3602で、粗いリゾルバから粗い位置信号と微細なリゾルバから微細な位置信号を受信することを含む。粗い位置信号はモーターのドライブシャフトの粗い位置を示し、微細な位置信号はモーターのドライブシャフトの微細な位置を示す。粗いリゾルバは、
図3の342を含むか、これに対応しうる。粗い位置信号は、
図3の差動電圧出力354、差動電圧信号356、ADC出力358、
図13の正弦値1312及び余弦値1314、或いはこれらの組み合わせを含むか、これらに対応し、微細な位置信号は、
図3の差動電圧出力354、差動電圧信号356、ADC出力358、
図12のADC出力信号1212、或いはこれらの組み合わせを含むか、これらに対応しうる。
【0245】
図36の方法3600はまた3604で、ドライブシャフトの初期位置を示す粗い位置信号に基づいて、初期位置出力を生成することを含む。初期位置出力は、
図20の初期位置出力2012を含むか、これに対応し、ドライブシャフトの初期位置は
図20の実際の角度2004を含むか、これに対応しうる。幾つかの実装では、初期位置出力は、デュアルスピードリゾルバ312の初期化モードの出力に対応する。
【0246】
図36の方法3600は3606で更に、ドライブシャフトのその後の位置を示す微細な位置信号に基づいて、その後の位置出力を生成することを含む。その後の位置出力は、
図20のその後の位置出力2014を含むか、これに対応し、ドライブシャフトのその後の位置は、
図20の実際の角度2004を含むか、これに対応しうる。幾つかの実装では、その後の位置出力は、デュアルスピードリゾルバ312の通常の動作モード(すなわち、非初期化モード)の出力に対応する。
【0247】
幾つかの実装では、粗い位置信号と微細な位置信号は、リゾルバによって受信された励磁信号に基づいて生成される。特定の実装では、励磁信号は、ディザ処理された励磁信号(例えば、
図3及び
図23のディザ処理された励磁信号352)を含むか、これに対応している。追加的に又は代替的に、励磁信号(又は、ディザ処理された励磁信号352)は、モーターの電流直接切替(current direct switching)と時間調整される。例えば、励磁信号は、
図2及び
図3を参照して説明されているように、モーター124の電流駆動切替からオフセットされている。一例を挙げると、励磁信号452は、励磁信号452のピーク振幅が電流駆動切替信号からオフセットされるように、モーター124に関連付けられた電流駆動切替信号と同期している。
【0248】
幾つかの実装では、
図18及び
図19を参照して説明されているように、その後の位置出力は、初期位置出力と微細な位置信号に基づいて生成されるが、その後の位置出力は、その後の粗い位置信号とは独立に生成される。
【0249】
幾つかの実装では、初期位置出力を生成することは、
図18及び
図19を参照して説明されているように、粗い位置信号に基づいてドライブシャフトの開始位置を決定し、初期化モード入力に基づく初期位置出力として開始位置を提供することを含む。例えば、ロジック1802は、「真」を示すブール入力1824(init_rslv)に応答するスイッチ1826から提供される推定初期位置1822(粗いリゾルバ342のリゾルバ出力354に基づいて決定された開始位置を示す)に基づいて、結合された推定位置1832を生成する。
【0250】
幾つかの実装では、その後の位置出力を生成することは、微細な位置信号を微分することと、微分された微細な位置信号を粗い位置信号に関連付けられた第1のドメインに変換することを含む。その後の位置出力を生成することは更に、初期位置出力、微分された微細な位置信号、及びドリフト修正値に基づいて、その後の推定位置を生成することを含み、
図18を参照して説明されているように、その後の推定位置に基づいて、その後の位置を出力することを含む。例えば、ロジック1802は、第2のドメイン角度推定値1812の現在の位置の値1816から前の位置の値1814を差し引くことによって、第2のドメイン角度推定値1812(微細なリゾルバ344の微細な位置信号に基づく第2のドメインの角度推定値364)を微分し、位置の値1818の変化を生成する。ロジック1802は、位置の値1818の変化を、変換された位置の値1820の変化に変換し、変換された位置の値1820の変化を結合器1830に提供する。結合器1830は、変換された位置の値1820の変化、遅延され結合された推定位置1844(例えば、初期位置出力又は初期の結合された推定位置1832)、及びドリフト修正値1828に基づいて、その後の結合された推定位置1832を生成する。
【0251】
幾つかの実装では、ドリフト修正値を生成することは、初期位置出力を微細な位置信号に関連付けられた第2のドメインに変換すること、並びに、変換された初期位置出力、微細な位置信号、及び180度バイアスオフセット値に基づいて誤差値を生成することを含む。ドリフト修正値を生成することは更に、
図19を参照して説明されているように、誤差値、比例ゲイン、及び積分ゲインに基づいて、ドリフト修正値を決定することを含む。例えば、ロジック1902は、遅延され結合された推定位置1844を1スピードドメインから16スピードに変換し、第2のドメイン角度推定値1812から、変換された指定角度1914と180度バイアスオフセット1918を差し引いて誤差値1920を生成する。ロジック1902は、誤差値1920、比例ゲイン1922、及び積分ゲイン1924に基づいて、ドリフト修正値1828を生成する。特定の実装では、誤差値1920は比例ゲイン1922に適用するため右シフトされ、積分ゲイン1924は誤差値1920に基づいて、1又は-1に対応する。
【0252】
幾つかの実装では、初期位置出力と複数のその後の位置出力は、その後の位置出力を含み、連続した計算に基づいて生成される。例えば、リゾルバシステム204は、入力パラメータが1回に1つ変化する連続関数に基づいて位置出力を生成する。
【0253】
幾つかの実装では、複数のその後の位置出力は、その後の位置出力を含み、モード切替又はカウンタのジャンプとは独立に生成される。例えば、リゾルバシステム204は、モード切替又はカウンタのリセットなしで、モーターのフル回転(0度から360度)の出力に対応する、複数のその後の位置出力を生成する。リゾルバシステム204は、モーターの2分の1又は4分の1ごとに個別のモードを有し、モーターが0度から360度まで回転するときにモードを切り替える必要はない。
【0254】
幾つかの実装では、方法3600は更に、第2のドメインの微細なリゾルバの微細な位置信号を粗いリゾルバに関連付けられた第1のドメインに変換すること、並びに、変換された微細な位置信号に更に基づいてその後の位置出力を生成することを含む。例えば、第2のドメイン角度推定値1812は、位置の値1818の変化を生成するために微分される。
図18を参照して説明されているように、位置の値1818の変化は、位置の値1818の変化を4ビット右にシフトすることによって、第2のドメインから第1のドメインに変換され、変換された位置の値1820の変化(変換された微細な位置信号)を生成する。
【0255】
幾つかの実装では、方法3600は更に、初期位置出力を微細なリゾルバに関連付けられた第2のドメインに変換すること、並びに、変換された初期位置出力に更に基づいて、その後の位置出力を生成することを含む。例えば、遅延され結合された推定位置1844は、
図19を参照して説明されているように、遅延され結合された推定位置1844を4ビット左にシフトすることによって、第1のドメインから第2のドメインへ変換され、変換された推定角度1914(変換された初期位置出力)を生成する。
【0256】
図37は、パルス幅変調の方法3700を示している。方法3700は、
図1のインバータ112、
図2のPWM242、
図35のPWMロジック3502、或いはこれらの組み合わせによって実行されうる。方法3700は3702で、比較値と比較基準を受信することを含む。比較値は、
図33の比較値3322又は
図34の比較値3422を含むか、これらに対応し、比較基準は、
図33及び
図34の比較基準3324、3326、3424、又は3426のうちの1つの比較基準を含むか、これに対応しうる。幾つかの実装では、比較値と比較基準は、
図33及び
図34の設定点信号3312~3320及び3412~3420などの、設定点信号に含まれる。
【0257】
図37の方法3700はまた3704で、比較基準に基づいて、比較値とカウンタ値を比較することを含む。カウンタ値は、
図33のカウンタ値又はカウンタ信号を含むか、これに対応しうる。カウンタ値は、カウンタ(例えば、
図33のカウンタ3302)から受信されうる。
【0258】
図37の方法3700は3706で更に、カウンタ値に対して比較基準を満たす比較値に応答して、制御信号を第1のトランジスタのゲートに送信してパルス幅変調信号のパルスのパルスエッジを生成することを含む。制御信号は、
図35の高アクティベーション出力3506と低アクティベーション出力3508又はゲート高出力3522とゲート低出力3534のうちの1つを含むか、これに対応しうる。第1のトランジスタのゲートは、
図3のトランジスタ336、或いは
図28のトランジスタ2822~2826又は2832~2836のいずれかのゲートを含むか、これに対応しうる。パルス幅変調信号378のパルスエッジは、
図3のパルス幅変調信号378の第1のエッジ又は第2のエッジを含むか、これに対応しうる。
【0259】
幾つかの実装では、
図37の方法3700は、比較値、比較基準、及び第2の比較基準を示す設定点信号を受信すること、並びに、第2の比較基準に基づいて、比較値と第2のカウンタ値を比較することを含む。方法3700は更に、
図33及び
図34を参照して説明されているように、第2のカウンタ値に対して第2の比較基準を満たす比較値に応答して、パルス幅変調信号のパルスの第2のパルスエッジを生成するため、第2の制御信号を第1のトランジスタのゲートに送信することを含む。例えば、PWM242は、第1の設定点信号3312を受信し、第2の比較基準3326に基づくカウンタ3302の値と比較値3322との比較に基づいて、第1のパルスの第2のパルスエッジを生成する。
【0260】
幾つかの実装では、
図33及び
図34を参照して説明されているように、
図37の方法3700は、設定点信号の一又は複数の第1のビットに基づいて比較値を決定すること、並びに、設定点信号の一又は複数の第2のビットに基づいて比較基準及び第2の比較基準を決定することを含む。例えば、PWM242は第1の設定点信号3312を受信し、第1の設定点信号3312によって示される(例えば、第1の設定点信号の全ビットによって示される)第1の設定点信号3312の値を右シフトすることによって比較値3322を生成し、第1の設定点信号3312のLSBの値を決定し、LSBの値に基づいて比較基準3324、3326を読み出すことによって、比較値を生成する。
【0261】
幾つかの実装では、
図33及び
図34を参照して説明されているように、比較値を決定することは、一又は複数のビットだけ設定点信号を右シフトすることを含む。幾つかの実装では、設定点信号の一又は複数の第2のビットは、
図33及び
図34を参照して説明されているように、設定点信号の一又は複数の最下位ビットに対応している。幾つかの実装では、
図37の方法3700は、
図33及び
図34を参照して説明されているように、設定点信号の一又は複数の最下位ビットに基づいて、テーブルから比較基準を選択することを含む。
【0262】
幾つかの実装では、
図37の方法3700は、第2の比較値と第2の比較基準を示す第2の設定点信号を受信すること、並びに、第2の比較基準に基づいて、第2の比較値と第2のカウンタ値を比較することを含む。方法3700は更に、
図33及び
図34を参照して説明されているように、第2のカウンタ値に対して第2の比較基準を満たす第2の比較値に応答して、第2の制御信号を第2のトランジスタのゲートに送信して、パルス幅変調信号の第2のパルスのパルスエッジを生成することを含む。例えば、PWM242は第2の設定点信号3314を受信し、第2の設定点信号3314の第1の比較基準3324に基づくカウンタ3302の値と比較値3322との比較に基づいて、第2のパルスの第1のパルスエッジを生成する。
【0263】
幾つかの実装では、
図37の方法3700は、第2の比較値と第2の比較基準を示す第2の設定点信号を受信すること、並びに、第2の比較基準に基づいて、第2の比較値と第2のカウンタ値を比較することを含む。方法3700は更に、
図33及び
図34を参照して説明されているように、第2のカウンタ値に対して第2の比較基準を満たす第2の比較値に応答して、パルス幅変調信号のパルスの第2のパルスエッジを生成するため、第2の制御信号を第2のトランジスタのゲートに送信することを含む。例えば、PWM242は、第1の設定点信号3312を受信し、第2の比較基準3426に基づくカウンタ3302の値と比較値3422との比較に基づいて、第1のパルスの第2のパルスエッジを生成する。
【0264】
図38は、フィードバック制御の方法3800を示す。方法3800は、制御システム205、
図2のフィードバック制御システム232、
図30のロジック3002、
図31のロジック3102、
図32のロジック3202、或いはこれらの組み合わせによって実行されうる。方法3800は3802で、制御される構成要素のための位置コマンドと制御される構成要素のための速度コマンドを受信することを含む。制御される構成要素は、
図1のモーター124、モーターのドライブシャフト124、ジンバル122、センサ128、或いはこれらの組み合わせを含むか、これらに対応しうる。位置コマンドは、
図29~
図32の位置コマンド2922を含むか、これに対応しうる。速度コマンドは、
図29~
図32の速度コマンド2932を含むか、これに対応しうる。幾つかの実装では、位置コマンドはモーターの角度を示し、速度コマンドはモーターのRPMを示す。
【0265】
図38の方法3800はまた3804で、速度コマンドと位置コマンドに基づいて、レート制限された位置コマンドを生成することを含む。レート制限された位置コマンドは、
図30~
図32のレート制限された位置コマンド3034を含むか、これに対応しうる。幾つかの実装では、
図38の方法3800は、
図3及び
図33~
図35を参照して説明されているように、電流コマンドをデューティサイクル値に変換すること、並びに、デューティサイクル値に基づいてモーターを制御することを含む。
【0266】
図38の方法3800は3806で、制御される構成要素の位置を示す位置フィードバックを受信することを含む。位置フィードバックは、
図29~
図32の位置フィードバック2924を含むか、これに対応しうる。幾つかの実装では、位置フィードバックはリゾルバ出力に基づいて生成される。例えば、位置フィードバックは、
図36の方法3600を実行するリゾルバによって、
図39の方法3900を実行する復調回路によって、或いはこの両方によって生成されうる。
【0267】
図38の方法3800は3808で、制御ゲインを誤差信号に適用して調整された誤差信号を生成することを含む。誤差信号は、位置フィードバックとレート制限された位置コマンドに基づいている。制御ゲインは、
図29~
図32の比例ゲイン2926、積分ゲイン2928、或いはこの両方を含むか、これらに対応しうる。誤差信号は誤差信号3012を含むか、これに対応し、また、調整された誤差信号は
図30~
図32の調整された誤差信号3014を含むか、これに対応しうる。
【0268】
図38の方法3800は更に3810で、調整された誤差信号に基づいて電流コマンドを出力することを含む。電流コマンドは、
図29~
図32の電流2940を含むか、これに対応しうる。幾つかの実装では、電流コマンドは、
図3を参照して説明されているように、モーターを制御するため、また、モーターのトルクを示すために使用されている。例えば、
図3を参照して説明されているように、電流コマンド2940は電流トラッカ330に提供され、電流トラッカ330は電流コマンド2940に基づいてデューティサイクル値374を生成する。PWM242は、デューティサイクル設定376のデューティサイクル値374を示す設定点信号を受信し、設定点信号に基づいてAC電力信号380をモーター120に供給する。
【0269】
幾つかの実装では、速度コマンドと位置コマンドに基づいてレート制限された位置コマンドを生成することは、
図30~
図32を参照して説明されているように、速度コマンドに基づいて閾値(例えば、閾値)を生成すること、並びに、位置コマンドの値を速度コマンドの値まで引き下げて制限された位置コマンドを生成することを含む。
【0270】
幾つかの実装では、
図38の方法3800は、位置フィードバックとレート制限された位置コマンドに基づいて誤差信号を生成することを含む。このような幾つかの実装では、誤差信号を生成することは、
図30~
図32を参照して説明されているように、レート制限された位置コマンドによって示される位置から、位置フィードバック信号によって示される位置を差し引くことを含む。
【0271】
幾つかの実装では、制御ゲインを誤差信号に適用して調整された誤差信号を生成することは、比例ゲインを誤差信号に適用すること、及び積分ゲインを誤差信号に適用することを含む。追加的に又は代替的に、制御ゲインを誤差信号に適用して調整された誤差信号を生成することは、
図30~
図32を参照して説明されているように、誤差信号に比例ゲインを乗じて第1の積を生成すること、誤差信号の積分に積分ゲインを乗じて第2の積を生成すること、並びに、第1の積と第2の積を加算して調整された誤差信号を生成することを含む。
【0272】
幾つかの実装では、
図38の方法3800は、速度フィードバック(例えば、
図29~
図32の速度フィードバック2936)に基づいて、調整された誤差信号を減衰することを含む。このような幾つかの実装では、
図30~
図32を参照して説明されているように、電流コマンドは減衰された誤差信号(例えば、
図31の減衰された誤差信号3138)に基づいて生成され、減衰された誤差信号を生成することは、第2の制御ゲインを調整された誤差信号に適用することを含む。
【0273】
特定の実装では、
図30~
図32を参照して説明されているように、第2の制御ゲインを調整された誤差信号に適用することは、速度フィードバックを微分して微分された速度フィードバックを生成すること、微分された速度フィードバックに第2の制御ゲインを乗じて減衰値を生成すること、並びに、調整された誤差信号から減衰値を差し引くことを含み、ここで、調整された誤差信号から減衰値を差し引くことにより、減衰された誤差信号が生成され、また、減衰された誤差信号に基づいて電流コマンドが生成される。例えば、減衰値3016を生成するためには、速度フィードバック2936は微分され、RPMゲイン2938が乗ぜられる。
図30~
図32を参照して説明されているように、減衰された誤差信号3138を生成するため、調整された誤差信号3014から減衰値3016が差し引かれ、減衰された誤差信号3138は最小値と最大値によって制限され、制限された誤差信号3138は電流コマンド2940を生成するため積分される。
【0274】
図39は、リゾルバ出力を復調する方法3900を示している。方法3900は、
図5のリゾルバシステム204、復調システム222、デュアルリゾルバコンビネーションシステム224、復調回路514、524、
図7~
図11、
図14、
図16、
図18、及び
図19のロジックの動作を実行するように構成された一又は複数の回路又はファームウェアによって実行されうる。方法3900は3902で、アナログデジタル変換器(ADC)から複数のADC出力を受信することを含む。複数のADC出力は、リゾルバ出力に基づいて生成される。ADCは、
図3のADC318、320のうちの1つを含むか、これに対応しうる。リゾルバは、
図1のリゾルバ126、
図3のデュアルスピードリゾルバ312、粗いリゾルバ342、微細なリゾルバ344、又はこれらの組み合わせを含むか、これらに対応しうる。ADC出力は、
図3のADC出力358又は調整された電圧値360を含むか、これに対応しうる。
【0275】
図39の方法3900は3904で、矩形波に基づいて複数のADC出力を整流することを含む。幾つかの実装では、矩形波は1及び-1の振幅を有する矩形波を含む。
図10~
図12を参照して説明されているように、矩形波は、カウンタ値(カウンタ入力852に基づいて決定されるフリップ入力1022など)に基づいて、振幅を切替えうる。
【0276】
図39の方法3900は3906で、整流された複数のADC出力に基づいて、リゾルバ出力に対応する復調振幅値を決定することを含む。復調振幅値は、
図3の復調振幅値362を含むか、これに対応しうる。幾つかの実装では、
図9及び
図16を参照して説明されているように、復調振幅値は、再帰的中央値フィルタ処理によって生成されうる。
【0277】
図39の方法3900は更に3908で、復調振幅値に基づいて位置出力を生成することを含む。位置出力は、
図3の角度推定値364又は位置推定値366を含むか、これらに対応しうる。幾つかの実装では、
図3を参照して説明されているように、位置出力はモーターのドライブシャフト124の位置(角度)を示す。幾つかの実装では、復調振幅値は符号情報(例えば、符号付き整数)を含み、角度推定値364、位置推定値366、或いはその両方は関数atan2に基づいて計算される。追加的に又は代替的に、位置出力は共有正弦テーブル回路に基づいて生成されうる。
【0278】
幾つかの実装では、
図16を参照して説明されているように、復調振幅値を生成することは、整流された複数のADC出力に基づいて累積値を生成すること、最後のn個の累積値の中央値を計算すること、並びに、中央値を復調振幅値の特定の復調振幅値として出力することを含む。
【0279】
幾つかの実装では、複数のADC出力を整流することは、矩形波に基づいて複数のADC出力を乗算することを含む。特定の実装では、
図10~
図12を参照して説明されているように、矩形波は、特定のカウンタ値(例えば、中央カウンタ値)を下回るカウンタ値に対しては、1の振幅を有し、特定のカウンタ値を上回るカウンタ値に対しては、-1の振幅を有する。
【0280】
幾つかの実装では、
図11を参照して説明されているように、矩形波に基づいて複数のADC出力を乗算することは、複数のADC出力のうちの特定のADC出力の符号を変えて、反転ADC出力を生成すること、フリップ入力に基づいて特定のADC出力又は反転ADC出力を選択すること、並びに、選択したADC出力を特定の整流済みADC出力として出力することを含む。
【0281】
幾つかの実装では、
図39の方法3900は、フィルタ処理されたADC出力の組を生成するため、リゾルバに関連付けられたモーターの電流駆動切替と協調するADC出力のサブセットをマスクすることを含む。方法3900は更に、
図14及び
図15を参照して説明されているように、データウィンドウ1514のフィルタ処理されたADC出力の組に基づいて復調振幅値を決定することを含む。
【0282】
幾つかの実装では、
図14及び
図15を参照して説明されているように、マスクされたADC出力の組は、リゾルバに関連付けられた励磁信号の1次高調波のピーク振幅の近傍で発生するADC出力を含む。更には、
図14~
図16を参照して説明されているように、復調振幅値のうちの各復調振幅値は、励磁信号の1次高調波のサイクルに対応している。
【0283】
幾つかの実装では、
図8及び
図9を参照して説明されているように、
図39の方法3900は、複数のADC出力を再帰的にフィルタ処理して中央ADC出力を生成することを含む。このような実装では、複数のADC出力を整流することは、中央ADC出力を整流することを含む。
【0284】
幾つかの実装では、リゾルバは、ゼロミーンディザーを有するディザ処理された励磁信号を受信し、ディザ処理された励磁信号に基づいてリゾルバ出力を生成する。このような実装では、ADCはリゾルバ出力をオーバーサンプリングしてADC出力を生成する。
【0285】
図40は、センサデバイスの励磁信号を生成する方法4000を示している。方法4000は、
図2の励磁信号生成システム202、ディザー生成器212、座標系214、
図26のロジック2602、
図27のリゾルバドライバ回路2702、或いはこれらの組み合わせによって実行されうる。方法4000は4002で、ベース励磁信号の高次偶数高調波を生成することを含む。高次偶数高調波は、
図26の高次偶数高調波信号2666を含むか、これに対応しうる。ベース励磁信号は、
図23のベース励磁信号452を含むか、これに対応しうる。
【0286】
図40の方法4000はまた4004で、高次偶数高調波とベース励磁信号との結合に基づいて、ディザ処理された励磁信号を生成することを含む。ディザ処理された励磁信号は、
図3及び
図23のディザ処理された励磁信号352を含むか、これに対応しうる。
図40の方法4000は更に4006で、ディザ処理された励磁信号をセンサデバイスに出力することを含む。幾つかの実装では、センサデバイスはリゾルバを含む。特定の実装では、リゾルバはデュアルリゾルバ又はデュアルスピードリゾルバ(例えば、
図3のデュアルスピードリゾルバ312など)を含む。他の実装では、センサデバイスは、シンクロ能動型変圧器(例えば、線形可変差動変圧器)、又は他の能動型センサを含みうる。加えて、センサは
図1の慣性計測装置102に組み込まれうる。
【0287】
幾つかの実装では、ディザ処理された励磁信号はデジタル信号を含むか、これに対応し、デジタルサンプルを含む。このような実装では、DAC(DAC310など)は、ディザ処理された励磁信号をアナログ信号に変換し、ディザ処理された励磁信号をセンサデバイスに提供する。
【0288】
幾つかの実装では、ベース励磁信号は正弦波信号に対応し、ディザ処理された励磁信号は正弦波信号のゼロ平均偏差を有する。例えば、16次高調波信号は、ベース励磁信号の各正弦波に対して16正弦波を含む。したがって、高次偶数高調波とベース励磁信号との結合された信号はディザ処理された励磁信号352を生成し、
図23に示されているように、ベース励磁信号452の各正弦波の間に、ディザ処理された励磁信号352の平均振幅は、ベース励磁信号452の平均振幅から逸脱しない。
【0289】
幾つかの実装形態では、方法4000は、ベース励磁信号を生成することを更に含む。例えば、
図26を参照して説明されているように、
図2の励磁信号生成システム202はベース励磁信号452を生成し、ベース励磁信号452を結合器2624、2626に提供する。特定の実装では、励磁信号は正弦関数と振幅設定に基づいて生成される。例えば、励磁信号生成システム202(例えば、その中の第1のロジックチェーン2612)は、正弦ルックアップテーブルから値を読み出すことによって、また、その値に振幅設定を乗じることによって、ベース励磁信号452を生成する。このような幾つかの実装では、ルックアップテーブルは一又は複数の他の構成要素と共有され、ルックアップテーブルは総当たりスケジューリングに基づいてアクセスされる。
【0290】
幾つかの実装では、方法4000は更に、正弦関数の16次高調波と第2の振幅設定に基づいて、高次偶数高調波を生成することを含む。例えば、
図26を参照して説明されているように、励磁信号生成システム202の第2のロジックチェーン2614は、正弦関数の高調波と振幅設定に基づいて高次偶数高調波信号2666を生成し、高次偶数高調波信号2666を結合器2624、2626に提供する。
【0291】
幾つかの実装では、方法4000は更に、低次偶数高調波信号を生成すること、並びに、低次偶数高調波、高次偶数高調波、及びベース励磁信号を結合してディザ処理された励磁信号を生成することを含む。他の実装では、結合器は、高次偶数高調波とベース励磁信号を結合してディザ処理された励磁信号を生成する。
【0292】
幾つかの実装では、方法4000は更に、ディザ処理された励磁信号とモーターの電流切替とを時間調整することを含む。特定の実装では、
図27、
図28、及び
図33~
図35を参照して説明されているように、ディザ処理された励磁信号とモーターの電流切替とを時間調整することは、ベース励磁信号のピークと谷から電流切替をオフセットすることを含む。追加的に又は代替的に、
図33を参照して説明されているように、ディザ処理された励磁信号とモーターの電流切替とを時間調整することは、ベース励磁信号の波の間に偶数回の電流切替を実行することを含む。特定の実装では、1つの波の間に発生する電流切替の数は、電流切替起動と電流切替停止の数に等しくなる。
【0293】
幾つかの実装では、方法4000は更に、ディザ処理された励磁信号とモーターの電流切替とを時間調整することを含む。特定の実装では、
図33を参照して説明されているように、ディザ処理された励磁信号とモーターの電流切替とを時間調整することは、ベース励磁信号のピークと谷から電流切替をオフセットすることを含む。追加的に又は代替的に、ディザ処理された励磁信号は、リゾルバの出力のサンプリングレートと同期される。
【0294】
幾つかの実装では、モーターはセンサに連結され、ディザ処理された励磁信号はモーターの電流駆動切替からオフセットされる。このような幾つかの実装では、方法4000は更に、モーターの電流駆動切替がディザ処理された励磁信号からオフセットされるように、ディザ処理された励磁信号の生成に使用される第1のクロックとPWMの第2のクロックとを時間調整することを含む。例えば、
図8のカウンタ842と
図33のカウンタ3302は同期されうる。
【0295】
幾つかの実装では、ADCはリゾルバに連結される。このような幾つかの実装では、方法4000は更に、リゾルバからの出力信号をADCによって受信すること、及びその出力信号をオーバーサンプリングすることを含む。特定の実装では、第1のクロックはADCの第2のクロックと同期される。他の実装では、ADCは、
図8のカウンタ842など、第1のクロックに基づいて出力信号をオーバーサンプリングする。
【0296】
図41を参照すると、航空機4102の例示的な実施形態のブロック
図4100が示されている。
図41に示されているように、航空機4102(例えば、宇宙船、衛星、又は宇宙ステーション)は、フレーム4118、内装4122、及び複数のシステム4120を含む。システム4120は、推進システム4124、電気システム4126、環境システム4128、システム4130、及び慣性計測装置102のうちの一又は複数を含みうる。他の実装では、航空機4102は、
図41に示したシステム4120に追加されるシステム、又はこれよりも少ないシステムを含みうる。
【0297】
慣性計測装置102は、
図1のインバータ112とジンバル装置114を含む。インバータ112は、
図2のPWM242、
図3の電流トラッカ330、ゲートドライバ334、トランジスタ336、
図28のモータードライバ回路2802、或いはこれらの組み合わせを含みうる。インバータ112は、
図33に記載された動作、
図34に記載された動作、
図35のPWMロジック3502の動作、或いはこれらの組み合わせを実行するように構成された回路及びファームウェアを含みうる。
【0298】
ジンバル装置114は、
図1のジンバル122、モーター124、リゾルバ126、センサ128、
図2の励磁信号生成システム202、リゾルバシステム204、制御システム206、復調システム222、デュアルリゾルバコンビネーションシステム224、フィードバック制御システム232、
図3のDAC310、デュアルスピードリゾルバ312、差動電圧センサ314、316、ADC318、320、電圧調整回路322、324、角度推定回路326、
図5の復調回路514、524、角度計算回路516、526、角度結合回路542、及びドリフト修正回路544、或いはこれらの組み合わせを含みうる。
【0299】
追加的に又は代替的に、ジンバル装置114は、
図6のロジック602の動作を実行するように構成された回路とファームウェア、
図7のロジック702、
図8のロジック802、
図9のRMVAロジック812、
図10の復調ロジック826、
図11のアキュムレータロジック1014、
図11のロジック1102、
図14のマスクロジック1018、
図16の出力ロジック1026、
図18のロジック1802、
図19のロジック1902、
図26のロジック2602、
図30のロジック3002、
図31のロジック3102、
図32のロジック3202、或いはこれらの組み合わせを含みうる。慣性計測装置102は、航空機4102内に含まれるか、航空機4102の外表面に連結されうる。
【0300】
慣性計測装置102は、
図1~
図40を参照して上述されたように、航空機4102の慣性航法を可能にするように構成されている。例えば、慣性計測装置102(例えば、その中の一又は複数の構成要素)は、方法3600~4000の一又は複数のうちの一又は複数の動作を実行するように構成されている。別の実施例として、慣性計測装置102は、メモリ内に記憶されたコンピュータ実行可能命令(例えば、一又は複数の命令のプログラム)を実行するように構成されている。命令は、実行されると、慣性計測装置102に方法3600~4000の一又は複数の動作を実行させる。例えば、プロセッサは、
図36を参照して説明されているように、粗いリゾルバから粗い位置信号を、微細なリゾルバから微細な位置信号を受信し、粗い位置信号に基づいて初期位置出力を生成し、微細な位置信号に基づいてその後の位置出力を生成する。
【0301】
本書に記載された実施例の例示は、様々な実装形態の構造の概略的な理解をもたらすことが意図されている。これらの例示は、本書に記載された構造又は方法を利用する装置及びシステムのすべての要素及び特徴を網羅的に説明することは意図されていない。本開示を精査することで、当業者には、他の多くの実装形態が明らかになりうる。本開示の範囲から逸脱せずに構造的かつ論理的な置換及び変更を行うことができるように、他の実装形態を利用し、他の実装形態を本開示から引き出すことができる。例えば、図面に示す順序とは異なる順序で方法動作を実行してもよく、或いは、一又は複数の方法動作を省略してもよい。したがって、本開示及び図面は、限定的というよりは、むしろ例示的なものと見なすべきである。
【0302】
更に、本書では具体例を図示し、説明してきたが、同じ又は類似した結果を実現するよう設計された後発の構成であれば、図示されている具体的な実行形態を置換しうることを、認識すべきである。この開示は、様々な実行形態のあらゆる後発の適合例又は変形例を対象とすることを、意図している。上記の実行形態の組み合わせ、及び、本書には具体的に記載していない他の実行形態が、本書を精査することで当業者に明らかになろう。
【0303】
本開示の「要約書」は、それが、特許請求の範囲又は意味を解釈するか又は限定するために使用されるわけではないとの理解のもとに、提出されるものである。加えて、上記の「発明を実施するための形態」においては、本開示を分かりやすくする目的で、様々な特徴が、グループ化されること、又は、単一の実行形態において説明されていることがある。上述の実施例は、本発明を説明するが、本発明を限定するものではない。本発明の原理に従って多くの修正例及び変形例が可能であることを理解されたい。むしろ、下記の特許請求の範囲において反映されているように、特許請求される主題は、開示された任意の実施例の全ての特徴よりも少ない特徴を対象としている場合がある。したがって、本開示の範囲は、下記の特許請求の範囲及びその任意の均等物によって規定されるものである。
【0304】
さらに、本開示は、以下の条項による実施形態を含む。
【0305】
条項1. フィードバック制御回路(232)であって、
制御される構成要素(124)のための位置コマンド(2922)に基づき、また、前記制御される構成要素のための速度コマンド(2932)に基づいて、レート制限された位置コマンド(3034)を生成するように構成されたレートリミッタ回路(3118)と、
制御ゲイン(2926、2928)を誤差信号(3012)に適用して、調整された誤差信号(3014)を生成するように構成された誤差調整回路(3122、3124)であって、前記誤差信号は位置フィードバック(2924)及び前記レート制限された位置コマンドに基づき、前記位置フィードバックは前記制御される構成要素の位置(366、2002)を示す、誤差調整回路(3122、3124)と、
前記調整された誤差信号に基づいて生成された電流コマンド(2940)を出力するように構成された出力端子(3130)と、
を備える、フィードバック制御回路(232)。
【0306】
条項2. 前記レート制限された位置コマンドを生成することは、前記制御ゲインを前記誤差信号に適用する前に、前記速度コマンドに基づいて前記位置コマンドを修正することを含む、条項1に記載のフィードバック制御回路。
【0307】
条項3. 前記位置コマンドは角度値を含み、前記速度コマンドは毎分回転数(RPM)値を含む、条項1に記載のフィードバック制御回路。
【0308】
条項4. 減衰された誤差信号(3138)を生成するため、前記制御される構成要素の速度を示す速度フィードバック(2936)に基づいて、前記調整された誤差信号を減衰するように構成された減衰回路を更に備え、前記電流コマンドは前記減衰された誤差信号に基づいて生成される、条項1に記載のフィードバック制御回路。
【0309】
条項5. 前記減衰回路は更に、前記減衰された誤差信号を生成するため、第2の制御ゲイン(2938)を前記調整された誤差信号に適用するように構成され、前記電流コマンドは前記減衰された誤差信号に基づいて生成される、条項4に記載のフィードバック制御回路。
【0310】
条項6. 前記誤差信号の積分に基づいて、前記電流コマンドを生成するように構成された出力回路(3126)を更に備える、条項5に記載のフィードバック制御回路。
【0311】
条項7. 前記レート制限された位置コマンドから前記位置フィードバックを差し引くことに基づいて、前記誤差信号を生成するように構成された誤差信号生成回路(3120)を更に備える、条項1に記載のフィードバック制御回路。
【0312】
条項8. 第2の速度コマンド(2932)に基づいて、また、第2の位置コマンド(2922)とは独立に、導出位置コマンド(3132)を生成するように構成されたダイレクト速度回路(3112)を更に備え、第2の電流コマンド(2940)は前記導出位置コマンドに基づいて生成される、条項1に記載のフィードバック制御回路。
【0313】
条項9. フィードバック制御のための方法(3800)であって、前記方法は、
制御される構成要素のための位置コマンドと前記制御される構成要素のための速度コマンドを受信すること(3802)と、
前記速度コマンドと位置コマンドに基づいてレート制限された位置コマンドを生成すること(3804)と、
前記制御される構成要素の位置を示す位置フィードバックを受信すること(3806)と、
調整された誤差信号を生成するため、前記位置フィードバックと前記レート制限された位置コマンドに基づく誤差信号に制御ゲインを適用すること(3808)と、
前記調整された誤差信号に基づいて電流コマンドを出力すること(3810)と、
を含む方法。
【0314】
条項10. 前記速度コマンドと前記位置コマンドに基づいて、前記レート制限された位置コマンドを生成することは、
前記速度コマンドに基づいて閾値を生成することと、
前記位置コマンドの値を前記閾値まで低減して、前記レート制限された位置コマンドを生成することと、
を含む、条項9に記載の方法。
【0315】
条項11. 前記位置フィードバックと前記レート制限された位置コマンドに基づいて、前記誤差信号を生成することを更に含み、前記誤差信号を生成することは、前記レート制限された位置コマンドによって示された位置から前記位置フィードバックによって示された前記位置を差し引くことを含む、条項9に記載の方法。
【0316】
条項12. 前記制御ゲインを前記誤差信号に適用して、前記調整された誤差信号を生成することは、
比例ゲイン(2926)を前記誤差信号に適用することと、
積分ゲイン(2928)を前記誤差信号に適用することと、
を含む、条項9に記載の方法。
【0317】
条項13. 前記制御ゲインを前記誤差信号に適用して前記調整された誤差信号を生成することは、
誤差信号の微分に比例ゲイン(2926)を乗じて第1の積を生成することと、
前記誤差信号に積分ゲイン(2928)を乗じて第2の積を生成することと、
前記第1の積と前記第2の積を加算して前記調整された誤差信号を生成することを含む、条項9に記載の方法。
【0318】
条項14. 速度フィードバック(2936)に基づいて前記調整された誤差信号を減衰して、減衰された誤差信号(3138)を生成することを更に含み、
前記電流コマンドは前記減衰された誤差信号に基づいて生成され、前記減衰された誤差信号を生成することは、第2の制御ゲイン(2938)を前記調整された誤差信号に適用することを含む、条項9に記載の方法。
【0319】
条項15. 前記第2の制御ゲインを前記調整された誤差信号に適用することを更に含み、前記第2の制御ゲインを適用することは、
前記速度フィードバックを微分して、微分された速度フィードバックを生成することと、
前記微分された速度フィードバックに前記第2の制御ゲインを乗じて減衰値(3016)を生成することと、
前記調整された誤差信号から前記減衰値を差し引くことを含み、前記調整された誤差信号から前記減衰値を差し引くことにより、前記減衰された誤差信号(3138)が生成され、また、前記減衰された誤差信号に基づいて電流コマンドが生成される、条項14に記載の方法。
【0320】
条項16. モーター(124)と、
前記モーターに連結されたフィードバック制御回路(3102)とを備えるシステム(102)であって、前記フィードバック制御回路は、
前記モーターのための位置コマンドに基づき、また、前記モーターのための速度コマンド(2932)に基づいて、レート制限された位置コマンド(3034)を生成するように構成されたレートリミッタ回路(3118)と、
制御ゲイン(2926、2928)を誤差信号(3012)に適用して、調整された誤差信号(3014)を生成するように構成された誤差調整回路(3122、3124)であって、前記誤差信号は位置フィードバック(2924)及び前記レート制限された位置コマンドに基づき、前記位置フィードバックは前記モーターの位置を示す、誤差調整回路(3122、3124)と、
前記調整された誤差信号に基づいて生成された電流コマンド(2940)を出力するように構成された出力端子(3130)とを備える、システム(102)。
【0321】
条項17. 前記電流コマンドは前記モーターによって生成されるトルクの量を示し、前記電流コマンドは1つのフィードバックループ(3102)によって生成される、条項16に記載のシステム。
【0322】
条項18. 前記モーターに連結されたデュアルスピードリゾルバ(312)であって、前記モーターのドライブシャフトの位置を示す出力(354)を生成するように構成されたデュアルスピードリゾルバを更に備え、前記デュアルスピードリゾルバによって生成される前記出力に基づいて、前記位置フィードバックが生成される、条項16に記載のシステム。
【0323】
条項19. 前記モーター及び前記フィードバック制御回路はジンバル式慣性計測装置(102)に含まれる、条項16に記載のシステム。
【0324】
条項20. 前記システムは、前記ジンバル式慣性計測装置を含む航空機(4102)に対応する、条項19に記載のシステム。