親愛なるコミュニティの皆様
駐車場の占有状況を監視するために 磁力計 MAG3110 を使用しています。
占有率を計算するアルゴリズムは、駐車場が空いているときの RAW の測定値に従う値を計算します。軸のRAW測定に追従できるように温度補正機能を備えています。
一般情報
データの取得はサイクルごとに行われます(サイクル時間は 8 [秒] から最大約 1 分まで)。この「スリープ期間」の間に、マイクロコントローラはセンサの電源をオフにします。
一般的な順序は次のとおりです。
割り込みを有効化(ブート割り込みを検出するため)、センサの電源をオン、10[ms]待機(データシート仕様)、割り込みを無効化、CTRL_REG2の設定、CTRL_REG1の設定、測定タイマーの開始、割り込みを有効化(測定の準備が完了したことを検出)、ウォッチドッグタイマーを120[ms]に設定(100[ms] + 20%のマージンの)、レジスタの読み取り、センサの電源をオフ、割り込みおよび汎用レジスタ制御を無効化(初期状態に戻す)。この手順は各サイクルごとに実行されます。
質問
この機会にいくつか質問させていただきます。
サポートとご愛顧に感謝いたします。
デニス G.
こんにちは、ダン。
「金属物体なし」のCASE、TCO は一定であるSO、傾き (変動) はほぼ同じになります。例えば、X軸のTCOが0.36 uT/°Cで磁場が50 uT(周囲温度25°C )の場合、((40-25)*0.36+50)となります。=> 40°Cで55.4 uT 、((-20-25)*0.36+50)=>-20°C で 33.8 uT 。これはデバイスの m セルに対する温度の影響です。
この法則は、「金属物体がある場合」の場合には実際には機能しません。つまり、m セルの TCO はまったく同じですが、残念ながら強磁性体の磁気の強さも温度によって変化します。
したがって、おそらく 2 つの異なるケースで同じ動作は発生しないでしょう。
アンソニー
こんにちは、アンソニー。
質問が 1 つあります。2 つの異なる温度 (摂氏 +40 度 / -20 度) で金属物体がある場合とない場合の大きさの変化を測定する場合、+40 度での変化は -20 度での変化と同一であるべきでしょうか。
こんにちは、ダン。
あなたが見ている現象はごく普通で、私たちはこれを温度係数オフセットと呼んでいます。
温度による磁気ドリフトを回避するには、MAG3110 の TCO (軸ごとに 1 TCO) を特性評価する必要があります。TCO はデバイスごとに異なるため、各磁力計に対して 1 回限りの校正を行わずに、生の測定値に直接補正式を適用することはできません。
センサをキャリブレーションするには、2 つの異なる温度 (DIE_TEMP レジスタ) で 3 軸の温度と磁場 (OUT_x_x レジスタ) を記録する必要があります。
温度勾配が大きいほど、TCO の計算精度は向上します。
次に、パラメータ計算に次の式を使用します。
TCO パラメータの特性を明らかにしたら、それを MCU フラッシュに登録することをお勧めします。
最後に、生の測定値(B_raw はオフセット補正データにもなります)ごとに、以下の数式を適用できます。
磁気値を補正するには、DIE_TEMP レジスタ値も取得する必要があることに注意してください。
以下に、この方法を使用して得られたキャリブレーション効果の改善の例を示します。
お役に立てれば幸いです。
車両検出システムの場合、オフセットキャリブレーション (HardIron) と TCO も使用できません。実際のところ、非常に短い時間間隔で磁気の変化を検出すればいいだけです。磁場のベクトル振幅 (VECM) ( sqrt(x²+y²+z²) ) を使用すると、長いドリフト (温度の影響) と急速な磁気ドリフト (車両の存在) を検出できるはずです。つまり、データ レートがたとえば 0.5Hz である VECM (以前の VECM - 現在の VECM) の 2 回の測定間で磁気値に大きな変化がない場合、そこに車は存在しません。このアルゴリズムは非常にシンプルで効率的であり、オフセットや温度ドリフトを気にする必要がありません。しかし、それは別の考え方です。
すてきな一日を、
アンソニー
こんにちは、アンソニー。
私はMAG3110を使用して車両検出システムを開発しています。MAGの起動時にデバイスが自動調整され、オフセットが設定されるようにしましたが、MAGを13〜41℃の温度(チップによって報告される)にさらすと、3軸の値が以下のように変化し始めます。
これは普通ですか?これを補うために NXP が提供している計算式はありますか?
よろしくお願いいたします。
ダン
こんにちは、アンソニー。
指定されたセンサーとそのシリコンの特性に依存するのは理にかなっています。
サポートいただきありがとうございます、助かりました。
よろしくお願いいたします。
デニス G.
こんにちは、デニス。
申し訳ありませんが、データシートに記載されているレジスタ以外のレジスタにはアクセスできません。
Z 軸の TCO については、グラフでは非常に小さいように見えるので、これは良いことです。しかし、これは幸運なことです。つまり、別のサンプルをテストすると、おそらく異なる動作が得られるでしょう。これは工場の調整ではなくシリコンに依存します。
アンソニー
こんにちは、アンソニー。
例をありがとうございます。
ある種の TCO は、 各センサの RAW 測定値と長期間の温度 を使用して、ゲートウェイから すでに 計算されています。
工場出荷時の校正について:
MAG3110 は、感度と感度の温度係数が工場で校正されています。すべての工場校正係数
測定が行われる前にASICによって自動的に適用され、結果はレジスタ0x01~0x06に書き込まれます。
ご指摘のとおり、温度係数オフセットについては、最終組み立てチェーンで各磁力計ごとに特性評価し、ファームウェアで補正することができます。
デバイス上のいくつかのレジスタを読み取ることで、特定のセンサの工場出荷時のキャリブレーション係数に関する情報を取得する可能性はありますか?
これは工場の校正係数に依存すると思いますか?
挨拶、
デニス G.
デニス、
私が TCO と呼んでいるものは、実際にはオフセットではなく、uT/°C または count/°C で表された傾きです。SO、OffsetUserCorrection レジスタを使用してセンサーを調整することはできません。TCOキャリブレーションのサンプルソースファイルを添付します。
アンソニー
こんにちは、アンソニー。
サポートとご愛顧に感謝いたします。
デニス G.
こんにちは、デニス。
最初のセットアップでは、キャップが取り外されるまで磁力計の電源がオフにならないため、データ収集ごとに磁力計に蓄積されたエネルギーがすべて失われます。
2 番目の構成では、1 番目の構成よりも消費エネルギーが少なくなります。
ありがとうございます
アンソニー
こんにちは、アンソニー。
ご回答ありがとうございます。参考になりました!申し訳ありませんが、以前はアプリケーションノートを見つけられなかったので、いくつかの疑問が確認されました。
文書( AN4984 )の図6に関して1つだけ言えることがあります。
1)
2)
MAG_PWR は MCU の GPIO に接続されます。
MAG VCC は VDD にコネクテッドです。
質問を正しく理解していれば、高速読み取りモードは無効になっており、完全な 16 ビット データ (OUT_X_MSB、OUT_X_LSB、OUT_Y_MSB、OUT_Y_LSB、OUT_Z_MSB、OUT_Z_LSB) が読み取られます。
よろしくお願いいたします。
デニス G.
こんにちは、デニス。
ワンショット測定における NXP 磁力計に関するアプリケーションノート ( AN4984 ) があります。あなたの疑問のいくつかに答えてくれるはずです。
データシート (2.1 表 3、5 ページ) の Tcs/TCO 行 (+-0.1 %/°C) に記載されているように、センサは工場で完全に温度校正されていません。
あなたのチャートに関して質問があります。磁力計の軸はカウント (LSB) ですか?
ありがとうございます
アンソニー