MagAlphaデジタルフィルターを理解する:MA732およびMA330の利点
by デイヴ・ベイカー
はじめに
この記事は、MPS MagAlpha磁気回転角度センサーファミリーのシリーズの2つ目の記事で、独自のSpinaxisTMセンシングテクノロジーがデジタルフィルタリングを使用して最終出力分解能を達成する方法を説明し、プログラム可能なフィルター設定を備えたMA732およびMA300バージョンを紹介します。 フロントエンドホール要素のアレイを介して角度をサンプリングした後、センサーはサンプルを修正されたカルマンタイプのデジタルフィルターに蓄積し、ノイズを除去して最終的な出力解像度を向上させます。
ThMagAlphaの出力分解能は、1,000回の読み取り値を超える3シグマ(σ)値として定義されます。 たとえば、 MA702 センサーの標準的な出力分解能は11.5ビットで、フィールドは45mTです。 言い換えると、211.5 = 2896回の回転あたりの一意の繰り返し可能な角度位置です。 センサー角度の読み取り値は標準のガウス分布に従い、±3シグマ(σ)の範囲では、これらの読み取り値の信頼係数は99.73%です(図1を参照)。

図1:±1σ、2σ、および3σの角度測定値と信頼係数のガウス分布
出力解像度は、フィルターウィンドウサイズの設定によって決まります。この設定は、MA732とMA330を除くほとんどのMagAlpha部品で修正されており、ユーザーがプログラムすることができます。フィルタウィンドウサイズパラメータが大きいほど、フィルタによって処理されるサンプルの数が多くなり、結果の出力分解能が高くなります。
より多くのサンプルがフィルタされるために分解能が増加すると、フィルターの時定数τ(µs)が増加し、その帯域幅が低下します。フィルタの時定数が増加し、その帯域幅が減少すると、速度の変化に反応するセンサーの能力が遅くなります。つまり、変化に追いつくのに時間がかかります。センサーが特定のフィルターウィンドウサイズ設定の目標出力精度に到達するまでの電源投入後の時間も、フィルターが最初により多くのサンプルをロードする必要があるため、フィルターウィンドウサイズが大きくなるにつれて長くなります。したがって、センサーの出力分解能は、フィルター帯域幅と速度変化への動的応答を犠牲にして増加します。
表1は、 MA732 および MA330, の調整可能なフィルターウィンドウ設定の概要と、同じファミリーの他のMagAlpha部品のデフォルト設定を示しています。
FW (7:0) |
時定数 τ (µs) |
45mT (bits)で効果的な解像度 |
fcutoff (Hz) |
パワーアップ 時間 (ms) |
デフォルト設定 |
51 | 64 | 9.5 | 6000 | 0.5 | |
68 | 128 | 10 | 3000 | 1.1 | MA704 |
85 | 256 | 10.5 | 1500 | 2.5 | |
102 | 512 | 11 | 740 | 5.5 | |
119 | 1024 | 11.5 | 370 | 12 | MA702, MA302 |
136 | 2048 | 12 | 185 | 26 | |
153 | 4096 | 12.5 | 93 | 57 | MA710, MA310 |
170 | 8192 | 13 | 46 | 123 | |
187 | 16384 | 13.5 | 23 | 264 | MA730 |
表1:MA732およびMA330のフィルターウィンドウ設定
フィルタの構造は、定常状態(たとえば、センサーの磁石が一定の速度で回転しているとき、または静止しているとき)に追加の待ち時間を導入しないようなものです。 ホールセンサーのフロントエンドから出力でのSPI角度の読み取りまでの合計処理遅延は、定常状態で表1にリストされているMagAlphaデバイスの場合は通常10µsに固定されています。
フィルタ伝達関数は、式(1)で計算できます :
$$H(s)= \frac {1+2τs} {(1+τs)^2}$$
ここで、τはフィルターの時定数であり、式(2)によってフィルターのカットオフ周波数に関連しています。:
$$τ = 0.38 / fcutoff$$
固定アングルラグ
一定速度では、式(3)を使用して、この待ち時間に1秒あたりの度数で表した回転速度を掛けることにより、10µsの固定待ち時間によって生じる角度の遅れを計算できます。:
$$AngleLag_fixed = 10µs * (rotation rate in rpm/60) * 360$$
たとえば、10,000rpmの場合、これは1秒あたり166.7回転= 1秒あたり60,000度を意味します。 したがって、AngleLag_fixed = 10µs * 60,000 = 0.6度です。
ダイナミックアングルラグ
回転速度の変化(加速または減速)することで、デジタルフィルターは、フィルターの時定数と速度変化の期間に依存する追加の遅延を追加します。
速度変化(一定の加速度)での追加の角度遅れは、式(4)で計算できます:
$$AngleLagDynamic = a * $$
ここで、「a」は毎秒毎秒の度数で表した速度変化率であり、τはフィルターの時定数です。
たとえば、MA702のτ値が1msでMA730のτ値が16msの場合、速度変更中の角度誤差に対するフィルター時定数の影響を確認できます。 これに基づいて、0rpmから10,000rpmに加速する効果を判断することができます(たとえば250ms)。
加速周期と目標回転速度の影響は式(4)で計算できます。
250msで0rpmから10,000rpmに加速するMA702の場合、10,000rpmは1秒あたり166.6回転、つまり1秒あたり60,000度です。 その場合、加速度は60,000 / 0.25 = 240,000度/sec2になります。 τの値が1msの250msの加速中の追加のAngleLagDynamicラグは、= 240,000 *(0.001)2 = 0.24度になります。
250msで0rpmから10,000rpmに加速するMA730の場合、16msのτ値での250msの加速中の追加のAngleLagDynamicラグは、= 240,000 *(0.016)2 = 61.4度になります。
上記の例は、フィルターの時定数が長くなると、速度変更中の追加の角度遅れエラーに大きく影響する可能性があることを示しています。このため、MagAlphaセンサーのバージョンを選択する際には、ターゲットシステムの最大回転速度と最大速度変化率を考慮することが重要です。
出力分解能が最も高い部品を選択したくなるかもしれませんが、システム要件に対してフィルターの応答が遅すぎる可能性があるため、これはしばしば間違いです。
システム制御ループ設計の不安定性を回避するために、フィルター時定数τは理想的にはループ時定数の約10分の1である必要があります。
加速期間の後、AngleLagDynamicはゼロに減少し、角度ラグは回転速度と10µsフィルターレイテンシーに基づく固定レイテンシーAngleLag_fixedです。
フィルタウィンドウとABZインターフェイスへの影響
ABZインターフェースは、2つのチャネル(AおよびB)に増分直交パルスと、1回転ごとに1回のインデックスパルス(Z)を出力します。 チャネルAとBは90度位相シフトされており、位相シーケンスに基づいて回転方向を示します(図2を参照)。
図2:ABZ直交エンコーダインターフェース出力
MagAlpha ABZインターフェースの出力解像度は、デジタルフィルターブロックの最終解像度から得られます。 センサーの出力にはノイズがあるため、ヒステリシスが適用され、フィルター出力でのこのノイズがABZインターフェイスでスプリアスエッジ遷移を引き起こさないようにします。
1回転あたりのチャネルあたりのパルス数は、ABZインターフェースを備えたすべてのMagAlpha部品でユーザーがプログラムできます。 ほとんどの部品で、1回転あたりの最大ABZパルス数とヒステリシス設定は、データシートに記載されている最小推奨磁場と最大温度での信頼性の高い動作を保証する値に固定されています。
一方、MA732およびMA330を使用すると、ユーザーはフルアクセスで特定の分解能に対してより高いABZパルス数を構成し、ヒステリシスを調整できます。 フィルタノイズによるスプリアスエッジがないように、選択した1回転あたりのパルス数に適切なヒステリシスが適用されるように注意する必要があります(図3を参照)。
図3:A / Bパルスヒステリシス
ABZインターフェースの性能は、デジタルフィルターの出力のノイズレベルに直接関係しています。 一般的に、ヒステリシスは1シグマノイズレベルの12倍に設定することをお勧めします。 1シグマノイズは、フィルターウィンドウ設定ごとに定義されます(表3を参照)。 表2と表3に、MA732と MA330の調整可能な設定を示します。
HYS (7:0) |
ヒステリシス (度) |
200 | 0.08 |
188 | 0.14 |
148 | 0.18 |
152 | 0.36 |
156 (default) | 0.52 |
116 | 0.70 |
120 | 1.4 |
124 | 2.1 |
84 | 2.8 |
表2:MA732 / MA330ABZヒステリシスパラメータ
FW (7:0) | 45mT(ビット)での実効分解能 |
1σ ノイズ(度) |
51 | 9.5 | 0.08 |
68 | 10 | 0.06 |
85 | 10.5 | 0.04 |
102 | 11 | 0.03 |
119 (default) | 11.5 | 0.02 |
136 | 12 | 0.015 |
153 | 12.5 | 0.01 |
170 | 13 | 0.007 |
187 | 13.5 | 0.005 |
表3:1σノイズ対FW設定
例えば、MA732は、11.5ビットの分解能0.2度の1シグマノイズ値が得られ、119のデフォルトフィルタ窓の設定を有します。 MA732 ABZインターフェースのデフォルトのヒステリシス設定は、この値の±13倍=±0.26度(合計0.52度)に設定されています。
MA732またはMA330のデフォルトのABZパルス/ターンカウントは、チャネルあたり1024に設定されています。これは、合計4096のエッジA + B、またはエッジ間のステップサイズ360/4096 = 0.088度を意味します。
0.52度のヒステリシス値は、わずか0.088度のこのような小さなABステップサイズの理想よりもはるかに大きいですが、11.5ビットの分解能設定では0.02度の1シグマノイズのため、この高い値にする必要があります。これは、方向を変えるときに、0.52度のヒステリシスを超えるまで次のABエッジが発生しないことを意味します。これは、時計回りから反時計回りの回転へのABエッジ位置の0.52度のシフトとしても説明できます。これは、特定の分解能でより高い1回転あたりのパルス数をサポートするために、より多くのヒステリシスを適用する必要があるというトレードオフです。
ABZインターフェースのジッターとヒステリシスの設定
必要なヒステリシスのレベルに関するさらなる考慮事項は、ABZインターフェースのジッタの影響から生じます。ヒステリシスは、個々のABエッジで可能な最大ジッタよりも高く設定することが重要です。 ABZインターフェイスのジッターは、ランダムジッターと系統的ジッターの組み合わせです(図4を参照)。
図4:ABZジッター
系統的なジッタは、センサーの固有の非線形性と1回転あたりのパルス数(PPT)の設定に関連しています。たとえば、MA702の固有の非線形性は、通常室温で±0.7度です。 AまたはBの回転あたり127パルスのPPT設定では、予想されるエッジ位置の系統的なジッターは通常7%です。 PPT設定が増加すると、非線形性がパルス幅のより大きな割合を表すため、ジッタの割合が増加します。たとえば、PPTが255の場合、系統的なジッタは13%に増加します。
ランダムジッター要素は、特定の分解能設定でのセンサーのノイズと回転速度を反映したものです。ランダムジッタはガウス分布に従い、ノイズ分布の3シグマ幅として定義されます。 ABZエッジ位置は、デジタルフィルタの深度とサンプルレートから導出されるため、ランダムジッターは回転速度に比例します。低い回転速度では、ABZインターフェイスは高い回転速度よりも特定の期間に多くの更新を取得するため、ランダムジッターはセンサーノイズよりも小さくなります。
例として、MA702の3シグマランダムジッターは、127のPPT設定では通常2.8%であり、255のPPT設定では5.5%に上昇します。MA702の系統的ジッターとランダムジッターの合計は通常0.3度です。
MA732 または MA330のABZ設定を構成する場合、スプリアスエッジ遷移を回避するために、ヒステリシス値を特定のPPT設定のランダムABZジッタの少なくとも2倍に設定する必要があります。
要約
MagAlphaファミリのフィルタウィンドウ(FW)設定は、センサーの出力分解能を制御します。 単に最高の分解能を選択したくなるかもしれませんが、設計者は、フィルターの時定数が速度変化に対するセンサーの反応時間に与える影響を考慮に入れる必要があります。 分解能と結果のフィルター応答時間は、必要なシステム制御ループのパフォーマンスと一致している必要があります。
フィルタウィンドウ、1ターンあたりのABZパルス数、およびABZヒステリシス設定は、上記のパフォーマンスのトレードオフを考慮して、最終システムの要件に合わせて最適化する必要があります。
次のMagAlphaの記事では、MagAlpha角度センサーで使用できる磁石の種類と、正しい材料、サイズ、およびパフォーマンスを選択する際に考慮すべき事項について説明します。
アカウントにログイン
新しいアカウントを作成